AI 01| 通过实例理解Agent架构概念、及执行流程中涵盖的技术组件
一、背景
在当前人工智能(AI)迅猛发展的背景下,“Agent”一词正以前所未有的热度,成为技术领域核心焦点。这一概念并非全新,但在大模型(LLM)技术的推动下,其内涵和应用已成为主流发展方向。
LLM的发展,让AI Agent已经从传统的强化学习框架中的“决策单元”,演变为具备人类认知能力的“智能代理”,我们常提的Agent就是LLM Agent(可以结合多模态模型,文本 + 图像 + 音频 + 视频等,形成LLM+多模态Agent)或智能体(Intelligent Agent),可以理解语言、记忆交互历史、规划任务、调用工具、与环境持续交互,到目前已经可以实现多步自主推理和执行。
如果要搭建一个基于LLM的Agent需要做什么:了解Agent基本原理、技术边界,规划Agent的能力,例如:对话问答、经营分析、技能操作、知识管理等功能,判断业务ROI、价值,知识库构建、评测标准制定、效果回收等。
二、LLM Agent 架构理解
一个典型的LLM Agent通常由以下几个关键模块构成,先来看一个简单的LLM Agent执行流程。

1. Model - 大语言模型LLM
模型部份负责理解输入、生成响应、推理与决策自然语言的理解和生成,将内部决策过程人类可读的语言表达出来。
2.Memory- 记忆
存储短期对话历史和长期经验,支持上下文感知和持续学习。
短期记忆:保存当前会话的上下文(如最近几轮对话);
长期记忆:可以通过向量数据库存储形成的历史经验(“知识库”)、支持语义检索这些经验和知识(通过RAG技术),来实现记忆功能和持续学习。实际上LLM的架构并未解决模型的长期记忆问题,即,其实LLM是没有真正意义上的长期记忆。
知识库
我们可以通过知识库(Knowledge Base),来补充LLM在特定里领域的知识欠缺,知识库通常作用在LLM Agent的记忆模块(Memory),尤其是在检索增强生成(RAG)环节,通常在任务规划、决策或响应之前被调用。
LLM的内部知识和外部知识库
|
维度 |
内部知识(训练数据) |
外部知识库 |
|
来源 |
预训练时的海量公开文本 |
向量数据库、文档、API查询、企业数据 |
|
更新频率 |
固定不变(除非重新训练) |
可实时更新 |
|
准确性 |
可能过时或模糊 |
可控、可验证 |
|
存储方式 |
神经网络参数(黑盒) |
结构化/向量化数据(可查) |
|
成本 |
推理时无需额外调用 |
需检索,略有延迟 |
|
优点 |
响应快,常识丰富 |
准确、实时、可定制 |
|
缺点 |
易幻觉、难更新 |
依赖检索质量 |
知识库的作用
在任务规划时,判断是否先从知识库中获取检索到的知识(RAG机制),避免仅依赖LLM的内部知识(内部知识指训练数据,可能过时或不准确),再补充上下文,为大模型提供实时、准确、可信赖的外部信息支持,提升决策质量。
知识库如何“补足”内部知识的短板
|
内部知识(LLM 自带) |
+ |
外部知识库(实时补充) |
= |
更优决策 |
|
“冰岛有xx” |
+ |
“xx2025年实行分时段预约制” |
→ |
Agent 会提醒用户提前预约 |
|
“冬天适合旅游” |
+ |
“今年xx景点提前两周开放” |
→ |
推荐x月中旬出行 |
|
“推荐酒店” |
+ |
“xx酒店当前评分4.9,含早” |
→ |
精准推荐 |
使用知识库,用外部知识“校准”内部知识,内部知识(记忆) + 外部知识(查阅) = 更准确的智能,这也是 RAG(检索增强生成)的核心价值。可以说,RAG技术一般是运用在Memory节点,查询知识库,获得更新后的经验/知识。
比如:Agent记住你昨天说“喜欢咖啡”,今天就能推荐咖啡馆。
知识库常见类型
|
类型 |
用途 |
|
向量数据库(如 Pinecone、Milvus、Chroma) |
存储文本片段的向量,支持语义检索(“类似问题”也能匹配) |
|
结构化数据库(如 PostgreSQL + pgvector) |
存储结构化信息(酒店列表、票价表) |
|
文档库(PDF、网页、Wiki) |
存放旅游指南、政策文件等 |
|
API 接口封装的知识源 |
如天气API、地图API,也可视为动态知识库 |
3.Planning - 规划
将复杂任务分解成子任务,制定执行路径(任务规划和推理 Planning&Reasoning),任务分解,比如,帮我安排一次去冰岛的旅程,拆解为:查询天气、预定机票、推荐酒店。这些子任务一般由LLM自主生成和动态调整的,而不是靠人工预先写死的固定流程,但这背后有一整套的系统设计来支持这种“人类思维”的推理能力。任务规划的本质,是从指令到行动计划,比如“帮我安排一次去冰岛的旅行”,这是一个高层目标,但是没有具体的步骤,要执行这个指令,需要先理解意图(Intent Understanding)、再分解任务(Task Decomposition),这是LLM的强项,它通过训练学到了大量的关于“人们如何计划旅游”的常识性知识。那么,任务分解是如何发生的,通过LLM的“思维链”推理,基于提示工程的推理模式(Prompting Strategies)。LLM本身不会自动做任务分解,需要通过特定的提示策略(Prompting)引导它进行结构化思考。
常见的任务分解提示策略方法包括 Prompting Strategies 提示词策略/范式
Chain-of-Though(CoT)提示法
意图识别后,分解任务,让模型一步一步思考,以下是思维链的提示法
用户输入:帮我安排一次去杭州的旅行。
系统提示:请将这个任务分解为几个可执行的子任务,按顺序列出。
输出:
1. 确定出行时间
2.查询冰岛近期天气
3.预订往返机票或车票
4.推荐并预订住宿酒店
5.规划每日行程
6.建议当地美食与交通方式
7.提醒携带物品
这是最基础的任务分解方式,由LLM自主生成
ReAct框架 (Reason +Act)
实现“ReAct”(Reason + Act)模式的关键在于将推理(Reasoning)与行动(Action)交替进行,形成一个动态的、基于反馈的决策循环。
Reason(推理,确定当前缺失的关键信息)
“我现在需要帮用户安排旅行,首先要了解他们的出行时间和预算”
推理内容:没有时间和预算,无法筛选目的地、交通、住宿。
必须先获取这两个关键参数
Act(行动,调用工具或接口获取信息)
Act:调用对话工具向用户提问“请问您打算什么时候出发?预算多少?”
Observe(观察,接收用户反馈)
假设用户回复:“我计划10月15日出发,预算每人5000元,想出去玩5天左右。”
Reason(新一轮推理,基于新信息规划下一步)
Reason:“现在已知出发时间为10月15日,预算5000元/人,时长5天。接下来需要确定目的地偏好和出行人数,以便推荐合适的行程和交通方式。”
推理内容:预算和时间允许国内中长途或部分东南亚短途旅行。
仍缺少:目的地偏好(自然/城市/海岛)、出行人数(影响住宿和交通选择)。
Act(新行动,调用工具继续提问,或用搜索工具)
Act:调用对话工具向用户提问“感谢信息!您有偏好的旅行类型吗?比如自然风光、城市观光、海岛度假?另外,是几个人一起出行呢?”
Observe(再次观察,获取新反馈)
用户回复:“喜欢自然风光,两个人去。”
Reason(深入推理,开始生成候选方案。
Reason:“两人出行,偏好自然风光,预算5000元,5天行程。可考虑云南、川西、桂林等自然景观丰富的地区。需进一步查询10月中旬的天气、机票价格和景点推荐。”
推理内容:可调用工具查询:目的地天气、机票/高铁价格、景点热度。
需评估是否在预算内。
Act(执行外部调用,使用工具搜索信息)
Act:调用以下工具:
search_flights(departure: "北京", destination: "丽江", date: "2025-10-15")
search_hotels(city: "丽江", check_in: "2025-10-15", nights: 4)
get_weather_forecast(city: "丽江", date: "2025-10-15")
search_attractions(city: "丽江", category: "nature")Reason(整合信息,做决策)
Reason:“查询结果显示,丽江10月中旬天气晴好,机票人均1200元,四晚住宿约2000元,景点门票和交通在预算内。适合推荐。”
Act(输出最终建议)
Act:向用户输出完整行程建议:
根据您的需求,推荐您和伴侣前往丽江进行5天自然风光之旅
出发:10月15日 北京→丽江,机票约1200元
住宿:古城附近精品民宿,4晚共约2000元
行程建议:
玉龙雪山
泸沽湖2日游
束河古镇
总预算预估:4800元/人,符合您的要求。
需要我为您预订或提供详细路线吗?
ReAct特性,就是交替进行,收到回答后继续分解下一步,Reason 、Act 、Observe 、Reason、 Act… 循环推进,不预设完整流程,每一步根据反馈调整策略,用户中途改变需求,系统可即时调整推理路径,在这种方式下,任务不是一次性全部列出,而是边执行边规划,更具灵活性。
Tree of Thoughts(ToT)
更高级的方法,模型会尝试多种可能的分析路径,评估哪种更好,然后选择最优方案
例如:
路径A:先订票、再找酒店、最后安排行程
路径B:先看景点、根据位置选住处、再买票
模型可以模拟不同路径的成本/合理性,并选择最佳策略。
提示词策略总结
子任务主要由大模型基于其内部知识自主生成,再根据上下文动态调整,每次可能因上下文不同而生成不同的任务序列。能根据反馈、失败、新信息实时修改计划,需配合记忆、工具、调度器等模块才能落地执行。Chain-of-Thought (CoT)、ReAct 和 Tree of Thoughts (ToT) 都属于 Prompting Strategies(提示策略) 或称为 Prompting Paradigms(提示范式),通过设计特定的提示结构来引导大型语言模型(LLM)进行更复杂、更可靠、更接近人类思维的推理过程。尽管它们都旨在提升 LLM 的推理能力,但它们在目标、机制和应用场景上有显著区别。
|
特性 |
Chain-of-Thought (CoT) 思维链 |
ReAct |
Tree of Thoughts (ToT) |
|
核心思想 |
引导模型在给出最终答案之前,先输出其逐步的推理过程(即“思维链”)。就像教学生解题时要求“写出解题步骤”一样。 |
将 推理(Reasoning) 与 行动(Acting) 结合。模型在推理过程中可以调用外部工具(如搜索引擎、计算器、API)来获取信息或执行操作,形成“思考 → 行动 → 观察 → 再思考”的循环。 |
将推理过程看作一棵搜索树。模型在每一步生成多个可能的“思维”(即推理分支),评估这些分支,然后探索最有希望的路径,甚至可以回溯。借鉴了人类“试错”和“多角度思考”的能力。 |
|
核心机制 |
单路径逐步推理 |
推理 + 外部行动 |
多路径搜索与评估 |
|
是否调用工具 |
否 完全依赖模型内部知识,不调用外部工具 |
是 |
否(通常) |
|
推理路径数量 |
1 条 |
1 条(但有外部反馈) |
多条(树状) |
|
是否支持回溯 |
否 |
有限(依赖观察) |
是(显式搜索) |
|
适用任务 |
数学题、逻辑推理 |
问答、事实核查、需要实时信息的任务 |
复杂规划、创意生成、博弈、需要探索多种方案的任务 |
|
实现复杂度 |
低 |
中 |
高 |
|
计算开销 |
低 |
中 |
高(多次 LLM 调用) |
|
本质 |
提升内部推理透明度 |
连接内部推理与外部世界 |
模拟人类的探索式问题解决 |
|
范式 |
推荐库 |
是否开箱即用 |
复杂度 |
|
Chain-of-Thought (CoT) |
LangChain, LlamaIndex, 原生 API |
是(只需写 prompt) |
底 |
|
ReAct |
LangChain, Semantic Kernel, LlamaIndex |
是(有 agent 模块) |
中 |
|
Tree of Thoughts (ToT) |
tree-of-thoughts-llm, LangChain(自定义) |
部分支持(需较多开发) |
高 |
4. Tool USE - 工具调用
调用外部API、数据库、代码解释器、搜索引擎等完成具体的操作,工具调用让LLM不仅可以只是思考说话,也可以动手做事,支持调用:搜索引擎、数学计算(python代码执行)、数据库查询、发送邮件、控制智能家居等。比如,算一下 (3.14 * 5)^2”,Agent 自动生成代码并返回结果 246.49。
5. ReAct - 行动-观察循环
持续与环境交互:采取行动- 观察结果 - 调整策略,Agent可以在无人干预下完成多步任务
典型流程:用户指令 → 任务分解 → 执行动作 → 获取反馈 → 调整计划 → 完成任务
三、其它
三、其他补充
1.典型LLM Agent框架
AutoGPT:开源项目,展示完全自主的目标驱动行为;
BabyAGI:基于任务队列的迭代式Agent系统;
LangChain / LlamaIndex:提供构建Agent的基础设施(记忆、工具集成、链式调用);
Microsoft Semantic Kernel:企业级Agent开发平台;
Meta HST(Hierarchical State Transformer):用于复杂游戏任务的分层规划Agent。
2.应用场景和Agent行为
个人助理:管理日程、写邮件、订餐厅、查资料
客服机器人:理解复杂问题,跨系统查询订单状态
编程助手:写代码、调试、自动化测试
科研助手:文献综述、数据分析、生成报告
金融投资:分析市场、生成策略、执行交易(需风控)
3.挑战和局限
幻觉问题:LLM 可能编造信息或错误调用工具
规划错误累积:多步任务中一步出错可能导致整体失败
执行效率低:频繁调用API成本高、延迟大
安全与伦理风险:自主Agent若失控可能造成危害
4.实际系统中LLM Agent的组件工作流
[用户输入]
[NLU模块] —— 解析意图:“计划旅行” + 目的地:“冰岛”
[任务规划器] —— [LLM]
生成子任务列表(自主推理)
[任务调度器] —— 按优先级排序任务(如先查天气再订票)
[工具调用引擎] —— [搜索API] [航班预订API] [酒店推荐API]
[状态追踪器] —— 记录已完成/待办任务
[反思模块] —— 若失败则重试或换策略
[最终输出] —— 返回完整旅行计划给用户
5.学习改进,具有“反思”能力的Agent
更先进的 Agent(如 Reflexion 框架)还能做到:“上次我忘了提醒带伞,结果用户淋雨了,
这次下雨天出行我要加一句建议携带雨具。”
这类 Agent 会:记录每次任务的成功/失败、自动生成反思日志、将经验存入长期记忆,用于未来决策,这就实现了持续学习和行为优化。
更多推荐



所有评论(0)