Agent Engineering

从 Prompt 工程到 Agent Loop:Agent 工程范式的六层演进

Prompt 工程、上下文工程、MCP、Skills、Harness 和 Agent Loop 不是彼此替代的流行词,而是一条逐层增强的工程链路:从“让模型答得更好”,走向“让智能系统可行动、可复用、可验证、可收敛”。

资料整理日期:2026-06-20 面向:AI 工程师、Agent 平台团队、技术负责人
6 层 从 Prompt 到 Loop 的工程栈
15 份 官方文档、论文和工程资料
1 个 面向生产系统的收敛框架
抽象的 AI Agent 工程系统,包含工具、测试台和反馈回路
主视觉:Agent 不再只是一次性回答,而是在上下文、工具、技能和验证环境中持续行动。
核心判断: Agent 工程的关键变化,不是 Prompt 写法越来越花,而是系统边界越来越清楚。Prompt 解决表达,上下文解决信息,MCP 解决连接,Skills 解决经验复用,Harness 解决验证,Agent Loop 解决持续收敛。

一张图看懂这条演进链

这不是一组横向概念,而是一套逐步补齐系统能力的路线:先把指令说清楚,再把材料组织好,然后连接外部世界,沉淀可复用技能,最后用验证环境驱动循环收敛。

Prompt 工程 把意图变成模型能执行的一次性任务说明。
上下文工程 决定模型在每一步应该看见哪些事实。
MCP 把数据、工具和工作流标准化接入 Agent。
Skills 把团队经验打包成可加载、可复用能力。
Harness 用测试、评测、日志和回放定义“做对了”。
Agent Loop 让系统在反馈中计划、行动、验证和修正。

1. 为什么这条链路成立

早期使用大模型时,工程重点集中在 Prompt:怎样写角色、怎样给示例、怎样限定格式、怎样减少歧义。随着模型能够使用工具、处理长上下文、执行多步任务,问题逐渐变成:模型知道哪些信息?可以调用什么系统?能否复用团队流程?执行结果如何验收?失败之后是否能自我修正?

因此,Agent 工程不是“Prompt 工程过时了”,而是 Prompt 被放进了更大的系统结构里。Prompt 仍然重要,但它只负责“表达意图”;真正的生产系统还需要上下文选择、工具协议、技能封装、评测环境和循环控制。

早期用法:把模型当回答器

  • 一次 Prompt 承担所有表达、背景和约束。
  • 结果主要靠人工阅读判断好坏。
  • 失败后靠重新提问,而不是系统性反馈。

Agent 工程:把模型放进系统

  • 上下文、工具、技能和验证环境分工明确。
  • 每轮行动都有观察、trace 和验收信号。
  • 失败会进入下一轮计划,直到通过或停止。
Prompt 工程 把任务说清楚,约束输出,提供示例。
上下文工程 选择、压缩、更新模型真正需要的信息。
MCP 以标准协议连接数据、工具和工作流。
Skills 把领域知识、脚本、模板和流程打包复用。
Harness 提供测试、评测、日志、回放和安全边界。
Agent Loop 计划、行动、观察、验证、反思,直到收敛。

2. 六层能力模型

读这张表的方式

每一层都不是“新名词”,而是在回答一个工程问题:当 Agent 要在真实系统里行动时,哪些能力必须从 Prompt 里拆出来,变成独立、可维护、可验证的模块?

表达层Prompt
信息层Context
连接层MCP + Tools
复用层Skills
验证层Harness
控制层Agent Loop
层级 核心问题 主要产物 失败信号
Prompt 工程 如何让模型理解一次任务? 指令、约束、示例、输出格式、评分口径。 回答跑偏、格式不稳、需要反复追问。
上下文工程 模型当前应该知道什么,不应该知道什么? 检索策略、上下文包、摘要、记忆、状态压缩。 上下文污染、遗漏关键事实、长上下文里注意力漂移。
MCP Agent 如何标准化连接外部系统? MCP server、tools、resources、prompts、权限策略。 工具接入碎片化、重复适配、权限和数据边界混乱。
Skills 如何把专家经验变成可复用能力? SKILL.md、参考材料、脚本、模板、检查清单。 每次都要重新解释流程,团队最佳实践无法稳定复用。
Harness 如何判断 Agent 做得对不对? 测试环境、fixture、eval、trace、回放、CI、沙箱。 只能凭感觉验收,无法复现失败,改动没有回归保护。
Agent Loop 如何让系统自动逼近目标? 计划器、执行器、观察器、评分器、反思机制、停止条件。 无限循环、成本失控、为通过测试而破坏真实目标。

3. Prompt 工程:单次指令的质量控制

Prompt 工程解决的是最基础也最容易被低估的问题:把人的意图转换为模型可执行的任务描述。OpenAI 的提示工程材料强调清晰指令、充足上下文、示例、输出格式和迭代改写,这些仍然是 Agent 系统的地基。

目标要完成什么
边界能看什么、不能做什么
格式如何交付
验收什么算完成

Prompt 像一份任务合同

它不只是“请你帮我做 X”,而是把目标、约束、交付格式和验收标准写进同一个任务边界。Agent 后续可以调用工具和技能,但最初的方向仍然来自这份合同。

负责

Prompt 负责什么

定义角色、任务、约束、输入输出、判断标准和禁止事项。它是模型单次推理的“任务合同”。

不负责

Prompt 不负责什么

它不应该承担长期记忆、工具权限、环境状态、测试执行和失败回滚。这些需要后续几层系统能力接管。

一个工程化 Prompt 通常包含:

1. 任务目标:要完成什么
2. 上下文边界:可以参考哪些信息
3. 操作约束:哪些事情不能做
4. 输出格式:用什么结构交付
5. 验收标准:什么情况算完成
6. 失败策略:不确定时如何处理

4. 上下文工程:把正确材料放进工作记忆

上下文工程把问题从“怎么写一句好 Prompt”推进到“模型推理时到底看到了什么”。Anthropic 对 context engineering 的定义强调:它是围绕 LLM 推理时 token 集合的策展和维护,包括 Prompt 之外进入上下文的一切信息。

这对 Agent 尤其关键,因为 Agent 会经历多轮工具调用、日志观察、局部失败、状态更新和任务拆解。如果上下文不断堆叠,系统会出现“越做越糊”的现象;如果上下文过度裁剪,又会丢掉关键线索。

上下文不是资料仓库

更像一个动态工作台:每轮只摆出当前需要的材料,把旧记录压缩成状态,把失败线索保留下来,把无关噪音移出视野。

选择相关文件、日志、需求
压缩摘要、状态、决策
隔离子任务、权限、边界
更新观察、失败、反馈
上下文动作 工程含义 典型实现
选择 让模型看到最相关的文件、需求、日志和历史决策。 检索、引用追踪、依赖图、代码索引。
压缩 把长历史变成结构化摘要,同时保留决策依据。 状态摘要、任务卡片、失败记录、变更日志。
隔离 避免不同子任务互相污染,降低注意力漂移。 子 Agent 独立上下文、按模块拆包、只读参考包。
更新 让观察结果、测试失败和人工反馈进入下一轮。 trace、memory、scratchpad、issue log。
上下文工程的目标不是“塞更多资料”,而是让 Agent 在每一步都拥有足够但不过载的信息。上下文越长,越需要选择、分层和压缩。

5. MCP:把外部世界标准化接进来

MCP,也就是 Model Context Protocol,是把 AI 应用连接到外部系统的开放标准。官方规范把 server 能提供的能力分为三类:Resources 提供上下文和数据,Prompts 提供模板化消息和工作流,Tools 提供可执行函数。

在 Agent 工程里,MCP 的价值不是“又一种插件格式”,而是把工具接入从项目私有适配,推进到可发现、可描述、可授权、可复用的协议边界。一个 Agent 不需要为每个 SaaS、数据库、文件系统单独发明接法,而是通过 MCP client 发现和调用 server 暴露的能力。

Agent Host MCP Client 负责发现、描述和调用外部能力
Resources 文档、代码、工单、数据库记录,作为上下文进入模型。
Prompts 团队沉淀的消息模板、工作流入口和任务脚手架。
Tools 可执行函数:查库、发请求、创建 issue、读取文件。
Policies 权限、审批、审计和参数校验,决定哪些动作能执行。
Tracing 记录每次工具调用、输入输出和失败原因。
Reuse 同一套 server 能被多个 Agent、IDE 或内部平台复用。
Agent Host
  └─ MCP Client
       ├─ MCP Server: GitHub
       │    ├─ resources: issues, PRs, files
       │    ├─ prompts: release-note workflow
       │    └─ tools: create_issue, comment_pr
       ├─ MCP Server: Database
       │    └─ tools: query, explain_plan
       └─ MCP Server: Internal Docs
            └─ resources: policies, specs, runbooks
MCP 把工具接入变容易,也把安全边界变得更重要。生产环境里必须设计权限、审计、参数校验、危险工具审批和最小可用能力。

6. Skills:把组织经验沉淀成可调用能力

如果 MCP 解决“Agent 能连什么”,Skills 解决“Agent 应该怎么做”。OpenAI Codex、Anthropic Claude 和 Agent Skills 社区对 Skills 的描述都很接近:一个 Skill 通常是包含 SKILL.md 的文件夹,里面可以放说明、脚本、模板、参考材料和资源。Agent 在任务相关时再加载完整技能,避免一开始就把所有流程塞进上下文。

Skills 的真正价值在企业内部会非常大。它可以把“资深工程师脑子里的流程”变成 Agent 可读、可执行、可分发的知识包。例如:如何发布一个版本、如何分析线上事故、如何写符合公司规范的 SQL、如何做安全审计、如何生成某种格式的客户报告。

SKILL.md 触发条件、执行步骤、边界和注意事项。
scripts/ 把稳定动作交给脚本,减少模型自由发挥。
references/ 放规范、术语表、案例和领域知识。
templates/ 统一报告、PR、方案和交付物格式。
Skill 内容 作用 例子
说明文件 告诉 Agent 何时使用、如何执行、注意什么。 SKILL.md 中的触发条件、步骤、限制。
脚本 把稳定操作交给确定性程序完成。 渲染文档、生成报表、批量校验、格式转换。
参考材料 提供领域规则和组织标准。 品牌规范、代码规范、合规要求、术语表。
模板 降低输出风格漂移。 PR 描述模板、事故复盘模板、方案设计模板。

7. Harness:让 Agent 的结果可验证

Harness 可以理解为 Agent 的“工程试验台”:它不只是跑测试,还包括复现环境、样例数据、评测集、日志、trace、回放、权限沙箱、成本统计和人工验收入口。没有 Harness,Agent Loop 只能靠感觉收敛;有了 Harness,系统才能把失败变成下一轮可用的反馈。

OpenAI Evals、Anthropic 的 agent evals 与 long-running harness 文章、Inspect AI 和 SWE-bench 都指向同一个事实:评测不只是给模型打分,而是把“什么叫好”变成可运行的反馈机制。尤其在软件工程任务里,SWE-bench 这类基准强调真实 issue、可复现环境和一致的 evaluation harness,正好体现了 Harness 对 Agent 的约束意义。

环境 依赖、配置、fixture、沙箱和权限边界。
测试 单测、集成测试、回归集和任务验收脚本。
评测 评分器、样例集、失败分类和基准对比。
观测 日志、trace、成本、延迟和工具调用记录。
接管 审批点、停止条件、回滚策略和人工 review。

Harness 的底层组件

环境初始化、fixture、测试命令、评测脚本、工具权限、日志和 trace、成本统计、结果报告。

Harness 的上层价值

把“模型觉得完成了”转换为“系统验证通过了”,并在失败时提供可定位、可回放的证据。

一个实用的 Agent Harness 至少回答这些问题:

1. 如何一键复现当前问题?
2. Agent 可以读写哪些资源?
3. 通过哪些测试或 eval 才算完成?
4. 每轮行为是否有 trace 和日志?
5. 失败样例是否会进入回归集?
6. 超时、超预算、危险操作如何停止?
7. 人类在哪些节点审批或接管?
注意:OpenAI 的 Evals 平台在官方文档中已标注退场时间表,但“把目标具体化、运行评测、基于失败改进”的方法论并没有过时。工程上可以用自建 eval、Inspect AI、SWE-bench 风格环境或团队内部 Harness 承接。

8. Agent Loop:从回答走向闭环行动

Agent Loop 是这条链路自然长出来的结果。当前面几层都存在时,Agent 不再只是“回答一次”,而可以持续执行:理解目标、制定计划、调用工具、观察结果、运行验证、反思失败、更新上下文,然后继续下一轮。

ReAct 论文提出把 reasoning 和 acting 交错进行,让模型一边推理一边通过行动获得外部观察。Reflexion 进一步强调,语言 Agent 可以从反馈信号中生成反思,并把反思放入记忆来改善后续尝试。Voyager 则展示了更长期的循环:自动课程、技能库和迭代 prompting 组合在一起,让 Agent 在环境反馈中积累可复用行为。

目标 接收任务、约束和验收标准。
上下文 选择材料、加载 Skills、发现工具。
计划 拆解步骤、评估风险、决定下一步。
行动 调用工具、修改文件、查询系统。
观察 收集输出、日志、错误和环境反馈。
验证 运行测试、eval、人工审批或评分器。
收敛 通过则停止,失败则反思并进入下一轮。
停止条件 通过验收、达到上限、风险升高或需要人工判断。
预算控制 限制时间、token、工具调用次数和并行探索规模。
回滚策略 保留 diff、日志和测试结果,必要时恢复到已知状态。
反馈记忆 把失败原因、修复尝试和评测结果写回下一轮上下文。
人类接管 高风险操作、价值判断和模糊需求需要人工确认。
防止投机 避免只为通过测试而破坏真实目标或长期可维护性。

Agent Loop 不是无限循环

一个成熟的 Agent Loop 必须具备停止条件、预算控制、风险分级、回滚策略和人类接管点。否则它只是在自动消耗 token,甚至可能为了通过局部测试而破坏真实目标。

伪代码:

while budget.available():
    context = build_context(task, memory, traces)
    action = agent.plan_and_act(context, tools, skills)
    observation = harness.observe(action)
    score = harness.evaluate(observation, acceptance_criteria)

    if score.passed:
        return final_report(action, observation, score)

    if score.requires_human or risk_too_high(action):
        return ask_for_review(action, observation, score)

    memory.add(reflect(observation, score))

return stop_with_partial_report(memory, traces)

9. 可量化指标

如果把 Agent 工程当作企业能力建设,就不能只看“模型回答是否惊艳”。更可靠的指标应该覆盖速度、质量、成本、可复现性和人机协作效率。

速度 想法到 Demo、需求到 PR、每轮验证耗时。
质量 测试通过率、缺陷密度、回归捕获率。
成本 token、工具调用、人工介入和失败重试。
复现 问题、环境、trace 和结果是否可回放。
风险 越权操作、线上事故、维护成本和投机行为。
指标类别 指标 解释
落地速度 Idea to Demo Time、Idea to PR Time 从想法到可运行原型或可 review 代码的时间。
上下文质量 Context Relevance、Missing Context Rate 给 Agent 的材料是否相关,关键材料是否遗漏。
工具可靠性 Tool Success Rate、Permission Violation Rate 工具调用是否成功,是否触发越权或危险操作。
Skill 复用 Skill Activation Accuracy、Workflow Reuse Rate Skill 是否在正确任务中被调用,流程是否被团队复用。
Harness 能力 Reproducibility、Regression Catch Rate 失败能否复现,回归问题能否被自动发现。
Loop 收敛 Loop Count to Pass、Human Intervention Rate 达到验收需要几轮,需要多少人工介入。
生产风险 Change Failure Rate、Post-deploy Incident Rate Agent 交付是否引入线上故障或维护成本。

结论:Agent 工程的终点是可控收敛

这条链路可以压缩成一句话:Prompt 让模型理解任务,上下文让模型看见事实,MCP 让模型连接世界,Skills 让模型复用经验,Harness 让模型接受验证,Agent Loop 让模型在反馈中逼近目标。

真正的 Agent 工程能力,不是让模型多说几步推理,而是把不确定的生成能力放进一个可观察、可验证、可回滚、可持续改进的系统。

所以,Harness 到 Agent Loop 是一个分水岭。前面几层主要是在增强模型的输入和能力边界;后面开始进入控制系统思维:每次行动都要有观测,每次失败都要能学习,每次通过都要能复现,每次放权都要有边界。

参考资料

  1. PromptOpenAI, Prompt engineering;OpenAI Help Center, Best practices for prompt engineering with the OpenAI API
  2. ContextAnthropic, Effective context engineering for AI agents
  3. MCPModel Context Protocol, IntroductionSpecification 2025-06-18Tools
  4. MCPAnthropic, Introducing the Model Context Protocol
  5. SkillsOpenAI Developers, Agent Skills - Codex;Claude API Docs, Agent Skills
  6. SkillsAnthropic, Equipping agents for the real world with Agent Skills;Agent Skills, Overview
  7. AgentsOpenAI API, Agents SDK;OpenAI Agents SDK, AgentsTracing
  8. WorkflowAnthropic, Building Effective AI Agents
  9. EvalsAnthropic, Demystifying evals for AI agentsEffective harnesses for long-running agents
  10. EvalsOpenAI, openai/evals;OpenAI API, Working with evals;Inspect AI, Inspect AI documentation
  11. HarnessSWE-bench, OverviewThe Harness;SWE-bench, Leaderboards;OpenAI, Introducing SWE-bench Verified
  12. LoopYao et al., ReAct: Synergizing Reasoning and Acting in Language Models;Google Research, ReAct overview
  13. LoopShinn et al., Reflexion: Language Agents with Verbal Reinforcement Learning
  14. SkillsWang et al., Voyager: An Open-Ended Embodied Agent with Large Language Models;Voyager project, project site
  15. HITLLangChain Docs, Human-in-the-loop;LangGraph Docs, LangGraph overview