最近读到一篇关于 DeepSeek Harness 团队面试准备的文章,用「五岁小朋友都能听懂」的方式把 Agent 工程里的核心概念讲得很清楚。我整理成笔记,方便后续复习,也分享给正在准备相关岗位面试的同学。

核心等式
Model + Harness = Agent
| 角色 | 比喻 | 职责 |
|---|---|---|
| Model | 大脑 | 推理、语言 |
| Harness | 身体 | 工具、记忆、循环 |
| Agent | 能自主行动的机器人 | 感知 → 决策 → 行动 → 反馈 |
为什么模型本身不够?因为 LLM 是静态、无状态的;Harness 赋予它感知、行动、记忆和闭环学习的能力。DeepSeek Harness 团队的核心工作,就是为自家模型定制一套深度适配的 Outer Harness。
Harness 的组成
- 编排循环(Orchestration Loop)
- 工具(Tools)
- 记忆(Memory)
- 上下文管理(Context Management)
- 前馈引导(Feedforward Guides)
- 反馈传感器(Feedback Sensors)
Harness 架构分层
| 分层 | 组成 | 目标 |
|---|---|---|
| Built-in Harness | System Prompt、Code Retrieval、Orchestration Loop | 基础能力 |
| Outer Harness | Feedforward Guides + Feedback Sensors | 提高首次正确率、提供自我纠正能力 |
JD 强调的五个核心概念
1. Agent Loop(智能体循环)
五岁版:像玩「我说你做」的游戏——想一步、做一步、看结果、再想下一步,循环到任务完成。
面试版:本质上是一个 while(true) 循环:LLM 调用 → 检查是否有工具调用 → 执行工具 → 结果回送 LLM → 重复,直到 LLM 返回纯文本响应(终止信号)。ReAct 模式就是在这个结构上实现的。
防无限循环:max_turns 限制、wall-clock timeout、token/cost 预算、循环指纹检测。
2. KV Cache(键值缓存)
五岁版:背课文时记住前面几句,就不用重新读一遍。KV Cache 就是 LLM 的「短期记忆便签」。
面试版:KV Cache 是 Transformer 注意力层中的缓存机制。缓存 token 成本约 $0.30/百万,未缓存 $3/百万,相差 10 倍,这也是 Manus 团队列为最重要的成本指标。
关键技巧:
- 不能动态增删工具(会破坏前缀缓存),应使用 logit masking 替代
- 上下文压缩、tool result clearing 都是保持 KV Cache 命中率的手段
3. MCP(Model Context Protocol)
五岁版:就像一个通用电源插头,让所有模型都能用同一种方式连接各种工具。
面试版:MCP 是 Anthropic 开源的标准,用于连接 AI 助手与数据系统(内容仓库、工具、API)。它定义了客户端-服务端协议,工具通过统一的 MCP 服务器暴露。Harness 需要集成 MCP 来支持第三方工具生态。
4. Context Engineering(上下文工程)
五岁版:妈妈只在你书桌上放你需要的几本书,而不是把所有书都堆上去。
面试版:Context Engineering 是比 Prompt Engineering 更重要的前沿方向,核心有四种策略:
- 写:保存信息到外部
- 选:适时拉取
- 压:压缩上下文,减少 token
- 隔:子 agent 用新窗口隔离
数据:Manus 团队发现 tool responses 占 67.6% token,system prompt 仅 3.4%——优化 tool response 比优化 system prompt 有效 20 倍。
面试题:如何处理 context window 溢出?
- 自动压缩(如 Claude Code 在 95% 使用量时自动压缩)
- tool result clearing
- 滑动窗口
- 子 agent 隔离
5. Tool Use + Planning + Skills
五岁版:工具箱里有锤子、螺丝刀、剪刀,每种工具做不同的事。Agent 要学会选对的工具,还要先想好怎么做(Planning),再照着计划动手。Skills 就是你已经学会的技能,比如系鞋带、骑自行车。
面试版:
- 工具定义要像写优秀 docstring 一样认真
- 推荐 poka-yoke(防错设计) 接口,比如强制使用绝对路径来消除一类错误
- Planning:Agent 循环中可嵌入规划步骤(如 smolagents 的 PlanningStep)
- Skills:预定义能力,SkillOpt 提出把技能文档作为可优化的外部状态,通过 text-space optimization 迭代改进
- 多 agent 模式:Pipeline、Manager、Handoffs、Fan-out。内部评估显示 multi-agent 比 single-agent 好 90.2%,但 token 消耗约 15×
面试问题分类
技术深度
- 解释 Agent Loop 的终止条件设计
- 比较 Prompt Cache vs Semantic Cache
- KV Cache 的 eviction 策略有哪些?
- Prefill vs Decode 延迟区别
实践经历
- 你深度使用过哪些 Agent 产品?怎么融入工作?
- 你如何改进一个 Agent 的 Tool Use 质量?
- 你在 AI 辅助下学过多大的新领域?
- 你遇到过 Agent 的什么典型失败?如何调试?
模型-Harness 协同
- 如何让 Harness 设计反馈到模型训练?
- 什么是 Harness Coherence?如何防止前后矛盾?
- 如何评估 Harness 覆盖率?
- Multi-agent 的 token 成本如何控制?
用户与社群
- 如何用内部真实任务持续迭代产品?
- 你如何分析用户反馈并驱动改进?
- 如何维护开发者社群?
面试演练参考回答
Q:请解释「Model + Harness = Agent」,以及你在其中扮演的角色
Agent = Model + Harness 是行业共识。模型是推理引擎,但缺乏感知、工具、记忆和循环能力。Harness 提供编排循环、工具集成、上下文管理、内存系统和反馈控制。
我在 Harness 团队的角色是设计与实现 Outer Harness——包括前馈引导(LSP、CLI 脚本等)和反馈传感器(静态分析、测试、审查 agent),提高 Agent 首次正确率并提供自我纠正能力。同时,我需要与模型训练团队紧密合作,让 Harness 设计反馈到模型能力中,实现共同进化。
Q:你如何评估一个 Harness 的质量?有哪些指标?
| 维度 | 指标 |
|---|---|
| 效率 | KV-cache 命中率 |
| 正确性 | 首次正确率、自纠正成功率、是否需要人工干预 |
| 覆盖率 | Harness 覆盖率——是否所有常见失败模式都有对应的反馈传感器 |
| 一致性 | Harness Coherence——前馈引导和反馈传感器不矛盾 |
| 成本 | 每次任务的 token 消耗、推理成本 |
| 用户感知 | 开发者体验评分、任务完成时间 |
参考来源
以下内容来自原文提及的相关概念,仅作概念索引:
- Agent Harness — 核心定义:Agent = Model + Harness,外层 Harness 的 Feedforward/Feedback 架构
- Agent Core Loop — while(true) 循环结构、终止信号、框架对比、生产注意事项
- Advanced AI Engineering Concepts — Harness Engineering、Context Engineering、KV Cache、Prefill/Decode
- Agentic Systems — Augmented LLM、Workflow 模式、工具设计原则
- Model Context Protocol — MCP 标准、在 Harness 中的角色
- Context Engineering — 四种上下文管理策略(写、选、压缩、隔离)
- SkillOpt — 技能文档作为可优化外部对象、text-space optimization
- Claude Design — 一个完整的 Agent Harness 实例(45 tools, 24 skills、browser+VM 架构)
- The Log Is the Agent — Agent 身份由其经验日志定义
小结
如果把 Agent 比作一个机器人,那 Model 是大脑,Harness 是身体。DeepSeek Harness 团队要找的,正是能把前沿模型能力转化成领先 Agent 产品的「搭积木工程师」。这篇文章的价值在于,它把 JD 里每一个红色关键词都用「五岁版 + 面试版」讲透了,非常适合用来准备面试或者向非技术同学解释 Agent 工程。
评论
0 条评论