4762 字
24 分钟
Agent Harness 岗的核心学习方法

本文以 DeepSeek Harness 团队「Agent Harness 研发/工程方向」为目标岗位,通过对 bilibili 视频课程与 GitHub 开源项目的调研总结,系统阐述如何训练 Agent 开发与 Harness 工程能力。文章给出从基础到进阶的分阶段实操路线、可复现实验与阶段目标,避免泛泛而谈。

目录#

  1. 岗位定位:Harness 是什么、为什么重要
  2. 核心技能树:从 LLM 基础到 Harness 工程
  3. bilibili 学习资源:入门到进阶的视频路线
  4. GitHub 项目精读:读源码、学架构
  5. 训练路线:分阶段实操与可复现实验
  6. 对标招聘要求:能力映射与面试准备

1. 岗位定位#

1.1 一个公式:Model + Harness = Agent#

这是目标团队(DeepSeek Harness 团队)写在招聘里的团队使命。理解这个公式,就理解了整份 JD:

  • Model(模型):经过预训练/后训练的 LLM,提供”智能”本身——推理、知识、代码生成。
  • Agent(智能体):能自主完成任务的系统,会拆解目标、调用工具、迭代执行、自我纠错。
  • Harness(中间那一层):把模型”装”起来,让它变成 Agent 的全部工程脚手架——Agent Loop、工具调用、上下文管理、记忆、多智能体编排、评测、沙箱、可观测性。

打个比方:模型是”发动机”,Harness 是”整车底盘 + 变速箱 + 方向盘 + 仪表盘”。没有 Harness,模型只能回答问题;有了 Harness,模型才能做事。这正是为什么这个岗位叫 “Harness” 而不是 “Agent 应用开发”——它关注的是让 Agent 可靠跑起来的底层系统,而不是用框架搭一个聊天机器人。

1.2 岗位职责拆解#

JD 里明确列出了研究/工程/产品三个方向,核心职责可以归纳为四条:

  1. 定义并实现 Harness 前沿能力:上下文管理、长期记忆、Subagent 与 Multi-Agent、自进化 Agent、超长程任务。
  2. 模型与 Harness 的深度适配:与模型训练团队协作,让 Harness 和模型”共同进化”(而不是 Harness 单向适配模型)。
  3. 构建评测体系:提出基准测试与评测方法、构建评测数据、制定标注策略,从 Harness 角度持续优化 Agent 智能水平。
  4. 以真实任务为反馈源:把用户反馈、真实世界任务变成数据与实验,持续迭代 Agent 在真实场景的表现。

1.3 核心价值:Harness 是 Agent 的”护城河”#

为什么专门设一个 Harness 团队,而不是让普通后端工程师顺便做?因为模型能力在快速平价化,而 Harness 工程是差异化竞争点

  • 同样的模型,Harness 的好坏直接决定 Agent 能不能处理超长程、多步骤、需记忆、需协作的真实任务。
  • 评测(eval)决定了团队能不能量化”Agent 是否真的变强了”,这是模型与 Harness 共同进化的前提。
  • 上下文管理与记忆机制,直接决定 Agent 在真实工作流里的”续航能力”和”智商天花板”。

一句话总结:Harness 工程师是”模型之上的系统工程师”,既要有算法品味(理解模型行为),又要有工程硬功(状态管理、并发、沙箱、可观测性)。


2. 核心技能树#

对照 JD 的关键词,可以把 Harness 岗的技能树拆成七层,从下到上:

层级技能域关键知识点(JD 原词)掌握标准
L1 基础LLM 机制LLM API、KV Cache、token、上下文窗口、推理/思考模型能解释 KV Cache 为何是长上下文/长任务的性能瓶颈
L2 核心Agent 机制Agent LoopTool UseReasoningPlanning能手写 ReAct Loop,理解 ReAct/CoT/Reflexion/ToT 的差异
L3 上下文上下文工程Prompt EngineeringContext EngineeringMemory、上下文压缩/卸载能设计记忆分层 + 上下文窗口管理策略
L4 工具工具与协议SkillsMCP、工具注册/沙箱/权限能写 MCP Server、封装工具、设计工具 schema
L5 编排多智能体SubagentMulti-Agent、编排模式、通信能手写 supervisor / handoff / 图编排三种模式
L6 评测评测体系benchmark、eval harness、trajectory scoring、pass@k能搭一套可复现评测 + 做 error analysis
L7 工程工程化框架选型、状态持久化、checkpoint、可观测性、沙箱、部署能做 durable execution、human-in-the-loop

2.1 三个 Engineering 课题(JD 反复强调)#

JD 里把三个概念并列提出,这是 Harness 岗的理论主线,值得单独拎出来:

  • Prompt Engineering(提示词工程):让单次调用输出高质量结果。入门门槛低,但天花板在于”结构化输出、少样本、指令设计”。
  • Context Engineering(上下文工程)把”给模型什么上下文”当成一个系统问题来设计——哪些历史要保留、哪些工具结果要压缩、如何分层记忆、如何做上下文卸载(offload)。这是 Harness 岗与普通 Agent 教程的核心分野。
  • Harness Engineering(Harness 工程):把上面所有东西做成可靠、可评测、可观测、可复现的系统——状态图、checkpoint、并发、沙箱、评测闭环。

一句话记忆:Prompt 管”一次调用”,Context 管”一个会话”,Harness 管”整个系统”。

2.2 一个隐藏技能:成为 Agent 产品”重度用户”#

JD 每个方向都要求”深度使用过代码类及通用类 Agent 产品”(Claude Code、Cursor、Codex、Manus、OpenClaw、Hermes 等),并且”把使用融入工作生活”。这不是客套话——对模型行为有品味、有判断力,只能靠大量真实使用积累。这也是后面训练路线里”阶段 0”要做的第一件事。


3. bilibili 学习资源#

调研结论:B 站上的 Agent 课程主要分四类,各自解决不同问题。按学习顺序推荐如下。

优先级资源 / UP主BV 号 / 链接解决什么问题适合阶段
★★★吴恩达《Agentic AI》BV1aaxyz8ELYBV1DfrdByE2H四大设计模式(反思/工具/规划/多智能体)、evals 评估、MCP,官方中英字幕入门→进阶
★★★李宏毅《AI Agent 系统设计》2025/2026BV1o3wvzUEDD零基础概念入门,“复仇者联盟”类比多智能体,生动易懂零基础
★★★微软《AI Agents for Beginners》BV18TZYY8EuJ(GitHub 5万+星,12 课时中文)系统性:从概念到工具调用、记忆、多智能体全覆盖零基础→入门
★★☆李沐《动手学 AI Agent》B 站搜”李沐 Agent”从零手搓多智能体框架,ReAct/AutoGPT 论文逐句精读进阶
★★☆尚硅谷 LangChain / LangGraph 实战B 站搜”尚硅谷 LangChain”框架 API 实战,工程落地入门→进阶
★★☆Hugging Face《Agents Course》B 站搜”HF Agents Course”(官网 huggingface.co/learn/agents-course)生产级框架 smolagents / LangGraph 实战,补”跑得起来”的缺口进阶
★☆☆各类 MCP / Claude Code 实战视频BV1oecTzKELA(86 集 LLM+MCP 实战)工具协议与真实 Agent 产品上手全程穿插

几点选课建议(避免踩坑)

  1. 先刷吴恩达《Agentic AI》:它把”反思、工具使用、规划、多智能体”四个设计模式和 evals(评估) 讲得最清楚,而 evals 恰恰是 Harness 岗最核心、也是绝大多数教程最缺的一块。
  2. 李宏毅负责”建立直觉”,微软《AI Agents for Beginners》负责”系统覆盖”——两个二选一即可,都看完反而拖节奏。
  3. 框架类视频(LangChain/LangGraph)不要只看不写。B 站教程普遍”演示多、原理解释少”,看完一定要配合第 5 节的动手项目。
  4. 警惕”全 X 百集、七天成大神”类搬运合集:这类视频多为营销搬运,结构松散、无版权标注。优先选 UP 主本人或官方频道(DeepLearning.AI、Hugging Face、Datawhale 等)的内容。

4. GitHub 项目精读#

GitHub 项目分三类精读:评测 Harness(对标 “harness” 本义,最重要)、Agent 框架(学架构)、手搓/教学项目(练工程感)。

4.1 评测 Harness:理解 “harness” 一词的出处#

EleutherAI/lm-evaluation-harness(11k+ star)

  • 架构:把评测拆成”模型接口”与”任务定义”两半。任何模型只需实现 lm_eval.api.model.LM 的三个原语——loglikelihood(多选题对数概率)、loglikelihood_rolling(困惑度)、generate_until(自由生成)——即可接入 60+ 标准基准。任务从 v0.4.0 起从 Python 子类迁移到 YAML 配置,降低加新 benchmark 门槛。
  • 可借鉴的 Harness 实践:① 统一抽象(模型后端与任务解耦);② YAML 声明式任务定义;③ 结果缓存保证可复现;④ 任务版本号(task version)确保跨时间对比公平。它是 Hugging Face Open LLM Leaderboard 的评测后端,是”评测 harness”的事实标准。

SWE-bench / SWE-agent(Princeton)

  • 架构:SWE-bench 收集 2294 个真实 GitHub issue + 对应 PR,用 FAIL_TO_PASS / PASS_TO_PASS 测试作为评测信号——模型要改代码让原本失败的测试通过。SWE-agent 是第一个基于 Agent 的系统,用 ReAct 循环 + Agent-Computer Interface(ACI) 设计(精简的文件/编辑/搜索工具)刷出 12.47% 的 baseline。
  • 可借鉴的 Harness 实践:① 执行即评测(execution-graded,跑测试而不是看文本相似度);② 工具接口设计(ACI)对 Agent 性能影响巨大;③ 轨迹打分(trajectory scoring)能区分”差一步就对”和”完全跑偏”两种失败——这是比”最终对错”更细粒度的评测信号。

All-Hands-AI/OpenHands(原 OpenDevin)

  • 架构:代码 Agent 平台,基于 事件流(event stream)架构,Agent 的每个 action/observation 都是事件,可回放、可注入、可评测。内置 CodeActAgent(统一 action space:把”动作”统一为”执行一段代码”)。
  • 可借鉴的 Harness 实践:事件流让 Agent 执行完全可审计、可回放、可作为训练数据——这正是”以真实任务为反馈源、持续迭代”的落地形态。

其他值得扫一眼的评测项目:UKGovernmentBEIS/inspect_ai(自定义 agent eval 的框架,标准化推荐)、ServiceNow/BrowserGym + AgentLab(Web 环境评测)、sierra-research/tau-bench(工具+用户仿真,pass^k 可靠性指标)、GAIA/WebArena/AgentBench/OSWorld(多环境基准)。

4.2 Agent 框架:读架构、学取舍#

调研结论(2026 年年中,star 数与版本随时变动,以下为方向性结论):

框架心智模型核心原语何时用
LangGraph(langchain-ai)状态图StateGraph、checkpointer、human-in-the-loop生产级多智能体、需持久化/恢复/审批
AutoGen → Microsoft Agent Framework对话/actorGroupChat、异步事件开放讨论、红队、辩论(成本偏高)
CrewAI(crewAIInc)角色分工role/goal/backstory + crew + process内容流水线、快速原型
OpenAI Agents SDKhandoff 交接Agent + handoffs + guardrails + sessions快速交付、OpenAI 生态
smolagents(huggingface)code-firstCodeAgent(让 LLM 写 Python)可审计、极简、HF 生态

关键取舍(面试常考)

  • LangGraph 是生产默认:durable execution(crash 后从 checkpoint 恢复)、human-in-the-loop、时间旅行调试。代价是学习曲线陡、对简单 agent 显得重。
  • AutoGen 的 GroupChat 成本失控:同一任务可能多出 5~6 倍 token 调用,因为每轮都拉全量 transcript 进上下文——这是”编排方式决定成本”的典型例证。
  • smolagents 的”code-first”是趋势:让 LLM 直接写代码而非走严格的 function-calling 格式,动作空间更灵活、可审计性更好,值得精读其 ~1000 行核心源码。
  • OpenAI Agents SDK 的 handoff 是”委派即原语”:triage agent 判断意图后交接给专家 agent,状态通过对话历史流动,心智模型干净但状态默认短暂。

读源码建议:不要五个都读。精读 smolagents(最小可读)→ 精读 LangGraph(生产代表),其余读文档 + 跑 demo 即可。

4.3 手搓/教学项目:练 “harness 工程感”#

  • datawhalechina/hello-agents:从零手搓一个 Agent 框架,无第三方依赖。强烈推荐——只有自己搭过状态图、持久化、工作流编排,出问题才知道断在哪。
  • microsoft/ai-agents-for-beginners:12 课时的系统入门,含完整中文,覆盖 Agent 概念、工具、记忆、多智能体。
  • MCP(modelcontextprotocol):不是”项目”而是”协议”,但 modelcontextprotocol/servers 是理解 Skills/MCP 工具生态的必读。JD 明确把 MCP、Skills 列为知识点。

5. 训练路线#

从零到对标岗位,按 6 个阶段推进。每阶段给出目标、动手项目、可复现实验、验收标准。总周期建议 3~6 个月(有后端/算法基础可压缩)。

阶段 0:成为 Agent 重度用户 + 补 LLM 基础(1~2 周)#

  • 目标:建立”对模型行为的品味”,这是 JD 反复要求、面试最难伪装的能力。
  • 动手:把 Claude Code / Cursor 接入你的日常——用它们写代码、读代码库、重构。记录:什么时候它”神”,什么时候它”蠢”(死循环、改错文件、忘记目标)。
  • 实验:同一个任务,分别用 Cursor、Claude Code、Manus 跑,对比工具调用轨迹、失败模式、token 消耗。
  • 验收:能写出 200 字的”Agent 行为观察笔记”,能解释 KV Cache 为什么是长任务瓶颈。

阶段 1:手搓最小 Agent Loop(2~3 周)#

  • 目标:不依赖任何框架,理解 Agent Loop / Tool Use / ReAct 的底层。
  • 动手项目:用 Python 写一个 ReAct Agent——LLM 输出 Thought → Action → Observation 循环,调用 2~3 个真实工具(搜索、计算器、文件读写)。
  • 可复现实验:① 对比”带 ReAct 循环” vs “单次生成”解决多步任务的正确率;② 加入 max_iteration / 循环检测,观察死循环如何被切断。
  • 验收:核心循环 < 200 行可读代码;能画出 ReAct 的状态机图。
# 最小 ReAct 循环(伪代码,用于理解,非生产实现)
def react_loop(task: str, tools: dict, llm, max_iter: int = 10):
messages = [{"role": "system", "content": SYS_PROMPT}] # 包含工具 schema
messages.append({"role": "user", "content": task})
for _ in range(max_iter):
out = llm(messages) # Thought + Action(JSON)
thought, action = parse(out) # 解析出动作与参数
if action.name == "finish":
return action.args["answer"] # 终止
obs = tools[action.name](**action.args) # 执行工具,得到 Observation
messages.append({"role": "assistant", "content": out})
messages.append({"role": "user", "content": f"Observation: {obs}"})
raise TimeoutError("agent loop 超过最大迭代")

阶段 2:框架实战 + 上下文工程(3~4 周)#

  • 目标:用 LangGraph 落地,重点攻克记忆与上下文管理
  • 动手项目:把阶段 1 的 Agent 用 LangGraph 重写,加入 ① checkpointer(持久化,crash 后恢复);② 短期记忆(滑动窗口)+ 长期记忆(向量库/摘要);③ human-in-the-loop 审批节点。
  • 可复现实验:对比”无记忆 vs 滑动窗口 vs 摘要压缩”在长对话任务中的 token 消耗与正确率,量化上下文管理收益。
  • 验收:能解释 StateGraph 的状态流;能实现 checkpoint 恢复与时间旅行调试。

阶段 3:多智能体编排 + MCP 工具生态(3~4 周)#

  • 目标:掌握 Subagent / Multi-Agent 与工具协议。
  • 动手项目:实现一个 supervisor 模式的多智能体(研究员 + 写手 + 评审),并写一个自定义 MCP Server 让 Agent 调用。
  • 可复现实验:对比”单 Agent” vs “supervisor 多 Agent” vs “GroupChat 多 Agent”在同一任务上的成功率与成本,验证”编排方式决定成本”。
  • 验收:能手写 handoff / 图编排 / supervisor 三种模式并说清取舍。

阶段 4:评测体系(4~6 周,Harness 岗核心)#

  • 目标:搭一套可复现的 eval harness,这是与普通 Agent 开发者拉开差距的关键。
  • 动手项目:① 用 lm-evaluation-harness 的 YAML 自定义一个任务;② 用 SWE-bench Lite 跑一个基线 Agent(可参考 smolagents 或 SWE-agent 的最小实现);③ 自建 2050 题的个人 benchmark,对阶段 13 的 Agent 做 error analysis。
  • 可复现实验:对同一 Agent 分别做 outcome 打分 vs trajectory 打分,验证”最终对错”如何掩盖”差一步就对”。
  • 验收:能写出一份 eval 报告,含失败模式分类 + 下一步改进优先级(这正是吴恩达《Agentic AI》模块 4 讲的”误差分析”)。

阶段 5:真实项目 + 开源贡献(长期)#

  • 目标:把能力沉淀为可展示的开源作品(JD 加分项)。
  • 动手项目:做一个端到端的 Agent 产品(如代码维护 Agent、研究 Agent、数据分析 Agent),开源并写好 README、eval 结果、trace 回放。
  • 复现实验:提交 PR 给 smolagents / LangGraph / lm-eval / SWE-bench 等社区(哪怕修文档、加 test)。
  • 验收:有 1~2 个能放进简历的开源项目 + 若干社区 PR。

6. 对标招聘要求#

把 JD 的任职要求逐条映射成”学习完成后应具备的能力”,并给出面试准备方向。

6.1 能力映射表#

JD 要求(研发/工程方向)对应训练阶段面试验证方式
熟悉 LLM + Agent 机制(LLM API、KV Cache、Agent Loop、Tool Use、Reasoning、Planning、Skills、MCP、Memory、Subagent、Multi-Agent)阶段 0~3白板画 Agent Loop 状态机;解释 KV Cache;比较编排模式
深入理解 Prompt / Context / Harness Engineering阶段 2、4现场设计一个记忆分层 + 上下文窗口管理方案
熟练使用 AI Agent 工具做软件开发阶段 0 贯穿全程展示你用 Claude Code/Cursor 做项目的实际经历与效率收益
是 Agent 产品重度用户,对模型行为有品味阶段 0谈对某个 Agent 产品”神/蠢”时刻的具体观察
技术水平过硬、眼界广阔(架构与选型)阶段 2~4框架选型题:什么场景选 LangGraph 还是 smolagents
真实任务作反馈源、持续迭代产品阶段 4、5讲你的 eval → error analysis → 改进闭环

6.2 面试准备清单#

  1. 三个必答理论题:① 什么是 Harness,Model + Harness = Agent 怎么理解;② Prompt / Context / Harness Engineering 三者的边界;③ 评测的 outcome vs trajectory 打分差异。
  2. 一个必带的项目:一个带评测、带 trace、开源的 Agent 项目(阶段 5 的产出),重点讲”我怎么评测它、怎么改进它”。
  3. 三个可现场手撕的小题:手写 ReAct Loop、设计一个 MCP 工具 schema、画一个 supervisor 多智能体的状态图。
  4. 一页”产品观察”:你深度使用过的 2~3 个 Agent 产品,各自的优点、失败模式、你作为 Harness 工程师会怎么改。

6.3 简历项目建议(按含金量排序)#

  1. 一个自建 eval harness + benchmark + error analysis 报告(最稀缺、最对味)。
  2. 一个多智能体 + 记忆 + 持久化的端到端产品(LangGraph 实现)。
  3. 一个最小可读的 ReAct/CodeAct Agent 框架(手搓,展示工程功底)。
  4. 开源社区 PR(哪怕小,证明能跟社区协作)。

总结#

Harness 岗的本质是:在模型之上做”可靠系统”的人。学习路径的底层逻辑只有一条——先成为 Agent 的重度用户(建立品味),再手搓理解底层(建立直觉),然后上框架做工程(建立硬功),最后用评测闭环迭代(建立判断力)。B 站负责补”概念与直觉”,GitHub 源码负责补”架构与工程感”,而真正拉开差距的,永远是你自己搭的那套 eval harness 和那份 error analysis 报告。

参考资料#

岗位

  • DeepSeek Harness 团队招聘(mokahr):https://app.mokahr.com/social-recruitment/high-flyer/140576#/job/8d40c764-d2b2-49b1-826c-e3f2adb75c01

bilibili 视频

  • 吴恩达《Agentic AI》:BV1aaxyz8ELYBV1DfrdByE2H
  • 李宏毅《AI Agent 系统设计》2026:BV1o3wvzUEDD
  • 微软《AI Agents for Beginners》B 站版:BV18TZYY8EuJ
  • 李沐《动手学 AI Agent》:B 站搜”李沐 Agent”
  • Hugging Face Agents Course:huggingface.co/learn/agents-course

GitHub 项目

  • 评测 Harness:EleutherAI/lm-evaluation-harnessSWE-bench/SWE-benchSWE-agent/SWE-agentAll-Hands-AI/OpenHandsUKGovernmentBEIS/inspect_ai
  • Agent 框架:langchain-ai/langgraphmicrosoft/autogen(→ Microsoft Agent Framework)、crewAIInc/crewAIopenai/openai-agents-pythonhuggingface/smolagents
  • 教学/手搓:datawhalechina/hello-agentsmicrosoft/ai-agents-for-beginners
  • 协议:modelcontextprotocol/servers

经典论文(按需精读)

  • ReAct(arXiv:2210.03629)、Chain-of-Thought(arXiv:2201.11903)、Reflexion、Tree of Thoughts
  • SWE-bench(Jimenez et al., ICLR 2024)、CodeAct(OpenHands)、GAIA、WebArena、τ-bench、AgentBench
Agent Harness 岗的核心学习方法
https://chaggle.github.io/posts/2026/08/14/agent-harness-learning-guide/
作者
chaggle
发布于
2026-08-13
许可协议
CC BY-NC-SA 4.0