Agent 工程化没有银弹,只有四层拼图:评测、Loop、Skill、调度

举报
霍格沃兹软件测试开发 发表于 2026/11/06 16:07:54 2026/11/06
【摘要】 软件工程史上那句著名论断,放在今天的 Agent 领域格外贴切:没有单一技术或方法,能在十年内既承诺又实现生产率的数量级提升。 Agent 圈正在经历一轮又一轮的“银弹幻觉”——先是“换个更强的模型就都解决了”,模型换了几代,漂移照旧;然后是“提示词工程是核心”,提示词写到几千字,换个 Harness 就失效;再然后是“上个工作流编排框架就行”,流程图越画越复杂,人却越陷越深。每一次幻觉的破...

软件工程史上那句著名论断,放在今天的 Agent 领域格外贴切:没有单一技术或方法,能在十年内既承诺又实现生产率的数量级提升。 Agent 圈正在经历一轮又一轮的“银弹幻觉”——先是“换个更强的模型就都解决了”,模型换了几代,漂移照旧;然后是“提示词工程是核心”,提示词写到几千字,换个 Harness 就失效;再然后是“上个工作流编排框架就行”,流程图越画越复杂,人却越陷越深。每一次幻觉的破灭,都指向同一个事实:Agent 工程化不是一个点的突破,而是四层结构的协同——评测、Loop、Skill、调度。这四层没有哪一层是银弹,但它们拼在一起,才构成从“演示能跑”到“生产敢用”的完整路径。

第一块拼图:评测——它不是银弹,但它是其他三层的“眼睛”

关于评测最常见的银弹幻想,是“多跑几个 Case、人工看一眼就行”。这套做法在传统软件里勉强能用,在 Agent 上完全失效:Temperature 采样让同一输入每次输出不同,工具返回的非确定性让路径不可复现,多轮上下文漂移让终态正确可能只是运气。单跑一次比对答案,评测的其实是这一次采样,不是这个 Agent。

评测不是银弹,因为它自己就需要三层工程才能立住。

第一层是目标分层。 美团图灵团队把评测拆成 Result(交付物是否可用)、Trajectory(路径是否收敛可复现)、Efficiency(Latency、Token、步数、成本)、Risk(越权、泄露、红线,一票否决)。核心洞察是:两个 Agent 终态都“正确”,一个靠稳定路径收敛,一个靠搜索空间暴力采样命中,在 Result 层完全不可区分,在 Trajectory 层天差地别。这就是 Trajectory Evaluation 取代 Response Evaluation 的动因——评的不是答案,是到达答案的方式。

第二层是标准本身要可靠。 美团的解法是 Rubric 二元化:把“口语化程度 0–10 分”这种连续模糊评分,下钻成一组二值断言——“是否以‘您’指代骑手?”“是否使用‘甭客气/明儿见’类词汇?”“是否包含‘吧/呢/那个’语气词?”每个断言独立计算 Cohen's κ,unknown 占比成为 Rubric 定义不充分的诊断信号。Beam 业务人人一致率从 62% 提升到 92%,数字站长业务人机一致率做到 99%。主观质量不是不能评,而是必须先被拆成可二元判断的事实。

第三层是 Trace 先于评测。 看不见的问题几乎不可能被稳定解决。一次执行链路至少要记录 Prompt 模板、工具调用决策、返回结果、Token 消耗和中间状态,日志格式兼容 OpenTelemetry,把 Trace 作为上线硬前提而非事后补课。离线用 Pass@k 取稳定结论、分层门禁嵌入 CI/CD;在线通过 Agent 迭代 Loop 与评测体系迭代 Loop 共享 Case 挖掘与归因入口。数字站长的指标从冷启动 20+ 扩展到近 200 个,不是白板设计出来的,是跑出来的。

评测这一层的真正位置,是其他三层的反馈源。没有它,Loop 的调参、Skill 的迭代、调度的策略优化全是盲调——你甚至不知道改动是让系统变好还是变坏。所以评测不是银弹,但它是让整个拼图能自我改进的那只眼睛。

第二块拼图:Loop——它不是银弹,但它是模型能力的“落地装置”

关于 Loop 最常见的银弹幻想,是“Agent 不就是个 while 循环调工具”。真做进生产系统才会发现,这个看似简单的循环——模型发起工具调用,Harness 执行后返回结果,模型再决定下一步——需要处理的复杂度远超想象。

六套主流 Harness 的横向对比揭示了同一循环在工程取舍上的分野。Claude Code 走单线程主循环 + 模块化服务:while(true) 六步流水线,只读工具并发、写状态工具串行,权限检查放在 PreToolUse hook 与规则引擎之间,接近窗口上限时自动压缩,先清旧工具输出再摘要对话。OpenCode 选择状态机 + Runner,Codex 在 Thread 内做 Turn loop,DeepSeek Harness 把循环做成可替换插件的 ReactLoopAgent,Pi 用扁平 while + 25 个 hook 把极简做到极致——仅 4 个工具、系统提示小于 1000 token,Hermes 则是 TAOR + 状态机的自进化闭环。

差异背后是四个同构的工程问题,它们就是 Loop 这层拼图的四个调节旋钮:

  • 权限放在哪一层:Claude Code 用六层权限模型加 AST 分类器,Pi 干脆不做权限系统、把安全责任交还用户;
  • 上下文怎么压缩:Claude Code 触发在窗口减 13K,Codex 在窗口 90%,Pi 在输入预算 50%;
  • 循环什么时候结束:靠模型自判、靠最大步数、靠外部状态机,各有代价;
  • 人能不能中途插话:这决定了 Agent 是“批处理作业”还是“可协作进程”。

没有“正确”的 Loop,只有与业务风险剖面匹配的 Loop。但共识正在形成:Agent = LLM + Harness。模型是大脑,Harness 是让行为可控的运行时——上下文管理、工具编排、权限门禁、状态持久化。Loop 这一层不是银弹,因为它本身不产生智能,但它决定了模型那点智能能不能稳定地落到地面上。跨不过这层的团队,会把大量时间花在修“为什么它又调错了工具”“为什么它忘了三步前说过的话”上,而这些问题的根因几乎都不在模型,在运行时。

第三块拼图:Skill——它不是银弹,但它是业务约束的“编译器”

关于 Skill 最常见的银弹幻想,是“写好提示词模板就完事了”。一段角色设定,几条注意事项,扔给模型自由发挥——结果就是换一个模型、换一个 Loop,行为立刻走样。Skill 不是提示词模板,它是把业务约束编译成可执行规则的契约。

一线测试团队的经验点破了要害:测试经验散在老员工脑子里,质量标准随人员更迭剧烈波动。解法不是让 AI 去“模仿老员工”,而是把“测试嗅觉”拆成可执行、可度量的规则。一套覆盖需求分析、用例设计、缺陷排查、数据与 SQL、自动化构建、回归交付的 18 个 Skill,核心工程约束集中在两处:需求分析做“证据推断分离” ——把文档写明的、从架构推导的、模糊待确认的三层信息分开,严禁用个人臆断替代产品确认;用例断言做“三层规范” ——底层网络状态码、业务码、数据终态缺一不可,每个基础功能点强制“一条正向主干对应三条以上异常容错场景”。

这套约束的本质,是把主观判断降维成可审计的检查项,与评测层 Rubric 二元化的逻辑完全同构。Skill 与评测层的关系正在于此:评测定义什么叫对,Skill 把“对”编译成执行时的中间校验。 两者共用同一套“可二元判断”的语法——这也是为什么一个团队如果评测层做扎实了,Skill 往往水到渠成,它俩本来就是一回事的两端。

框架层面也在印证这一点。开源的 e2e(TesterArmy) 采用混合模式:稳定步骤用传统 Playwright 代码,复杂多变的步骤交给 agent.act() 用自然语言驱动,单日曾揽下 1500+ star;**TestSprite-cli** 走 0 代码路线,用 JSON 描述测试计划(自然语言步骤 + 断言),云端真浏览器和真 API 执行,10 分钟生成首批 50-100 条端到端用例。两者路径不同,共同点是:Skill 的价值不在于“让模型自由发挥”,而在于把不确定性收束到明确的契约边界内。

智能问数场景展示了另一种形态:元数据 → 指标 → 思维链 → 分析报告的分层架构。元数据作为防幻觉基础,指标承担物理到虚拟的转换节点,CoT 串联指标与元数据形成业务逻辑链条,报告层用预置模板和纠偏围栏组装交付物。Skill 在这里是一套带数据溯源、带中间校验、带模板约束的执行契约——先编排后执行,缺乏依据时不直接交付 SQL。创意侧同理,开源的 bb-video.skill 支持 22 种视频风格,原理是用代码写画面、无头浏览器逐帧渲染,效果高度依赖代码与审美,而非一句“帮我做个视频”。

Skill 不是银弹,因为它不能凭空产生业务知识——业务约束得有人先显式化出来。但它是把隐性经验变成可审计规则的那台编译器,缺了它,Loop 放大的只是模型的不确定性。

第四块拼图:调度——它不是银弹,但它是规模化的“注意力杠杆”

关于调度最常见的银弹幻想,是“多开几个 Agent 并行就行了”。DeepSeek 在 Super-agent 设计里有一句被反复引用的话:一个人通常只能同时跟进 3 到 5 个活跃会话;单任务上限取决于模型能力,多任务上限取决于人的注意力。并行开得越多,人越先崩。

独立开发者“数字生命卡兹克”用朱元璋的比喻把问题讲透了:废丞相后,六部直奏皇帝,八天 1660 件奏札、三千多件事,再勤快的人也绷不住。他的解法不是“更努力地盯 Agent”,而是自建一层自动化中台:所有事件先汇到中台,统一格式,按 rules.json 决定唤醒哪个 Agent、用哪个模型、开多深推理;Agent 在本地执行,Skill 沉淀每类任务的 SOP;自建 CI 五步流水线(审查、检查、合并、发布、核实)接管上线;只有删数据、停服、花钱、对外发消息这类拿不准的事,才通过飞书卡片推到人面前——他称之为“批奏折”。

这套设计的工程意义不在于“自动化了多少任务”,而在于把任务的发生起点从“人打开窗口下命令”迁移到了“事件触发” 。人的角色从“操作员”变成了“决策节点”:Agent 自行推进,只把需要拍板的事上升。这与评测层的“双 Loop”在结构上完全一致——系统自己发现问题、自己归因、自己修复回测,人守住门禁和红线。区别只在于,美团的门禁是 CI/CD 里的 Pass@k 阈值,个人开发者的门禁是飞书卡片上的那一下点击。

企业侧的实践补的是同一块拼图的另一面。**Agent-Autoloop** 把事件、Agent 执行、通知全部做成插件,核心是一个轻量中台内核;**MOVO** 基于 DeepSeek Harness 构建企业智能体平台,专注私有化部署、权限管控、多模型管理和运行溯源。调度这层要解决的不是“怎么让 Agent 干活”,而是“怎么让人不再成为瓶颈、同时不失去控制”——前者是能力问题,后者是治理问题,而生产系统里后者往往更致命。

调度不是银弹,因为它不提升任何单个 Agent 的智能上限,但它决定了整个系统的规模上限。人只有一副注意力,调度层是唯一能把这份注意力杠杆化的地方。

结语:银弹不存在,拼图必须拼完整

四块拼图逐一拆完,结论很清楚:每一层都被寄予过银弹的期望,每一层都在单独使用时让人失望。 评测单独做,只会得到一堆没人看的报告;Loop 单独调,只是在黑盒里换参数;Skill 单独写,换个模型就失效;调度单独上,放大的只是不确定性。

但四层拼在一起,关系就变了——它们是乘法,不是加法。评测层用二元化 Rubric 和双 Loop 把“好坏”变成可复现、可门禁的事实;Loop 层用 Harness 把模型的随机行为约束进可管理的边界;Skill 层把业务约束编译成带中间校验的执行契约;调度层把人的注意力从执行路径中解放出来,只保留关键决策位。四层一旦咬合,系统就具备自我改进的闭环:调度触发任务、Loop 保证执行可控、Skill 保证质量可审、评测发现回归并回喂门禁,人只站在需要拍板的位置上。

Agent 工程化正在告别“提示词玄学”和“模型崇拜”的阶段。美团用 99% 的人机一致率证明主观质量可以被工程化,六套 Harness 的对比证明运行时设计有真实的取舍空间,一线团队用 18 个 Skill 和三层断言证明经验可以被结构化为可审计的规则,个人开发者和企业平台则证明“领导力式”的人机协同不是比喻而是可运行的架构。银弹不存在的另一面,是拼图必须拼完整——少一块,系统就停在演示里;四块拼齐,才谈得上生产。 下一阶段的竞争,不在于谁先找到那颗不存在的银弹,而在于谁先把这四块拼图逐一做实、并让它们彼此咬合。

本文部分内容参考了霍格沃兹测试开发学社整理的相关技术资料,主要涉及软件测试、自动化测试、测试开发及 AI 测试等内容,侧重测试实践、工具应用与工程经验整理。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。