ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

learn-harness-engineering 提示词校准(Prompt Calibration)实战指南:让根指令定义操作框架,而非堆砌全部规则

learn-harness-engineering 提示词校准(Prompt Calibration)实战指南:让根指令定义操作框架,而非堆砌全部规则 【免费下载链接】learn-harness-engineeringHarness engineering beginner tutorial, from 0 to 1项目地址https://gitcode.com/gh_mirrors/le/learn-harness-engineering点击查看免费下载输出文章内仅包含文章本身以下为正文在长期运行的编码 Agent 项目中AGENTS.md、CLAUDE.md这类根指令文件是每一次新会话的起点地图。本指南以 prompt-calibration.md 为骨架结合本仓库learn-harness-engineering中 lecture-04「巨型指令文件陷阱」、docs/de/resources/templates下真实可用的 AGENTS.md / CLAUDE.md 模板以及feature_list.json、claude-progress.md、init.sh等配套工件讲清楚什么内容必须留在根文件、什么内容应当移出、以及如何防止根文件退化成过去所有失败的垃圾场。读完你将掌握一套可立即落地的根指令校准方法让新会话在几秒钟内完成定位而不是在数百行指令里大海捞针。一、核心原则根指令定义操作框架而非每一步动作prompt-calibration.md开门见山给出了一条核心判断标准Root instructions should define the operating frame, not every possible move.根指令应定义操作框架而不是每一种可能的动作。这句话区分了两种指令文件的设计哲学操作框架Operating Frame回答这个仓库是干什么的、从哪里启动、如何验证、哪些红线不可触碰、必须产出什么工件、会话如何收尾这类结构性、跨会话稳定的问题。每一种可能的动作Every Possible Move针对某个具体子系统、某次历史故障、某个局部模块的细粒度操作指引。把动作级细节全部塞进根文件正是 lecture-04 描述的巨型指令文件陷阱Giant Instruction File Trap的起点一切看起来都有用于是全部塞进去最终 600 行文件里只有三分之一与当前任务相关。校准根指令本质上就是在控制指令文件的信噪比SNR。二、留在根文件的六类内容逐条对齐仓库模板原文档列出六类必须保留在根文件中的内容。以下逐条展开并与 AGENTS.md 模板、CLAUDE.md 模板 中的实际条目一一对应。1. Repository-Zweck und Scope仓库目的与范围根文件第一段就应该让一个没有任何上下文的新会话明白这是什么、目标是什么。模板中的对应写法AGENTS.md这个仓库是为长期编码 Agent 工作设计的。目标不是最大化代码产量而是让仓库在下一次会话无需猜测就能继续工作。它同时划定了范围——围绕下一会话可续跑这一目标组织仓库而非追求一次性产出。这属于典型的目的与范围表述。2. Startpfad启动路径启动路径回答新会话进来第一步做什么。模板中AGENTS.md的 Start-Workflow 给出了完整序列用pwd确认工作目录读取claude-progress.md获取最新已验证状态与下一步读取feature_list.json并选择优先级最高的 Feature用git log --oneline -5检查最近提交执行./init.sh在开始新工作前运行所需的 smoke 或端到端测试。注意启动路径不是命令清单堆砌而是先确认状态、再恢复基线、最后才动手的稳定流程。lecture-04 的示例入口文件 AGENTS-short.md 也体现了同样思路——启动区只放npm run dev、npm run check这类高频命令并指向docs/ARCHITECTURE.md、docs/PRODUCT.md。3. Verifikationspfad验证路径验证路径是什么算做完的判据。模板中AGENTS.md的 Definition of Done 明确一个 Feature 只有在目标行为已实现、要求的验证已实际执行、证据已记录在feature_list.json或claude-progress.md、仓库通过标准启动路径可重启时才算完成。CLAUDE.md模板进一步把它写成硬性门禁Abschluss-Gate只有要求的验证成功且结果被记录后Feature 才能切换到passing状态。这与 feature_list.json 模板 中的状态机一致not_started → in_progress → blocked / passing其中passing的语义就是验证已通过且有证据。启动路径与验证路径在模板中被设计为闭环——./init.sh启动后先跑基线验证基线坏了就先修基线绝不把新工作堆在损坏的起点上。4. Nicht-verhandelbare Einschränkungen不可协商的约束这是根文件中最敏感的内容全局硬性红线。模板AGENTS.md的 Arbeitsregeln 给出了典型红线一次只做一个 Feature不能因为代码加完了就标记 Feature 完成验证规则不能在实现过程中被悄悄修改优先使用持久的仓库工件而不是聊天摘要。lecture-04 中有一句极其关键的经验硬约束永远不要用 eval()与软性风格建议偏好函数式风格在文件里看起来完全一样Agent 没有可靠信号区分哪条是红线、哪条只是建议。因此校准的要点是根文件只保留全局性、不可协商的约束模板里写的是不超过 15 条其余一律移出。5. Erforderliche Zustandsartefakte必需的状态工件根文件必须声明仓库依赖哪些持久化工件以及它们各自的职责。模板AGENTS.md的 Erforderliche Artefakte 列出feature_list.jsonFeature 状态的单一事实来源Source of Truthclaude-progress.md会话日志与当前已验证状态init.sh标准启动与验证路径session-handoff.md大型会话的可选紧凑交接文档。CLAUDE.md模板同样把这些文件列为 Erforderliche Dateien。这类声明让新会话知道状态不在聊天记录里而在这些文件里是跨会话连续性的物质基础——与 initializer-agent-playbook.md 中初始器必须留下根指令文件、机器可读的 Feature 界面、持久进度工件、标准启动助手和第一个安全提交的输出要求互为印证。6. Session-Ende-Regeln会话收尾规则根文件还应在最后定义离开时如何收拾现场。模板AGENTS.md的 Session-Ende 序列更新claude-progress.md更新feature_list.json记录所有未解决的风险或阻塞项在工作处于安全状态时用描述性信息提交让仓库干净到下一会话可以直接执行./init.sh。CLAUDE.md模板的 Vor dem Stoppen 与之完全同构。收尾规则是每个会话都留下干净状态这一主题对应 lecture-12在根文件层面的固化。三、移出根文件的四类内容识别污染源prompt-calibration.md明确列出四类应当从根文件移出的内容Lange historische Edge Cases冗长的历史边缘案例——例如上周修过某个 WebSocket 内存泄漏注意类似模式。这类教训应以测试用例或主题文档的形式沉淀而不是堆在根文件里Themenspezifische Implementierungsdetails主题特定的实现细节——只对某个子系统生效的细节应放在该模块附近或对应主题文档中Lokale Architektur-Notizen本地架构笔记——属于代码附近的注释Agent 读代码时自然会看到无需在指令中重复Beispiele, die nur für ein Subsystem gelten仅适用于单个子系统的示例——示例的适用范围越窄越应该从全局入口文件里移除。这四类内容与 anti-patterns.md 中列举的反模式高度重合把仓库全部知识塞进一个文件同一条规则在多处重复编码没人审计的过时规则写过于具体、几乎不生效的条件指令把冗长的工具手册嵌入启动上下文。识别这四类污染源是校准的第一步先判断一条指令属于框架还是动作属于动作的就从根文件搬走。四、工作规则根文件是路由器不是百科全书prompt-calibration.md的工作规则原文是根文件应该帮助一个新会话快速定位。如果文件正在变成过去每一个失败的收集池Sammelbecken就把细节拆到更小的文档中并在根文件里链接过去。这里有三个可执行的校准动作动作一把根文件压到 50–200 行。lecture-04 给出的入口文件规格是项目概述一两句话、首次运行命令如make setup make test、全局硬约束不超过 15 条、主题文档链接一行描述 适用条件。它被称为路由器Router职责是把 Agent 导向更详细的文档而不是自己承载全部内容。动作二主题文档按需加载Reveal on Demand。每个主题文档控制在 50–150 行按主题组织在docs/目录或对应模块旁。lecture-04 用了一个形象的比喻就像行李收纳袋——内衣一个袋、洗漱用品一个袋、充电器一个袋找东西不必把整个箱子倒空。仓库中 lecture-04 的入口文件示例 就是这种形态的样例启动区 三条硬规则 指向docs/ARCHITECTURE.md的链接总行数不到 20 行。动作三审计 删除像管理依赖一样管理指令。每条指令都应该携带三个元信息来源Why这条规则为什么存在适用条件When什么时候需要这条规则过期条件Under What Circumstances什么情况下可以删除这条规则。定期审计并删除过时、冗余、互相矛盾的条目。未使用的依赖只会拖慢系统指令同理。这也回应了 lecture-04 诊断的维护衰减Maintenance Decay机制删除的后果不确定可能别的规则依赖它于是文件只增不减、信噪比持续下降。五、为什么必须这样做校准失败的四类代价lecture-04 主文档 从机制上解释了不校准的代价可作为本主题的原理纵深上下文预算被吞噬Context Budget600 行AGENTS.md可能占用 10,000–20,000 token在 128K/200K 上下文中约占 8%–15%。当 Agent 还要读几十个源文件、累积工具输出与对话历史时真正留给代码理解与推理的预算所剩无几。Lost in the Middle中间迷失Liu et al.2023的研究表明LLM 对长文本中间位置信息的利用率显著低于开头和结尾。一条埋在 600 行文件第 300 行的安全硬约束所有数据库查询必须使用参数化查询极大概率被忽略。因此如果某条指令必须留在入口文件就放到顶部或底部绝不放中间——但更优解永远是移入主题文档按需加载。优先级冲突Priority Conflicts硬约束、设计原则、历史教训混排在同一格式中Agent 无法区分红线与建议。矛盾累积Contradiction Accumulation不同时期追加的规则互相打架必须启用 TypeScript strict 模式vs部分遗留文件允许 anyAgent 每次随机选一条执行。lecture-04 还给出了一个可验证的实战结果示例一个 SaaS 团队把AGENTS.md从 600 行拆分为 80 行入口文件 三个主题文档后同一任务集的成功率从 45% 提升到 72%安全约束合规率从 60% 提升到 95%——因为关键规则从文件中部移到了入口文件顶部不再中间迷失。注此为课程文档中记录的示例数据作为设计效果的参照具体效果因任务与模型而异。六、在仓库中落地校准从模板到真实项目本仓库不仅给出了理论还提供了可直接对照的落地素材AGENTS.md 模板与CLAUDE.md 模板分别面向不同 Agent但结构一致——Start-Workflow、Arbeitsregeln、Erforderliche Artefakte、Definition of Done、Session-Ende。这正是根文件 框架的范本全文不超过 60 行。feature_list.json 模板机器可读的 Feature 状态机承担状态工件职责避免把进度写死在聊天记录里。init.sh 模板把启动路径与验证路径脚本化让新会话如何开始变成一条命令。initializer-agent-playbook.md首次严肃会话按它执行产出稳定的操作面后续会话无需重新推导启动命令、当前状态与任务边界。真实项目实例project-01 solution 的 AGENTS.md、project-02 solution 的 AGENTS.md展示了校准后的根指令在完整工程中的实际形态配合claude-progress.md、feature_list.json、init.sh、session-handoff.md一起使用。method-map.md与coding-agent-startup-flow.md前者把常见长任务失败模式映射到对应工件或策略后者固化后续编码会话的启动流程——两者都遵循细节下沉、链接上浮的校准原则。七、校准检查清单与自测给根文件做一次校准体检时逐条核对根文件 ≤ 200 行读一遍能否在 30 秒内回答仓库目的 / 如何启动 / 如何验证硬约束是否 ≤ 15 条且全部是不可协商级别是否存在按主题拆出的 3–5 个 50–150 行文档并在根文件里以一行描述 适用条件链接历史教训是否已转化为测试用例或主题文档而不是留在根文件每条指令是否都标注了来源、适用条件、过期条件是否存在重复规则、过时规则、互相矛盾的规则有则删除。需要留在根文件的指令是否位于文件顶部或底部避开中间迷失区自测方法来自 lecture-04 的练习挑 5 种常见任务类型统计根文件中每条指令对每种任务的是否相关计算各任务类型的信噪比对超过 300 行的指令文件拆成 100 行以内入口文件 主题文档用同一组任务至少 5 个在重构前后各跑一遍并对比成功率还可以把同一条关键约束分别放在长文件顶部、中部、底部各跑至少 5 次观察合规率的差异——位置效应可能比直觉中更强。八、关键要点根文件是框架不是剧本它定义操作框架目的、启动、验证、红线、工件、收尾不定义每一个动作。加一条规则是短期止痛、长期毒药每次失败后先问这条规则该进主题文档吗再决定是否进根文件。入口文件是路由器不是百科全书50–200 行只含概述、启动命令、硬约束与主题链接。利用中间迷失效应必须留在入口文件的指令放顶部或底部其余下沉到主题文档按需加载。像管理技术债一样管理指令膨胀定期审计每条指令都应有来源、适用条件与过期条件。校准的收益是信噪比拆分之后Agent 把更多上下文预算花在真实任务上而不是反复处理无关指令。赞分享【免费下载链接】learn-harness-engineeringHarness engineering beginner tutorial, from 0 to 1项目地址https://gitcode.com/gh_mirrors/le/learn-harness-engineering点击查看免费下载相关推荐终极指南如何使用开源Lenovo Legion Toolkit优化你的游戏本性能终极指南如何使用开源Lenovo Legion Toolkit优化你的游戏本性能 想要完全掌控你的联想拯救者笔记本性能吗厌倦了官方软件的臃肿和资源占用LeMaker Agent Prompt 实战指南为 Loop 工程编写“只管实现”的实施者提示词learn-harness-engineeringMaker Agent Prompt 实战指南为 Loop 工程编写“只管实现”的实施者提示词learn harness engineering 本篇指南Loop Engineering 实战指南从手动 Prompt 到自主循环——Learn Harness Engineering 第 13 课全解Loop Engineering 实战指南从手动 Prompt 到自主循环——Learn Harness Engineering 第 13 课全解 导读 本篇创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表