当AI学会“不忘初心”:Codex CLI的/goal指令如何让Agent持续奔跑
原文: Codex CLI 0.128.0 adds /goal
OpenAI的Codex CLI新增/goal指令,通过提示词工程让编码Agent能自动循环执行,直至达成目标或耗尽预算,这标志着Agent从“单次问答”向“持续任务”演进。
核心要点
- 新增/goal指令:用户可设定目标,Agent自动循环执行直到完成
- 核心机制是提示词注入:通过continuation.md和budget_limit.md模板在每轮对话后自动触发
- 这实现了类似“Ralph循环”的Agent工作模式,即持续自我评估和推进
- 标志着编码Agent正从工具向能自主完成复杂任务的“协作者”演进
深度解读
起因:为什么一个CLI工具的更新值得聊?
表面上看,这只是一个命令行工具的小版本更新。但如果你关注AI Agent的工程实践,这其实是一个重要的信号。OpenAI的Codex CLI(一个让开发者通过命令行使用AI编码能力的工具)在0.128.0版本中加入了/goal指令。这不仅仅是多了一个参数,它引入了一种让AI Agent“持续工作直到完成”的新范式。在AI应用从“聊天”走向“干活”的当下,这种能让Agent自主循环、持续推进任务的能力,正是当前工程探索的前沿。
拆解:/goal到底做了什么?
简单来说,以前你让Codex写一段代码,它写完就结束了。现在,你可以用/goal “修复所有单元测试失败”这样的指令告诉它一个目标。之后,Agent会进入一个循环:它执行一步操作(比如修改一段代码),然后自动评估当前状态是否更接近目标,如果没有达成,它会自己决定下一步该做什么,并继续执行。这个循环会一直持续,直到它自己判断目标已经完成,或者你设定的“代币预算”(token budget)用完。这个功能的核心实现非常巧妙:它主要通过两个提示词模板(continuation.md和budget_limit.md)在每一轮对话结束时自动注入到上下文中。这本质上是一种提示词工程,通过精心设计的指令来“教会”模型如何自我驱动。
趋势洞察:从“工具”到“协作者”的Agent进化 这个功能揭示了一个更深层的趋势:AI Agent正在从被动的“指令执行工具”进化为主动的“任务协作者”。
- 持久化任务状态:传统的AI交互是“无状态”的,一问一答。而
/goal引入了“任务目标”这个持久化状态,让Agent有了工作的“初心”和终点。 - 自我评估与规划:Agent需要不断评估“我离目标还有多远?”并规划下一步。这正是实现真正自主性的关键一步,类似于人类在完成复杂项目时的持续反思和调整。
- 资源感知:预算(token budget)的设定,意味着Agent开始被设计为在资源约束下工作,这更贴近真实世界的软件开发场景。Simon Willison提到的“Ralph循环”(一个由开发者Geoffrey Huntley推广的概念)正是这种持续执行循环的代名词。现在,主流工具开始内置这种模式,说明它正从实验性理念走向标准化功能。
实用价值:这对开发者意味着什么? 对于使用AI辅助编程的开发者而言,这意味着你可以将更复杂、更模糊、更长期的任务交给AI。例如,你可以设定一个目标:“重构这个模块以提高可测试性”,而不是一步步告诉AI“把这个函数拆开、给那个类加个接口”。Agent会自己探索代码库、尝试修改、运行测试并迭代。这能极大提升处理“烂摊子”型任务的效率。当然,这也对开发者提出了新要求:你需要学会如何设定清晰、可评估的“目标”,并合理设置预算,以避免AI陷入无意义的循环或产生过高成本。
反常识/意外:一个简单的功能,背后是复杂的权衡 一个容易被忽略的点是,这个功能完全由提示词驱动,而非复杂的底层架构改动。这展示了在当前阶段,高级的Agent行为可以通过巧妙的提示词工程在现有模型上实现。但这也带来了隐忧:自动循环可能让成本失控。因此,“预算限制”不是一个可选项,而是一个核心的安全阀。这提醒我们,在拥抱Agent自动化能力的同时,成本控制和任务范围界定将成为开发者新的核心技能。未来,我们或许会看到更多关于“如何为AI Agent设定有效目标”的最佳实践涌现。