通往 Agent Autonomy 的道路:挑战、发现与 28 行解决方案

发布: (2026年2月21日 GMT+8 11:31)
5 分钟阅读
原文: Dev.to

Source: Dev.to

现有代理配置的问题

我见过的一些 CLAUDE.mdAGENTS.md 文件看起来像是把微观管理包装成工程学:数百行指令规定要读取哪些文件、运行哪些命令以及执行顺序。
这些文件在代理真正开始思考实际任务之前就已经消耗了成千上万的 token。

  • 每一个用于指令的 token 都是代理本可以用于完成你的工作的 token。
  • 指令越僵硬,代理就越脆弱。

用 28 行实现自主代理的运行法则

我希望在 Claude Code 终端中给代理一个任务,并让它在没有任何输入或反馈的情况下完成任务,无论任务多么简单或复杂。结果是一套简洁的指令,使代理保持执行模式并提供一个简单的持久化机制。

防止进入计划模式

代理经常会进入 计划模式,自行切换为只读,生成研究子代理,却从不写入任何文件。这是因为提示注入在前面加了一条提醒,例如 “你 绝不能 做任何编辑”。写入工具仍然可用,只是代理选择不使用它们。

修复(单行):

Never use EnterPlanMode. Execute tasks directly.

即使 EnterPlanMode 并不是实际的工具名称,代理也能理解其意图并保持在执行模式。

提供持久化记忆

代理在会话之间没有记忆;每个新会话都是全新的。为了给代理一个持久化信息的地方,添加下面两行:

You have no lasting memory between sessions. Use .memory-bank in project root for persistence.
Read .memory-bank at start, write to it throughout. Goal, success measures, plan, and progress must exist there before and during execution.

现在代理知道:

  • 它在会话之间没有持久记忆。
  • 将持久化数据存放在 .memory-bank(项目根目录)。
  • 要存放的内容(目标、成功衡量、计划、进度)必须在执行前后都存在于该文件中。

代理自行决定如何组织这些文件,而不是被强制使用僵硬的结构。

实验与结果

基线(未做任何修改)

  • 任务: 构建一个全栈应用。
  • 权限: --dangerously-skip-permissions
  • 34 分钟后的结果: 未创建任何文件
  • 代理卡在计划模式,使用了三个子代理进行研究,却从未向磁盘写入。

添加 “Never use EnterPlanMode” 行后

  • 代理保持在执行模式,立即开始构建。

添加 .memory-bank 行后

  • 第一步:读取 .memory-bank,发现是空白状态。
  • 然后:写入目标、成功衡量和架构计划。
  • 接着构建数据库、API 适配器、路由、服务器以及完整前端——全部在几分钟内完成。

关键洞见

  • 从控制转向委托。 与其列举每一步骤,不如描述期望的结果、边界,让模型自行推理。
  • 前沿模型会推断并作出判断。 用僵硬指令过度约束它们,只会让上下文被规则填满,而不是理解。
  • 简洁的“宪法”胜过清单。 提供一套简短的高层原则,使代理能够高效组织自己的工作流。

完整的 Autonomous Agent Law 以及每行背后的推理已在 GitHub 上公开。欢迎 Fork、测试并观察变化。

0 浏览
Back to Blog

相关文章

阅读更多 »