简介:Agent在demo阶段表现聪明、进入真实工程却频繁失灵,根源往往不在模型能力,而在工程链路。本文系统定义Token、Skill、RAG、MCP、SDD、Harness六层约束,讲清各自解决什么问题、如何协同运转,并给出典型场景与落地注意事项,帮助开发者把Agent从“能回答”推向“能交付”。
一、概念定义:Agent工程六层链路是什么
Agent工程六层链路,是指构建一个可交付的智能体(Agent)系统时,需要依次搭稳的六层工程约束:Token(上下文管理)、Skill(任务规程)、RAG(检索增强生成)、MCP(模型上下文协议)、SDD(规格驱动开发)、Harness(运行时闭环框架)。
需要强调的是,这六个词不是六个并列的独立技术点,而是描述同一个系统从“能回答”走向“能交付”的六层约束:
从技术视角看,它是一套上下文工程与运行时工程的组合方法;从业务视角看,它是把大模型能力封装成可靠生产力的工程体系;从使用视角看,它是判断一个Agent项目“能不能上生产”的检查清单。
二、背景与价值:为什么Demo聪明、交付变蠢
一个典型的失败模式(抽象自常见工程实践):团队做一个代码变更助手,用户说“给订单模块加一个优惠券核销能力”,Agent自动读代码、查接口文档、改代码、跑测试、生成PR。Demo阶段表现流畅:第一轮能定位到订单服务类,第二轮能补数据传输对象,第三轮还能顺手生成单元测试。可一旦接入真实仓库,问题集中爆发:
最后PR能跑,但不能合。
这四类失败分别对应链路的不同缺口:失忆是Token层问题,缺证据是RAG层问题,失控是Harness层问题,越界是SDD层问题。由此可以得出一个直接判断:Agent工程的核心,不是把模型换大,而是把这条链路搭稳。
三、核心组成:六层约束逐层拆解
3.1 Token:Agent的工作台,不是仓库
Token常被讲成计费单位,这没错,但在Agent语境下,更准确的理解是:Token构成上下文窗口,是Agent本次推理的工作台。模型这一轮能参考的系统指令、历史对话、工具结果、代码片段、错误日志、检索材料,都要摆在这张工作台上。
工作台越大,能同时处理的材料越多,但它再大也不是无限仓库。业界主流大模型厂商的文档普遍将compaction(上下文压缩)描述为一种把长对话压缩成摘要、避免超出上下文窗口的机制。这个动作在Agent里不是锦上添花,而是基础设施。
现场问题很具体。假设让Agent修改订单模块,它一开始可能读这些文件:
src/order/OrderService.javasrc/order/OrderController.javasrc/order/dto/CreateOrderRequest.javasrc/coupon/CouponClient.javasrc/common/IdempotencyInterceptor.javadocs/coupon-api.mdlogs/test-failure.log
看起来不多,但真实工程不是只读文件名:每个文件有代码,每段代码有依赖,每次测试失败又会产生新的日志。几轮下来,工作台就会被挤满。因此Token层的工程化通常包括三件事:上下文预算分配(给系统指令、检索材料、工具结果、历史对话各留多少配额)、有损压缩策略(哪些内容可以摘要、哪些必须原文保留)、按需加载(用到再读,而不是一次性全读)。
3.2 Skill:重复任务的执行规程
Skill的定义:把经过验证的任务做法沉淀为可复用、可版本化的规程,让Agent在遇到同类任务时按既定规矩执行,而不是每次从零推理。
它解决的是稳定性问题。没有Skill的Agent,每次执行同类任务都是重新“即兴发挥”,质量随上下文状态波动。有了Skill,“如何加一个接口”“如何补一个DTO”“如何写单测”这些高频动作就有了标准动作库。Skill与普通提示词的区别在于:提示词是一次性指令,Skill是可组合、可复用、可迭代维护的能力封装,通常包含触发条件、执行步骤、边界约束和产出物定义。
3.3 RAG:缺知识时的证据补给线
RAG(检索增强生成)的定义:在生成之前,先从外部知识库检索与任务相关的材料,作为证据注入上下文,再让模型基于证据作答或编码。
它解决的是知识边界问题。模型参数中的知识是训练时固化的,对企业内部的接口文档、字段规范、变更记录一无所知。案例中“核销接口需要幂等键”这条约束,如果RAG没有把文档片段准确送进工作台,模型只能靠参数猜测,遗漏几乎必然发生。RAG的工程要点在于检索质量:文档切分粒度、索引更新时效、检索权限隔离,直接决定证据是否可信。
3.4 MCP:接触外部系统的标准接口
MCP(模型上下文协议)的定义:一种让Agent以标准化方式发现、调用外部工具与数据源的协议层,为模型应用与外部系统之间提供统一的连接规范。
它解决的是碎片化集成问题。没有标准协议时,每接一个内部系统都要写一套定制适配,工具越多,维护成本越高,权限越乱。协议化之后,工具以统一格式声明能力、校验参数、控制权限、记录审计,Agent“能调什么、怎么调、调了什么”都有据可查。它与常见的函数调用机制并不冲突:函数调用解决模型与宿主应用之间的调用约定,MCP解决宿主应用与外部系统之间的标准化连接,两者是上下游关系。
3.5 SDD:写代码之前先立规格
SDD(规格驱动开发)的定义:在Agent动手实现之前,先产出一份明确、可验证的规格,说明做什么、不做什么、按什么标准验收,再由规格驱动代码生成。
它解决的是需求越界问题。“优惠券核销”被脑补出退款逻辑,根源在于任务起点只有一句自然语言,没有边界。一份合格的规格至少包含三部分:需求边界(明确不做的事)、接口契约(出入参、错误码、幂等要求)、验收标准(可执行的测试或检查项)。规格越可验证,Agent的自由发挥空间越小,交付结果越可控。
3.6 Harness:把能力跑成稳定闭环
Harness的定义:Agent的运行时骨架,负责把规划、执行、观察、纠错、终止这一循环稳定跑起来,并对每一步施加工程约束。
它解决的是失控问题。权限报错后继续用错误上下文写代码,说明循环里缺少“失败即停”的门禁。一个完整的Harness通常包含:错误处理与重试策略、权限门禁、状态持久化、终止条件判定、人工介入点。可以用一个比喻总结六层关系:Token是舞台,Skill是剧本,RAG是资料室,MCP是接口面板,SDD是图纸,Harness则是导演加舞台监督,确保这台戏按流程演完、出了问题能随时叫停。
四、工作原理:六层如何协同运转
六层约束在一次任务中的协同,可以用如下伪代码概括:
任务开始1. SDD:解析需求 → 生成规格与验收标准2. RAG:按规格检索文档 → 证据注入上下文3. Token:分配上下文预算,装填指令+规格+证据4. Harness:进入执行循环├─ 规划下一步动作├─ 通过MCP调用外部工具(读代码/查文档/跑测试)├─ 观察结果;失败则按门禁策略重试或终止├─ 遇到重复动作 → 按Skill规程执行└─ 上下文将满 → 触发compaction压缩5. Harness:对照验收标准判定 → 通过则产出交付物
可以看到,六层不是并列的功能菜单,而是执行链路上的六道工序:规格先行、证据补充、上下文承载、标准接入、规程复用、闭环兜底。任何一道工序缺失,失败都会沿着链路向下游传导,最终体现在交付物上。
五、典型应用场景
在国内技术生态中,主流大模型服务平台(如百度智能云提供的Agent开发类通用产品能力)也在围绕上下文管理、知识检索、工具协议等方向提供组件化支撑,整体思路与上述六层一致。
六、相关概念辨析
七、使用注意事项
八、总结
回到定义本身:Agent工程六层链路,是让智能体从“能回答”走向“能交付”的六层约束体系——Token管看得见多少,Skill管按什么规矩做,RAG管缺知识去哪补,MCP管怎么安全接外部系统,SDD管动手前有没有规格,Harness管这一切能否稳定闭环。模型能力决定系统的上限,这条链路决定系统的下限。很多Agent demo很聪明、一到工程交付就变蠢,答案不在模型大小,而在这条链是否搭稳。对开发者而言,评估任何一个Agent项目能否上生产,都可以用这六层逐项检查:缺哪一层,失败就会从哪一层发生。