在人工智能工程化实践中,一个反复出现的核心痛点始终困扰着开发者:AI系统无法准确评估自身的工作成果。
Anthropic的工程团队通过实验直接验证了这一现象。他们让Claude独立完成一个前端设计任务,随后进行自我评估。结果表明,无论实际输出质量如何,智能体都普遍倾向于给自己打出高分。自己批改试卷,分数自然不会低。
那么,如何解决这一问题?Anthropic从生成对抗网络(GAN)中获得了灵感:用一个AI负责生成,用另一个AI负责判别。
三智能体架构
这一架构由三个角色构成,分工极为明确:
| 角色 | 职责 | 类比 |
|---|---|---|
| Planner(规划者) | 将1-4句人类提示词转化为完整的产品规格文档 | 产品经理 |
| Generator(实现者) | 按照规格逐项编写代码,交付功能 | 开发工程师 |
| Evaluator(评估者) | 通过Playwright实际操作应用,逐条验证功能与质量 | QA测试工程师 |
关键设计在于:三个智能体彼此独立,各自拥有独立的上下文和判断标准。Generator无法评价自身的工作,只有Evaluator拥有最终发言权。
Sprint合同:最精妙的机制
三智能体架构中最具价值的发明,实际上是Sprint合同。问题出在哪里?人类给出的“做一个好看的前端”这类描述过于模糊,AI之间对于“好看”的理解也各不相同。而这里的解决方案是:两个AI自行协商“完成”的标准,完全不需要人类在中间充当传话筒。这就像两位工程师坐下来,先把验收标准讨论清楚再动手。
四维度评分标准
Evaluator也并非笼统地评价“好”或“不好”,而是按照四个维度进行打分:
| 维度 | 检查内容 | 默认表现 |
|---|---|---|
| Design Quality | 是否具备连贯的视觉品牌形象 | 权重高 |
| Originality | 是否有原创设计决策(而非千篇一律的AI模板感) | 权重高 |
| Craft | 排版、间距、对比度等技术执行细节 | 默认达标即可 |
| Functionality | 可用性(独立于美学判断) | 默认达标即可 |
注意,Craft和Functionality被设定为“默认达标即可”,因为AI在这些方面已经足够成熟。而Design Quality和Originality才是Evaluator真正需要投入判断力的维度——也正是AI最难自评的部分。
Harness不只是约束,也能释放创造力
Anthropic的三智能体实验中,有一个意外发现。前9轮迭代产生了常规的前端设计——干净的深色主题页面,完全符合预期。然而在第10轮,Generator彻底推翻了之前的方案,创造了一个3D空间体验:CSS透视渲染的棋盘格地板,画作自由悬挂在墙上,用户通过门口在展厅之间导航。
这是单次生成中前所未有的创造性飞跃。人类没有要求3D效果,也没有暗示空间感——是Harness给予了Generator足够的自由度(在边界之内),使其做出了超越预期的创新。换言之,一个好的Harness在保障质量底线的同时,也为AI留出了突破的空间。
Harness会进化:V1 → V2的瘦身
Anthropic的实验揭示了一个重要规律:Harness并非一成不变,它需要随着模型升级而持续进化。
| 版本 | 模型 | 架构 | 时长 | 成本 |
|---|---|---|---|---|
| Solo baseline | Opus 4.5 | 单智能体 | 20分钟 | $9 |
| V1 Harness | Opus 4.5 | Planner + Generator(按sprint)+ Evaluator(每个sprint) | ~6小时 | $200 |
| V2 Harness | Opus 4.6 | Planner + Generator(无sprint)+ Evaluator(单次pass) | ~4小时 | $125 |
从V1到V2的变化十分明显:去掉了Sprint分期——模型能力更强了,不需要拆分那么细;Evaluator从每个sprint执行变为仅执行一次——既省钱又省时;成本从$200降至$125——效率提升了37.5%。
每个Harness组件都编码了一个假设——“模型无法独立完成X”。模型升级后,这些假设需要重新验证,不再成立的组件就应当被精简。这正是关键所在。
两个关键发现的深度解读
Context Anxiety(上下文焦虑)
当模型接近上下文窗口极限时,会出现一种奇怪的行为:提前收尾。即便任务尚未完成,模型也会急急忙忙地“完成”——因为它担心上下文溢出。这个问题在Sonnet 4.5上尤为突出。解决方案是Context Reset——在关键节点重置上下文窗口,让模型以全新的窗口继续工作。这正是Ralph循环中“Fresh Context”的核心思路。
Self-Evaluation的根本缺陷
为什么AI无法准确评估自身?分离Evaluator解决了锚定效应,Sprint合同解决了标准漂移。但完整性偏差目前没有完美的解决方案,因此人类的最终确认仍然不可或缺。
这对普通开发者意味着什么
你不需要Anthropic的预算和算力,但完全可以借鉴他们的核心思路。
个人开发者的“轻量三智能体”
你=Planner(明确写出要做什么) AI=Generator(编写代码) AI+自动化测试=Evaluator(验证结果)
具体做法归结为一个道理:“生成”和“评估”必须分开。
一个需要常问的问题
模型升级后,某些Harness组件可能不再必要,但总会有新的约束需要被发现。你需要定期审视自己的Harness:这条规则还有必要保留吗?这个组件还在承担关键作用吗?有没有新的能力我还没有利用起来?
这是驭缰工程系列的第六篇。上一篇:《Ralph循环:让AI自己干活、自己查、自己改》 下一篇:《熵管理:AI写代码的最大隐患和解决方案》
