Agent 交互形态演化¶
现代 LLM Agent 的形态,起源于姚顺雨 的 ReAct 一文。这篇文章继承了历史上的 Agent 的工作流程,并将其扩展到 LLM Agent 中。
下文讲解当下 Agent 的主要形态和演化过程。
1. ReAct¶
ReAct 是 reasoning + acting (推理+执行)的缩写。它的核心思想是:让模型先观察、然后推理,再调用工具,并观察工具执行的结果,根据结果继续推理。这种形式可以完成简单的单步任务。
我们可以很自然地为 ReAct Agent 添加一个固定次数的循环,或者要求 Agent 直到(自己觉得)完成了某个具体的要求才能结束循环。这样就能让 Agent 执行多步任务。
这个时期的 Agent 执行的步数可能只有固定的几步。
这类 Agent 能做到的事情比较有限,只有一些步骤不多、有一定不确定性,且无法写成结构化的规则的任务。
2. Coding Agent 与 Coding CLI¶
计算机命令行(Command-Line),是一个能够将输入和输出都统一为文本流的绝佳环境。从 GitHub Copilot 和 Cursor 开始,Agent 开始大规模在命令行中进行工作。
CLI 是 Command-Line Interface, 即命令行界面的缩写。命令行界面是基于文本的界面(Text-based User Interface, TUI)。TUI 通过文本符号渲染一个简单的交互界面供用户使用。
相较于简单的 Coding Agent, Coding CLI 因其能够通过命令行进行交互,故可以直接在本地文件系统中工作,使得获取信息的效率进一步提升。
这个时期, Agent 可以一口气参考十个以上的文档,并连续执行十几步的工作流程。Agent 的每一步工作,都能直接从代码的正确执行、历史记录、乃至报错中,获得最真实有效的反馈。
这类 Agent 能够浏览本地文件、写代码、改文档、读数据库、维护本地知识库、做项目级长期任务,而且能直接调用本地安装过的工具来为自己提效,如 grep, Git, FFmpeg 等等。
3. Self-improve Agent¶
Self-improve Agent (自进化 Agent )会根据运行结果和环境的反馈,调整自己的策略、规则或工具使用方式,并将规则固化下来,形成可以复用的的文档、代码、规范等。
这个时期 Agent 能够执行几十步甚至上百步的任务。此时任务步数已经不太能衡量 Agent 的性能了,更好的指标是 Agent 稳定运行的时间。
这类 Agent 开始以小时为单位,自主稳定运行、自主纠错、沉淀经验教训,并能主动改造已有且不完善的流程。 Agent 开始进入“越用越好用”、“越用越懂你”的阶段。
4. 类 OpenClaw Agent¶
严格来说, OpenClaw 不是一个良定义的 Agent 类型。它只不过是将 Agent 接入了聊天软件,并进行了一系列的适配,使得没有用过 Agent 的人也能通过聊天软件,比较轻松地用上 Agent。
OpenClaw 的本质还是 Coding Agent 的一套逻辑(OpenClaw 的核心框架是 Pi ,一个极其简单但扩展性极强的 Coding Agent),可以自行配置一些 self-improve 策略,能够执行一些定时任务。但考虑在2026年初 “龙虾热潮” 的影响下,大量的其他 Agent 也能够直接接入用户的聊天框了,因此本文将其记录进来。
5. 为什么要使用 (本地)Agent¶
Agent 能够直接驱动现在最强的开/闭源模型,为你设定的具体目标,不知疲倦地工作。但仅凭这一点,并不能说明为什么一定要使用本地 Agent,因为现在网页版本的 Agent 也有良好的性能表现。
使用本地 Agent 最大的理由是,本地 Agent 直接使用你的工作环境,适应你的工作习惯:
你在本地留下的一切,工作目录,工作文件,使用习惯, 对你本人而言,比网络上的任何信息都更可信;而 Agent 可以学习、继承这些配置和习惯,并且在此基础上进行深入的工作。