LLM代理不会仅仅完成一项任务就停止;它以持续的循环方式工作。可以这样理解:一个代理观察其所处环境(或任务的当前状态),根据这些观察和其目标思考下一步做什么,然后采取行动。这个序列不是一次性发生的。它会重复,让代理能够取得进展,适应新信息,并努力完成更复杂的任务目标。这个基本的重复过程通常被称为代理的运行循环。它说明了代理如何从简单地处理语言,到执行一系列行动。让我们来细分这个循环的主要阶段:观察(收集信息) 代理在每个循环中的第一步是收集信息。这种“观察”可以有多种形式。它可能是你给出的初始指令,例如“为我总结这份文档”。它也可能是代理之前采取行动的结果,比如“搜索查询返回了三篇文章”或“尝试访问文件时发生错误”。或者,它可能是来自外部来源的新数据。本质上,代理正在收集它做出知情决策所需的当前数据点。这个步骤通常涉及检查其短期记忆,以理解当前情况相对于过去交互的背景。思考(处理和规划) 一旦代理有了观察结果,它就需要“思考”。这是大型语言模型(LLM),即代理的大脑,开始工作的阶段。LLM处理从观察中获得的新信息,考虑其总体目标(由其初始指令或提示定义),并决定下一步。这可能包括:分析观察结果:“用户需要摘要,我已经有了文档内容。”制定或更新计划:“步骤1:阅读文档。步骤2:识别要点。步骤3:生成摘要。”决定具体行动:“下一步行动是使用‘文本摘要’工具。” LLM将即时观察与更广泛的指令以及任何进行中的计划结合起来,以确定要做什么。行动(执行和交互) 在“思考”阶段之后,代理“行动”。行动是代理执行的任何操作。这可能是:为用户生成文本响应(例如:“这是您请求的摘要...”)。使用工具(例如,访问计算器、进行网络搜索或查询数据库)。调用外部API(例如,获取天气数据或发送电子邮件)。修改其内部状态或记忆(例如,记录子任务已完成)。 如果代理在其思考阶段决定使用天气工具查询“巴黎”,那么行动将是以“巴黎”作为输入执行该工具。这种观察-思考-行动的循环随后重复。行动的结果(例如,工具检索到的天气信息,或工具失败时的错误消息)成为循环下一次迭代的新观察结果。代理观察这个新状态,思考它在其目标背景下的含义,并决定随后的行动。这个过程会一直持续,直到代理成功完成其总体任务或被指示停止。digraph G { graph [fontname="Arial"]; node [fontname="Arial", style="rounded,filled"]; edge [fontname="Arial"]; rankdir=TB; Observe [label="1. 观察\n(收集当前状态、\n用户输入、工具输出)", shape=box, fillcolor="#a5d8ff"]; Think [label="2. 思考\n(LLM处理、\n决定下一步、\n更新计划)", shape=box, fillcolor="#b2f2bb"]; Act [label="3. 行动\n(执行工具、\n生成响应、\n与环境交互)", shape=box, fillcolor="#ffc9c9"]; Goal_Check [label="目标达成?", shape=diamond, fillcolor="#ffe066"]; End [label="任务完成\n或暂停", shape=ellipse, fillcolor="#ced4da"]; Observe -> Think [label="信息"]; Think -> Act [label="决策/指令"]; Act -> Goal_Check [label="结果/产出"]; Goal_Check -> Observe [label="否,继续"]; Goal_Check -> End [label="是"]; }LLM代理的运行循环涉及重复观察情况、思考下一步并采取行动,直到达成总体目标。这种运行循环使代理对各种任务特别有效。这种循环过程不是单一输入产生单一输出,它使代理能够:管理多步骤任务:复杂目标可以分解并逐一处理,每个循环都取得进展。适应新信息:如果行动不按计划进行(例如,工具返回错误),代理可以观察这个结果,思考替代方法,然后在下一个循环中采取不同行动。保持持续交互:通过将观察结果(这可以包括之前的行动和思考历史,通常存储在记忆中)反馈到循环中,代理可以进行更连贯和更长的对话或过程。你可以看到,我们本章中讨论的代理核心组成部分,都这个循环中发挥各自的作用:LLM 是“思考”阶段的引擎,执行推理。指令和提示 在每个“思考”阶段持续引导LLM的决策。工具 是在“行动”阶段使用的工具,让代理能够执行多种操作。短期记忆 非常重要。它在“观察”时被查阅,以提供先前循环的背景,并且通常在“思考”阶段期间或之后更新,包含新的学习或状态变化。规划能力,帮助代理“先思考后行动”,在“思考”阶段中使用,以策略性地规划达到目标所需的行动序列。理解这种观察-思考-行动循环,是理解LLM代理如何运作并完成它们被设计用来执行的任务的根本所在。在下一节“简化的代理工作流程”中,我们将查看一个更具体的逐步示例,说明这个循环在实践中的应用。