Anthropic 的 Harness 文章解读

文章目录

前言

Anthropic在2026.3.24推出了一篇Harness design for long-running application development的文章,这篇文章主要是让 Claude 在前端设计和长期自动运行的软件工程上推动发展。让我不用AI,以最直白的方式带你理解。

为什么普通的Prompt Engineing,Context Engineing 会失败?

做事要保持好奇心,带着问题,带着疑问去思考,远比被动接受效果来得好。想想看,你觉得可能是什么原因?

Agent在执行任务时,短的简单的任务可以容易实现,但是一旦执行任务的时间变长或者任务变复杂,Agent 的表现就会随之拉跨。究其原因,有两种常见的失败模式:

  • 上下文窗口填满: 当长时间运行时,模型的上下文会被填满,部分模型还会出现"上下文焦虑"------在接近他们认为的上下文极限时,会提前结束工作。
  • 自我评估自信: 让模型自己去评估自己做的事情,它往往会盲目自信的认为自己做的是完全正确的,缺少显式的设计原则、评分标准等测试环节。即使将generator 和 evaluator 显式分开,由于 evaluator 仍然是 LLM,它仍倾向于对 LLM的回答给出正面评估。

如何解决呢?

planner-generator-evaluator 多 agent 架构

为了解决上述的问题,作者从两个角度出发寻求解决办法:一个是前端审美,往往由主观意愿决定;二是可用性和可验证性的定义。作者在解决这两个问题时,从 GAN 汲取灵感,设计了一套多 Agent 架构,包括generator 和 evaluator(对于后端还有一个 planner)。

  • 启动一个新的 agent,完全清除上下文,并附带结构化交接(携带前一个 Agent 的状态以及后续步骤)解决了上面第一个上下文的问题;
  • 让独立的evaluator变得多疑,实现generator和 evaluator 之间的交互反馈链路,解决第二个自我评估盲目自信的问题。

combined with a structured handoff that carries the previous agent's state and the next steps
But tuning a standalone evaluator to be skeptical turns out to be far more tractable than making a generator critical of its own work, we can create a feedback loop that drives the generator toward stronger outputs.

前端设计:把好看的东西变得可打分

那为了建立这种反馈链路,变得可打分,作者在 generator 和 evaluator 中分别写下了以下 4 个相同的评分标准:

  • Design quality: Does the design feel like a coherent whole rather than a collection of parts? Strong work here means the colors, typography, layout, imagery, and other details combine to create a distinct mood and identity.
  • Originality: Is there evidence of custom decisions, or is this template layouts, library defaults, and AI-generated patterns? A human designer should recognize deliberate creative choices. Unmodified stock components---or telltale signs of AI generation like purple gradients over white cards---fail here.
  • Craft: Technical execution: typography hierarchy, spacing consistency, color harmony, contrast ratios. This is a competence check rather than a creativity check. Most reasonable implementations do fine here by default; failing means broken fundamentals.
  • Functionality: Usability independent of aesthetics. Can users understand what the interface does, find primary actions, and complete tasks without guessing?

对于evaluator 的校准,作者用小样本及具体的分数的示例来校准。

为什么要这么做?

作者说起强调质量和原创性,是因为 Claude 在功能上天然得分不错,因为其所需的技术能力对模型而言是必须的。但是对于设计和原创性方面模型可能更不愿意冒险。通过上面的标准约束了高度通用的 AI杂质模式,推动模型向设计和原创性去驱动。

全栈编码的扩展

Agent 职责 解决的问题
Planner 把 1-4 句话的用户 prompt 扩展为完整产品 spec 之前需要用户手写详细规格。Planner 只定义 "做什么",不定义 "怎么做"------ 因为如果 Planner 在技术细节上犯错,错误会级联到下游
Generator 按 Sprint 逐个实现功能,使用 React+Vite+FastAPI+SQLite 技术栈,内置 git 版本控制 一次做一个 feature,保持作用域可控
Evaluator 用 Playwright 像真实用户一样点击应用,测试 UI、API、数据库状态,按标准打分 解决 Agent 自评虚高的问题

Sprint 机制

Sprint 是 Scrum 框架中的一个固定时间盒(通常 1-4 周),核心思想是 把大项目切成小批次,每批次可交付、可验证。

每个 Sprint 开始前,Generator 和 Evaluator 先谈判:Generator 提出要做什么、怎么验证算完成;Evaluator 审核这个提案,确保方向正确。双方达成一致后才开始写代码。

这个设计的精妙之处在于:产品 spec 故意保持高层级(避免规格错误级联),Sprint 契约填补了 spec 到可测实现之间的缝隙。通信机制也刻意简单 ------ 通过文件读写,一个 Agent 写文件,另一个读取并回复。

原文链接:

相关推荐
上火的金鱼妹20 小时前
关于多进程sse连接通知的实战
javascript·状态模式·sse
阿俊-全栈开发21 小时前
LikeShop 小程序商城首页可配置弹窗的设计与实现(Java + uni-app)
小程序·状态模式·likeshop·likeshop开源商城
lingyubb1 天前
配音工具怎么选?从 TTS 合成链路看 6 个可量化参数
状态模式
平头哥技术团队3 天前
从预订问到退房:一间山野民宿的数字人「旅程地图」——Theme07_Homestay.vue 端到端拆解
状态模式·数字人
未来之窗软件服务4 天前
web网络请求竞态问题与取消方案-东方仙盟
前端·状态模式·仙盟创梦ide·东方仙盟·网络取消
一级新生5 天前
多智能体协作:常用协作模式详解
人工智能·状态模式·agent·多智能体·智能体
喜欢打篮球的普通人7 天前
LLVM 前端与优化层:Clang 如何把 C 代码变成 IR
c语言·前端·状态模式
m0_敲代码的彭于晏1687 天前
Vercel 前端部署与全栈开发实战指南
前端·状态模式
星恒随风8 天前
Linux线程同步与互斥(二):从日志系统与线程池设计,到线程安全单例、可重入函数和死锁原理
linux·运维·状态模式
学Linux的语莫9 天前
python中类的常见写法
开发语言·python·状态模式