推荐一个维护 AGENTS.md 的思路,觉得还蛮实用的。
题目也很吸引人:AGENTS.md其实是一个神经网络。
很多人的做法都是 Agent 犯一次错,就往 AGENTS.md 里补一条规则。
时间久了文件越来越长,旧规则没删,新规则继续加,最后 Agent 每次都要读一堆已经没什么用的东西。
这篇文章换了个思路:
把项目级 AGENTS.md 当成一个需要「训练」的神经网络。
每一次 Claude Code / Codex session 都是一次 forward pass。
Agent 走过的弯路和被你纠正的地方就是 loss,再定期从这些真实 session 里提取问题,小幅更新 AGENTS.md,相当于做一次 backward pass。
而且要给它固定 Token budget,新增一条规则,就要考虑删掉或移走什么。
作者还直接开源了一个 backpass 工具来自动做这件事。
我还是很喜欢这个思路的。
AGENTS.md 真的不该靠感觉越写越长,而是应该根据 Agent 真正干过的活,一点点「训」出来。
文章
顯示更多
OpenAI 的 Agents SDK 最近做了一次重要升级,增加了两个关键功能:内置沙箱执行环境和模型原生执行框架(Harness)。这次更新的目标,是帮助开发者更容易地创建安全可靠、能长时间稳定运行的 Agent。
以前开发者使用 OpenAI 的模型来搭建 Agent 时,模型本身的能力虽然够强,但实际运行环境却需要自己搭建。比如文件读写、代码执行、依赖安装、状态保存等基础功能都需要开发者手动处理,费时费力。
现在,SDK 自带沙箱执行环境,Agent 可以在这个统一受控的环境里读写文件、运行代码命令、自动安装依赖,还能保存状态。开发者再也不用从头开始搭建底层环境。
这个沙箱环境支持很多常见的云厂商,包括 Cloudflare、Vercel、Modal、E2B、Daytona 等,也允许开发者接入自己的解决方案。
此外,SDK 还提供了一个名叫 Manifest 的统一配置层,可以挂载本地文件或云存储空间,比如 S3、Google Cloud Storage 和 Azure Blob。从本地开发调试到正式生产上线,开发者只需一套配置就能搞定。
另一个亮点是 SDK 采用了模型原生的 Harness 架构,这种设计将 Agent 的状态保存和计算执行分离开来。这样一来,即便运行 Agent 的容器意外崩溃,也能快速恢复状态,继续执行任务,无需从头开始。此外,这种状态外置的做法也能有效保护敏感数据和凭证,避免因提示注入等安全漏洞导致数据泄露。
除了以上这些功能,SDK 还内置了 MCP 工具调用、Skills 渐进式能力暴露、AGENTS.md 自定义指令、Shell 工具命令执行、Apply Patch 文件编辑工具和灵活的记忆系统。这些以前需要开发者自己用 LangChain 等通用框架组合或手写的功能,现在全部内置在 SDK 中,由 OpenAI 针对自家模型专门优化。Oscar Health 的工程师反馈称,使用新的 SDK 才真正实现了临床记录处理工作流在生产环境中的稳定运行,远超此前尝试过的方案。
放眼行业,类似的生态竞争越来越激烈:Anthropic 推出了 Claude Code,Google 提供了 Agent Development Kit(ADK),现在 OpenAI 也将自家的 SDK 从轻量级框架升级为带沙箱、带状态管理的完整开发平台。对于开发者来说,选择哪个平台生态可能会比单纯选模型本身更关键。
当前 SDK 支持 Python,TypeScript 支持也正在开发中。所有 OpenAI API 用户均可直接使用,计费方式维持不变,仍然按照 Token 和工具调用标准收费。
顯示更多
大部分人写的 AGENTS.md 都在说「别碰这个」「别改那个」。
Vercel 工程师的版本思路相反——它告诉 AI 怎么思考软件工程。效果?省掉 80% 的无效 token 消耗。
完整模板,直接放到项目根目录:
# AGENTS.md
不要维护向后兼容性。废弃的代码路径直接删,不留兼容层和回退方案。
在满足当前需求的前提下,用最简单的方式实现。别加没必要的抽象和配置项。
渐进式构建。先做出能端到端跑通的最小版本,再在稳定的基础上加功能。
组件模块化。不同职责之间划清边界。
优先用成熟、维护良好的库。不要重新发明轮子,除非有明确理由。
加新依赖之前,先看看已有依赖能不能干这件事。先读文档,别凭感觉下判断。
架构决策要能服务长期。别写那种你知道迟早要重写的临时方案。
设计之前,先研究成熟产品怎么解决同类问题。用被验证过的模式,别从零另搞一套。
这不是限制。这是工程直觉。
给 AI agent 一个导航系统,不是一条狗链。
顯示更多
Claude 新的一篇博文《How Warp builds self-improving agents on Claude》 ,看了后还是挺有收获,它解决的是 Skill 的进化问题。
这个问题我以前也研究过,我写了一个反编译 JS 代码的 Skill( Agent 反编译的时候遇到新的场景解决了就自己更新自己的 Skill,效果还不错,能一直优化,就是 Skill 文件越来越大。
我还研究过写作的自我进化 Skill,那个就一言难尽,因为它其实没有自己统一的标准,经常负优化,越写越糟糕。
说回来 Warp 这个,Warp 是一个挺有名的终端工具,内部尝试借助 AI 做 Code Review。一开始让 Agent review 代码,效果并不理想,主要问题体现在 Agent 不了解你的项目,不知道你的团队规范,不知道历史经验教训,就算你指出来问题它下次还记不住。简单来说就是没有记忆。
初期他们采取了很多补救措施:
- 手动根据失败案例改系统提示词
- 完善项目的 AGENTS.md 文件(有意思的是这篇文章是 Claude 发的,但是用的是 AGENTS.md 而不是 CLAUDE.md,我记得 Claude 默认不支持 AGENTS.md 的😅)
但效果并不理想,一方面它依赖于人主动去做,成本较高;另一方面团队成员在 Code Review 时人工在 PR 写的高质量评论完全没用上。
所以他们搞了个解决方案,一个基础 Skill 负责做代码审查,一个改进 Skill 负责定期收集人类工程师在代码审查时的评论,尤其是对 Agent 审查结果的评论,根据人类工程师的评论去更新代码审查的 Skill。
换句话说,它不是依赖于模型自己去改进自己,而是 Agent 根据人类对模型结果的标注(人类对代码审查的评论),去改进技能。
只不过它把这个事做的摩擦力极低,不需要人手工去收集整理评论,不需要填写调查问卷,人只要自然的去代码下写评论,后面的事情都是 Agent 自动完成。
这可能正是 Agent 的最佳实践方案之一:人负责高纬度的标注、评论、反馈这些事情,Agent 去做执行的工作,Agent 根据人类的反馈去改进 Skill。
除此之外,他们还总结了一些最佳实践:
1. 写原则,不要写死规则。
编写 skill 时,要像在指导一个聪明人,而不是在给计算机编程。在 Skill 中写“寻找重复代码”,比列出详尽的变量命名规则更有效。
2. 解释为什么。
说明规则背后的理由,能让智能体针对问题进行推理,而不是机械执行僵化指令,也因此更容易举一反三。
3. 让反馈没有摩擦毫不费力。
在人们原本工作的地方收集反馈,例如直接评论 PR 或 issue。同时让收集过程自动发生,不要增加额外的提交步骤。低摩擦才能让信号持续流动。如果反馈太麻烦,你就收不到反馈,也就无法改进 Skill。
4. 保持 Skill 精简,并使用渐进式披露。
优秀的 skill 文件不会很庞大;它会引用资源文件和脚本,而不是一次性把所有内容都塞进上下文。
5. 反馈质量大于数量,但数量也有帮助。
一位资深工程师给出的少量、详细且与领域相关的反馈,可能比大量草率反馈更有价值,因为简单的赞成/反对并不能说明“为什么”。
即使样本量相对较小,只要反馈来自掌握领域知识的人,而且足够详细,你也能得到非常好的信号——这些知识是智能体通过其他方式根本无法获得的。话虽如此,优质信号的语料越多,效果越好。
6. 做好改进 Skill 的 Skill,可以用来改进其他 Skill。
把改进 Skill(也就是前面提到的一个代码审查 Skill 一个改进 Skill)做好,收益不只限于眼前这套 Agent 循环,因为改进 Skill 在不同用例之间具有很高的复用性。除了领域专用知识这一部分,它其实是一套相当通用、可复用的机制。代码审查 Agent 的改进 skill,也可以应用到其他 Skill 的改进上。
可能有人会担心:如果反馈本身是错的呢?
Warp 的做法是永远不让 Agent 盲目接受反馈。给它足够的上下文来做基本的合理性检查,限制谁的反馈有权影响技能更新(不是所有人的意见都同等重要),最后始终保留人在循环中审核改动。
对于那些有明确标准答案的领域,比如代码是否通过了测试、部署是否成功,可以先建一个验证基准,让 Agent 自己对着基准跑。没有标准答案的领域,比如代码风格、文档质量,就靠领域专家的判断,不要开放给所有人随意反馈。
顯示更多
有没有人感兴趣一款整合你所有 agents md 文件的可搜索记忆库?我设想的是它能够自动整理本地电脑所有 workspace 的 md 文件,自动处理相关文件的多模态向量化,并支持部署到任意云服务以支持意图创作的自动化。
顯示更多
这个是我用 GLM 5.2 最惊艳的地方,那就是 AGENTS.md 里面的约束会真的生效。Kimi K 2.7 代码在多次循环后还阔以,但是无论是 K 2.7,还是 GPT 5.5,抑或是 M3,都会在长上下文中丢失这些约束。
我这个 Task 从 20:00 执行到现在,花了三个半小时,依旧能注意约束修正代码。
顯示更多
用 Astra 开发的时候,最容易犯的一个错误就是你自认为比 Astra 还聪明。
用各种复杂的 Skill,Hooks,Agents.MD 来禁锢了 Astra 的创造力,最后做出来的产品的上限不是 Astra 的上限,而是你的上限。
我开了一个新的 Repo,尝试在几乎没有 Skill 和 Agents.md 的 vanilla setup 下重构一下我的 App,看看有什么不一样。
顯示更多
Shopify CEO威胁要内部封杀Claude Code,原因只是一个配置文件
Tobi Lütke公开发帖称,正考虑在Shopify内部禁用Claude Code,除非它开始读取AGENTS.md这类文件。
问题出在:Shopify内部不同团队用着不同的AI编程工具,但Claude Code只认自己专属的CLAUDE.md,不读取AGENTS.md这个已被Codex、Cursor、GitHub Copilot、Gemini CLI等20多个工具支持的开放标准。
Tobi补充说明,Shopify的代码库有数千名开发者共用,一旦某个目录漏配了文件,部分团队成员的AI工具就会"带着阉割版认知"工作,虽然公司已经用自动化脚本同步两套文件,但他认为这是一笔"不必要的复杂度税"。
Claude Code团队成员Thariq随后回应,表示正在让Claude Code变得更易定制,未来会支持轻松使用AGENTS.md,理由是"不同模型家族并非可互换,系统提示对模型表现影响很大"。
但这个解释没能说服所有人。
有开发者反问:如果每个模型都需要专属优化的提示文件,那为什么只有一份CLAUDE.md,而不是按模型版本再拆分成好几份?
更合理的做法应该是默认读取行业已有的开放标准AGENTS.md,把CLAUDE.md当成特殊情况下的补充选项,而不是反过来。
顯示更多
Codex 真正省时间,不是某一次帮你做得特别快。
而是同一件事第二次出现时,不必再从头教。
可以按这个顺序沉淀:
经常重复的项目规则,写进 AGENTS.md;
固定步骤和固定格式,做成 Skill;
需要连接外部服务,再考虑 Plugin 或 MCP;
流程已经稳定、结果容易验收,再交给定时任务。
别一上来就追求全自动。
先手动跑通一次,再连续稳定几次,最后才自动化。
顯示更多