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 写文件,另一个读取并回复。

原文链接:

相关推荐
菜鸟程序员专写BUG1 天前
SpringBoot跨域报错全集|CORS、OPTIONS预检、无Access-Control报错全解决
spring boot·后端·状态模式
Thomas.Sir1 天前
第五章:RAG知识库开发之【利用RAG知识库实现智能AI系统:从零构建企业级智能问答应用】
人工智能·python·vue·状态模式·fastapi·智能
Rabbit_QL1 天前
AI 编程助手中的两种“角色“:开发角色与业务角色
人工智能·状态模式
大数据新鸟1 天前
设计模式详解-状态模式
ui·设计模式·状态模式
前端不太难2 天前
智能体可信之路:全链路安全防御
安全·状态模式·openclaw
多看书少吃饭2 天前
Vue3 + Java + Python 打造企业级大模型知识库(含 SSE 流式对话完整源码)
java·python·状态模式
qq_381338502 天前
微前端架构下的状态管理与通信机制深度解析:从 qiankun 源码到性能优化实战
前端·状态模式
mygljx2 天前
SpringBoot+Mybatis-plus实现分页查询(一看就会)
spring boot·mybatis·状态模式
Thomas.Sir3 天前
第十四章:基于 FastAPI+Vue3 的智能聊天系统全栈开发实战
vue·状态模式·fastapi·智能