@jamonholmgren: 我来把我的整个智能体开发环境设置全盘托出,因为我看到太多人错过了其中的重要部分,并且……

X AI KOLs Timeline 新闻

摘要

Jamon Holmgren 分享了他全面的智能体开发环境设置,包括工作流程文档、自愈文档、跨智能体审查、自动化测试和自治智能体循环。

我来把我的整个智能体开发环境设置全盘托出,因为我看到太多人错过了其中的重要部分,这对他们造成了困扰。 以下是我拥有并推荐的内容: 0. 一个作为路由器的 AGENTS.md 文件——它将智能体引导到正确的技能、文档和工具 1. 一个根据我的需求定制的工作流程文档/技能(如果你还没有类似的东西,可以抓取 Matt Pocock 的技能)……在大多数会话中,我用 `@/AGENT_WORKFLOW.md` 来标记它,它会自动引入。 2. 为每个系统提供自愈文档,并指示智能体保持它们的更新……我标记我知道需要的文档,或者让智能体通过 AGENTS.md 找到它们……我还在每个文档的前 7 行提供更详细的摘要,这样它们很容易被 grep 找到正确的内容,这已在 AGENTS.md 中记录。 3. 智能体始终运行应用程序……智能体应该始终自己实际运行应用程序,并在过程中测试其工作并修复问题,特别是在异步/自主运行时。 4. 端到端测试以及编写更多测试并保持更新的说明,还有关于如何编写测试、避免什么的文档,以及一个列出所有测试及其测试内容的 markdown 文档……在实施过程中编写并运行有针对性的测试,改进并随工作一起提交。 5. 在预提交钩子中使用自定义的 linter,用于查找你遇到的任何问题,并使用 `--fix` 自动修复问题,或者如果不可行,则使用更便宜的 LLM(如 Composer 2.5 或 Sonnet)来修复问题——不仅仅是标记问题,而是实际清理代码。 6. 在每个主要节点进行跨智能体审查:研究、计划、实施和总结。我的意思是 codex、claude、cursor 等——但不应该是同一个模型审查同一段代码。还有针对智能体审查的特定文档,包括审查什么、如何审查。此外,还有角色——从不同角度查看代码,如可维护性、代码质量、安全性、性能、AI 气味、领域(例如“金融服务专家”等)……每个角色也“拥有”一组系统文档并保持更新。 7. 智能体追踪/工作表,记录智能体每次会话的操作。如果智能体中途失败,你应该能够将此工作表交给另一个智能体,让它完成工作。将此工作表与工作一起提交,以便所有内容都关联在一起,以后容易参考(你以后一定会参考这些!),同时让智能体应用与工作表名称对应的 git 标签,以便易于查找。 8. 会话结束时自动向您反馈智能体,添加到文档中并与工作一起提交,您可以定期将其输入到交互式会话中并改进您的工作流程。 9. 一个包含 Python 或 Bash 脚本的工具或 bin 文件夹,智能体拥有制作这些脚本的技能,以使其工作更轻松(例如,我有一个 `agent_review` bash 脚本,让智能体通过 CLI 启动代理审查,而不需要知道每个代理的具体咒语)……关于如何有效制作脚本的文档,以及不断扩展这些脚本的说明。 10. 定期对最近的提交进行智能体扫描,从更高的层面跨提交寻找问题/陷阱。 11. 一个仅针对代码库中特定编码约定的编码约定文档,您的审查智能体经常使用它(但很多内容应该放在 linter 中)。 12. 一个用于自主工作的智能体循环/夜班技能,从编排角度说明智能体如何处理工作。 13. 一个智能体可访问的任务队列(我的只是一个 TODOS.md,但您的可能是 Linear 等,带有通过 API 获取的 CLI)。 14. 一个定期的虚假自信测试审计技能,用于查找那些并没有测试您认为的测试内容的测试,并修复它们。 15. 视觉回归测试——截图,通过工具和智能体视觉审查比较,与工作一起提交(这里 git lfs 很有用)或至少推送到 PR 中。 16. 自动性能基准测试,当性能下降时能通知。 17. 性能分析工具,可供智能体用于有针对性的基准测试、尝试新技术、比较输出和分析结果。 18. 下班前的全面验证,包括运行所有测试、性能测试、智能体审查、扫描等——当您返回时,一切尽可能原始。 如果您拥有所有这些,您的智能体编码体验将与枯燥的提示和每次手动引导它到正确方向截然不同。
查看原文
查看缓存全文

缓存时间: 2026/07/12 12:53

我直接把我整个智能体设置全盘托出,因为看到太多人遗漏了很大一部分内容,这让他们的工作很受影响。

以下是我已有的和推荐的内容:

  1. 一个 AGENTS.md 文件,作为路由器——它引导智能体找到正确的技能、文档和工具

  2. 一个根据我的需求定制的标准工作流文档/技能(如果你还没有的话,可以拿 Matt Pocock 的技能)。在大多数会话中,我用 @/AGENT_WORKFLOW.md 标记它,它就会被拉进来。

  3. 每个系统的自愈文档,并指示智能体保持更新。我标记我知道需要的文档,或者让智能体通过 AGENTS.md 找到它们。我还会在每个文档的前 7 行提供更详细的摘要,这样就能很容易地通过 grep 找到正确的内容,这一点在 AGENTS.md 中有记录。

  4. 智能体始终运行应用。智能体应该始终自己运行应用程序,测试自己的工作,并在过程中修复问题,尤其是在自主/异步运行时。

  5. 端到端测试,以及编写更多测试并保持更新的指令,还有关于如何编写测试、避免什么的文档,以及所有测试及其测试内容的列表(放在另一个 markdown 文档中)。在实现过程中编写并运行有针对性的测试,改进并随工作一起提交。

  6. 在 pre-commit 钩子中设置自定义 linter,用于发现你遇到的任何问题,使用 --fix 自动修复问题;如果不可行,则调用更便宜的 LLM(如 Composer 2.5 或 Sonnet)来修复问题——不仅仅是标记问题,而是实际清理代码。

  7. 在每个主要节点进行跨智能体审查:研究、计划、实现和收尾。我指的是 codex、claude、cursor 等——但不应是同一个模型审查同一段代码。还要有专门的智能体审查文档,说明要查看什么、如何处理。同时设置角色——从不同角度审视代码,如可维护性、代码质量、安全性、性能、AI 异味、领域(例如“金融服务专家”等)。每个角色也“拥有”一组系统文档,并保持更新。

  8. 智能体追踪/工作单,记录每个会话中智能体所做的事情。如果智能体中途失败,你应该能够把这个工作单交给另一个智能体,它就能完成剩下的工作。把这个工作单随工作一起提交,这样所有内容都是关联的,日后容易引用(你以后一定会引用这些的!)。还要让智能体应用与工作单名称对应的 git 标签,方便查找。

  9. 会话结束时,智能体自动向你反馈,添加到一个也随工作提交的文档中。你定期将此文档提取到交互式会话中,改进你的工作流。

  10. 一个 tools 或 bin 文件夹,其中包含 Python 或 bash 脚本,智能体拥有制作这些脚本的技能,以便使工作更轻松(例如,我有一个 agent_review bash 脚本,让智能体可以通过 CLI 启动智能体审查,而无需知道每个智能体的特定咒语)。还有关于如何有效编写脚本的文档,以及不断构建这些脚本的指令。

  11. 定期让智能体扫描最近的提交,从更高层面跨提交查找问题/陷阱。

  12. 一份编码约定文档,只包含你希望在代码库中看到的特定编码约定——你的审查智能体大量使用这些约定(但很多内容应该放在 linter 中)。

  13. 一个智能体循环/夜班技能,用于自主工作,从编排的角度说明智能体应如何处理这项工作。

  14. 一个智能体可访问的任务队列(我的只是一个 TODOS.md,但你的可能在 Linear 等工具中,并通过 CLI 通过 API 获取)。

  15. 一个定期的虚假信心测试审计技能,用于检查那些实际上并没有按你预期进行测试的测试,并修复它们。

  16. 视觉回归测试——截图,通过工具和智能体视觉审查进行比较,随工作一起提交(此处 git lfs 很有用),或者至少推送到 PR 中。

  17. 自动性能基准测试,用于在性能下降时发出通知。

  18. 性能分析工具,智能体可用于进行有针对性的基准测试、尝试新技术、比较输出以及比较性能概况。

  19. 下班前的全面验证,包括运行所有测试、性能测试、智能体审查、扫描等所有内容——当你返回时,一切都尽可能保持原样。

如果你拥有所有这些,你的智能体编码体验将与干巴巴地提示并每次手动引导它走向正确方向截然不同。

相似文章

@itsclelia: I have one big problem with agentic engineering: I want agents to operate autonomously, but I also want granular, rever…

X AI KOLs Timeline

I have one big problem with agentic engineering: I want agents to operate autonomously, but I also want granular, reversible control over every change they make. I could solve this by committing every intermediate step to Git, but that would completely pollute my repo history. So I built 𝗮𝗴𝗴𝗶𝘁: a Git-like CLI for local and remote (S3-backed) agent artifact storage, written in Rust . With aggit, my agents can stash intermediate work, create branches safely, restore previous states, and back