过去两年,AI从业者普遍形成了一种直觉:AI Agent表现不够好时,第一反应是优化提示词——加更多指令、加示例、加角色定义。但随着Agent在复杂任务中逐步落地,越来越多人意识到一个更根本的问题:当前Agent缺少的,不是更精巧的提示词,而是可靠的控制流。
所谓控制流,即程序中决定”先做什么、后做什么、遇到情况A时走哪条分支”的机制。传统软件通过条件判断、循环、异常处理等结构,精确控制系统行为。然而,当我们将AI封装为Agent时,却倾向于把所有决策权都交给模型本身——让模型自己判断下一步做什么、是否需要调用工具、如何处理错误。这种设计在简单场景下工作良好,但在多步骤、跨系统的复杂工作流中,模型会不可避免地出现规划失误和状态遗忘。

实际场景的挑战尤为突出。以自动化代码审查工作流为例:Agent需要先拉取代码变更,然后逐一分析每个文件,判断是否存在安全漏洞,再生成报告。在这一流程中,如果某步操作超时或返回意外结果,Agent需要有能力回退或重试,而不是继续用错误的中间状态往下走。但纯提示词驱动的Agent缺乏这种结构化的容错机制。
这并不是说提示词工程不重要。提示词仍然是与模型交互的基础界面,它定义了Agent的能力边界和输出风格。但从系统可靠性角度看,Agent框架需要在更上层引入控制流抽象——类似于传统编程中的工作流引擎或状态机——来管理Agent与环境交互的整体逻辑。模型负责具体判断,框架负责流程控制,各司其职。

当前主流Agent框架已经开始向这一方向演进。例如,基于状态机设计的Agent架构,将任务分解为离散的步骤并为每步定义明确的成功条件和失败处理;再如,将Agent行为树与LLM结合,让模型只在预定义的决策点进行自由判断,而在其他环节遵循预设逻辑。这些实践都在暗示:Agent的下一阶段进化,不是更强的模型,而是更好的控制结构。

OpenClaw—AI研究