ARTICLE DETAIL

资讯详情

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

面向 AI Agent 的文档编写方法论:OpenChamber writing-for-agents 技能解析

面向 AI Agent 的文档编写方法论:OpenChamber writing-for-agents 技能解析 AI Agent人工智能代码智能体交互助手【免费下载链接】openchamberAgentic Development Environment based on OpenCode AI agent项目地址https://gitcode.com/gh_mirrors/op/openchamber点击查看免费下载本文以 OpenChamber 仓库中.agents/skills/writing-for-agents/SKILL.md为骨架系统拆解为 Agent 编写文档的设计方法论上下文指针、两种负载、信息层级、完成标准、引导词与修剪原则并结合仓库内 AGENTS.md 与二十余个技能文件的落地实践帮助你在自己的项目中写出能被 Agent 稳定触发、按可预测过程执行的文档。为什么 Agent 消费的文档需要专门的方法论写给人看的文档和写给 Agent 看的文档是两种写作。人读文档靠理解与记忆Agent 读文档靠上下文触发与执行写作目标不同手段自然不同。OpenChamber 的 AGENTS.md 开头就写明了这一点This file contains only always-on repository rules and routing. Detailed workflows belong to project skills and module documentation.常驻上下文always-on只保留规则与路由具体工作流全部下沉到技能文件与模块文档中。这套常驻层 按需加载层的分层结构正是 writing-for-agents 技能要解决的核心问题。该技能的作者是 Matt Pocock其描述将自身定位为任何 Agent 消费的文档的参考——无论是技能、AGENTS.md还是被指针指向的文档。包装形式不同写作方法相同目标是让 Agent 每次运行都走同样的过程process而不是产出同样的输出output。可预测性是过程层面的不是结果层面的这句话定义了整篇文档的哲学。上下文指针触发机制的第一道关卡什么是指针上下文指针是 Agent 上下文中持有的一个引用它指明某份上下文之外材料的名字并编码了到达它的条件。技能的 description 是一个指针AGENTS.md 中指向某份文档的一行也是同一个东西。在这个仓库里每个.agents/skills/*/SKILL.md文件开头的 front matter 就是最典型的指针。例如 clack-cli-patterns 技能--- name: clack-cli-patterns description: Use when creating or modifying OpenChamber CLI commands, prompts, terminal output, non-TTY behavior, --quiet, or --json behavior. ---这段 description 就是该技能的上下文指针AGENTS.md 的技能表中还有一行对应的 Trigger 规则与之呼应。指针的措辞决定一切指针的措辞wording而不是它的目标决定 Agent 何时到达材料以及到达的可靠性。文档明确指出A must-have target behind a weakly worded pointer is a variance bug: sharpen the wording first, and inline the material only if sharpening fails.一个必须到达的目标背后如果是措辞薄弱的指针就是一次方差缺陷variance bug不同运行之间行为会漂移。正确的修复顺序是先磨锋利措辞只有措辞确实无法磨利时才把材料内联进常驻上下文。指针做两件事一是说明材料是什么二是列出应当触发到达它的分支branch。分支是文档处理的某个独立情形不同的运行在文档中走不同的路径。指针的修剪规则因为常驻加载的指针每个词都会在每一轮对话中消耗 token所以指针的修剪比正文更狠前置引导词front-load the leading word指针是触发工作发生的地方最重要的词放在最前面。每个分支只保留一个触发器同义词只是把同一个分支写了两遍应合并只保留真正独立的分支。删掉正文已经承载的身份信息正文已说清的内容指针不要再重复。对照仓库实践AGENTS.md 技能表中 Trigger 列写的是精确的技术触发词如 Session sync, bootstrap/reconnect, reducers而不是模糊的遇到同步问题时。这正是每个分支一个触发器的体现——每个触发器对应一个明确、可判定的分支。两种负载上下文负载与认知负载每增加一个文档或指针都会花掉两种预算之一上下文负载context load常驻材料对 Agent 窗口的成本。AGENTS.md 的一行、技能的 description、任何每轮都待在上下文里的东西无论是否触发都消耗 token 和注意力。认知负载cognitive load对人的成本——存在哪些文档、什么时候该去取哪一份。人是索引The human is the index。这不是要最小化的成本它是人类自主性的代价在需要人的判断处花它在不需处去掉它。两者的关系此消彼长只通过指针到达的材料以指针自己那一行的代价逃避了上下文负载完全没有指针的材料则完全压在认知负载上。这正是 OpenChamber 分层设计的依据AGENTS.md 只保留常驻的规则与路由把工作流全部放进技能文件让大部分细节只在指针触发时才加载把常驻上下文的成本压到最低。信息层级材料该放在哪一层文档由两种内容类型构成步骤stepsAgent 按顺序执行的动作与参考reference按需查阅的定义、规则、事实。两者可以自由混合全是步骤菜谱、全是参考评审规则、或两者都有。核心决策是每块材料在信息层级阶梯上的位置——按 Agent 需要它的紧迫程度排序文件内步骤in-file step——第一梯队Agent 做什么按顺序。文件内参考in-file reference——按需查阅。一份评审的所有规则平铺在同一层级是常见且合理的安排不是坏味道。披露式参考disclosed reference——推到独立文件由上下文指针到达仅当指针触发时加载。范围从同文件夹的兄弟文件一直到完全外部、任何文档都能指向的参考。推得太少顶部臃肿推得太多把 Agent 真正需要的材料藏了起来。这个张力就是全部决策。渐进式披露渐进式披露是沿阶梯向下移动的动作——把材料移出主文件、放到指针之后——让顶部保持可读。它主要不是 token 优化而是保护层级结构的方式。分支是最干净的披露测试每个分支都需要的内容就内联只有部分分支才需要的内容就放到指针后面。当文档含有步骤时本应披露的文件内参考会埋没步骤使注意到步骤变成抛硬币——这不仅是可读性问题更是方差杠杆。共置共置是文件内的配套概念阶梯决定材料下沉多深共置决定下沉后和什么并排。一个概念的定义、规则、注意事项应放在同一个标题下而不是分散多处这样读其中一部分就会把它的邻居一起带出来。测试方法文档读起来应当像专门为 Agent 写的一样——分组的材料读起来如此散落的材料读起来不像。共置与重复不同重复是在两处表达同一个意思散落是把一个意思碎片化到多处。蔓延失败模式蔓延sprawl是这里的失败模式文档单纯地太长即使每一行都是有效且唯一的。注意力在过剩内容中变稀薄每一行多出来都是一行要保持相关。治疗方法是阶梯把参考披露到指针后按分支或序列拆分让每条路径只携带它需要的东西。步骤与完成标准每个步骤都以完成标准结束——告诉 Agent 工作何时完成的条件。两个属性使它成为杠杆清晰度clarityAgent 能否区分完成与未完成模糊的界限如达到理解会招致过早完成premature completion——步骤真正完成前就结束注意力滑向完成这件事。仍在前方的可见步骤后续步骤post-completion steps提供拉力完成标准的清晰度是阻力。防御顺序先磨利界限局部、廉价只有界限确实模糊且观察到了急躁时才通过拆分序列隐藏后续步骤——而且隐藏只在真正的上下文边界交接或子代理分发下有效内联调用把后续步骤留在上下文里清不掉任何东西。需求度demand它要求多少。每一个被修改的模型都要交代迫使彻底的工作而给一份变更清单做不到。需求度驱动legwork——Agent 在工作内部做的挖掘潜藏在措辞里而不是写成单独步骤。需求度不限于步骤每一条规则都应用约束的是一整块平铺的参考就像每一步都完成约束一个序列——这就是全参考文档仍然携带穷尽性标准的方式。最强的完成标准既可检查又穷尽checkable and exhaustive。何时拆分把一个文档拆成两个花费的是两种负载中的一种所以只有在拆分赚得回成本时才拆按序列拆分拆分一段步骤让后续步骤不再诱惑 Agent 赶跑当前的这一步。把它们移出视线会在当前任务上驱动更多 legwork。当心反向合并序列会把每一步的后续步骤暴露给它后面的内容招致过早完成。引导词与否定引导词用预训练概念锚定行为引导词是一个已存在于模型预训练中的紧凑概念Agent 在运行文档时用它思考如lesson、fog of war、tracer bullets。以 token 形式重复而不是句子它累积出一个分布式定义用最少的 token 锚定一整片行为区域——通过招募模型已有的先验。自创词也能用但必须定义清晰自造词招募不到先验——你在定义 token 上付出的正是预训练词免费给的。先用已有的词。引导词双重锚定在正文中执行锚定每次该词出现Agent 都取同样的行为在平铺参考内部它把注意力聚焦到一类要找的东西上。在指针中调用锚定当同一个词同时出现在你的提示词、文档和代码库里Agent 把共享语言与材料关联起来更可靠地到达它。文档给出两个重构示例fast, deterministic, low-overhead →tight一个tight循环。a loop you believe in →red——一个模糊的门槛变成二元的可观察状态bug 出现时循环变red或者不变。双重收益更少的 token外加一个更锋利的钩子让 Agent 挂住思考。技能强调假设每个文档都携带了可被引导词退休的重述去找出来。否定相邻的失败模式引导词旁边的失败模式是否定negation用禁令导向会把被禁止的行为拖进上下文让它更可用而不是更少。Dont think of an elephant大象就是全部否定是弱的修饰符被强激活的概念碾压所以禁令一半读起来像去做这件事。提示正面——陈述目标行为写一行注释被禁的那句永远不被说出。禁令只有在一个无法正面表述的硬护栏场景下才配占位即便如此也要配上正面目标让注意力落在该做什么上。对照仓库communication-style 技能 正是提示正面的实践——它列出要清除的 AI 模式清单puffery、AI 词汇、em dash 过度使用等同时给出正面替代用 plain words、用具体事实而不是只说不要像 AI 一样写作。修剪保持文档活着每个含义保持单一事实来源一个权威位置改行为就是一处编辑。重复——同一含义在多处——消耗维护和 token并把该含义在阶梯上的显著度抬到真实等级之上。它是引导词的反向事故引导词是刻意重复 token绝不重复含义。跨文档指引命名规范属主其他文档指向它只陈述各自的局部后果不重述共享规则。仓库中 AGENTS.md 的 Skill Ownership 表就是这条原则的落地——每个跨切面规则状态权威、性能测量、隔离空间信任边界、WebSocket/SSE 机制等都指定唯一的规范技能companion skills 只加领域特定后果与一个指针。环境也是事实来源package.json脚本、配置文件、目录布局、--help输出。重述环境的文档是缓存——一次查找的副本只在查找昂贵时才赚得回负载。缓存 Agent 靠看找不到的东西不成文的约定、选择背后的理由、配置文件不会坦白的小坑。一次性的一文件一命令查找留给环境那里不会过期。逐行检查相关性这一行还影响文档所做的事吗一行失去相关性要么因为从不作用于任务纯说明或应被披露的分支要么因为所描述的行为或世界变了而变陈旧。短文档更容易保持相关。没有修剪纪律默认命运是沉积sediment陈旧层不断堆积因为添加感觉安全而删除感觉冒险直到你必须钻过它们找到仍然活着的东西。逐句猎杀 no-op一条模型默认就会遵守的指令付负载说空话。测试方法——它是否改变默认行为——是模型相对的不是读者相对的。当句子失败时删除整句而不是从句子中删词。该测试同样给引导词打分一个弱到压不过默认的词Agent 已经相当彻底时还说要彻底是 no-op修复是一个更强的词relentless而不是换一种技术。OpenChamber 中的落地实践writing-for-agents 不是纸上谈兵仓库本身就是其原则的活标本AGENTS.md 保持常驻层极薄AGENTS.md 开头即声明只包含常驻的仓库规则与路由详细工作流属于技能与模块文档。对应上下文负载最小化原则。技能的 description 是指针每个 .agents/skills/*/SKILL.md 的 front matter description 精确列出触发分支与 AGENTS.md 的 Trigger 表一一对应AGENTS.md 并明令 Treating this table as optional advice is a process violation把技能加载定义为任务的必需部分对应必须到达的目标背后必须有锋利指针。规范属主机制AGENTS.md 的 Skill Ownership 表为每个跨切面规则指定唯一规范技能companion skills 只加领域特定后果与指针不重述规则正是命名一个 canonical owner其他文档指向它的工程化。正面指导文化communication-style 给出可执行的正面改写清单update-changelog 技能 用弱例 vs 好例对照教学而不是单纯列禁令。完成标准外显clack-cli-patterns 技能 明确每个命令/子命令必须有测试过的答案覆盖五种模式交互 TTY、--quiet、--json、非 TTY、错误路径这就是可检查且穷尽的完成标准。指针措辞与分支去重仓库 20 余个技能各司其职AGENTS.md 的 Trigger 列每个分支一个触发词例如创建/编辑技能或 AGENTS.md 时唯一加载 writing-for-agents评审 PR 时加载 pr-review分拣 PR 队列时加载 triage-prs 并复用 pr-review 作为逐 PR 引擎——companion 关系只加局部后果不重述规则。为 Agent 写作的五条法则指针措辞先于内容触发是第一步磨利措辞分支去重前置引导词。负载预算是硬约束常驻材料每轮付账能披露就披露认知负载留给需要人判断的地方。按紧迫程度排层级步骤内联、参考下沉、分支后披露保持顶部可读。完成标准要可检查且穷尽磨利界限防过早完成用需求度驱动 legwork。持续修剪单一事实来源、环境即来源、逐句猎杀 no-op警惕沉积。写作的最终检验只有一句话Agent 每次运行是否都走同一条可预测的过程做到了文档就成了 Agent 的可靠杠杆。赞分享AI Agent人工智能代码智能体交互助手【免费下载链接】openchamberAgentic Development Environment based on OpenCode AI agent项目地址https://gitcode.com/gh_mirrors/op/openchamber点击查看免费下载相关推荐Open WebUI 本地部署教程10 分钟搭起能切换模型的对话界面Open WebUI 本地部署教程10 分钟搭起能切换模型的对话界面 公司内网断网要给 20 人的团队一个能随时切换模型的对话界面又不想写一行前端——这就人工智能大模型AI 应用RAGAI Agent本地部署交互助手后端前端PyWxDump 微信数据解析工具现状、使用边界与合规风险完整指南PyWxDump 微信数据解析工具现状、使用边界与合规风险完整指南 PyWxDump 是一个 Python 编写的微信数据解析工具用于读取本机微信客户端数据库为 Agent 写文档以 writing-for-agents 的五大杠杆写出零冗余的 AGENTS.md 与 Skill为 Agent 写文档以 writing for agents 的五大杠杆写出零冗余的 AGENTS.md 与 Skill 本文以本仓库中 writing fAI 技能AI 插件上一篇效率革命SeedVR2-7B单步推理技术将视频修复成本直降90%下一篇终极JavaScript数据拟合神器regression-js完整指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表