news 2026/8/3 12:10:54

Agent 知识总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Agent 知识总结

【第1节】Agent如何工作的?


1. 核心:感知,决策,行动,反馈
2. 过程:用户提问-》Agent思考行动(React 思考方式,Reasoning+Acting 的迭代式决策逻辑)-》根据意图选择工具-》执行工具-》结果加工-》输出答案;
3. Agent React 思考方式:是当前前沿多智能体系统的核心决策机制,指智能体通过 “观察 - 推理 - 行动 - 反馈” 的闭环流程,实现复杂任务的自主拆解、动态调整与高效执行。Agent React 思考方式的突破,使 AI 从 “信息提供方” 升级为 “任务执行方”。

【第2节】Agent架构组件


1. Tool(工具)
核心作用:单个功能模块,比如查天气、查汇率。每个工具专注做一件事。
特色说明:强调工具是 “解决单一任务” 的执行单元,每个工具只负责一个具体功能,不做通用推理。
2. AgentType(代理类型)
核心作用:决定 Agent 如何 “思考” 和 “推理”,常见的有 ReAct(反应式推理)。
特色说明:直接点明这是定义 Agent 的 “思考方式”,即它的推理逻辑和决策模式。
3. LLM(大模型)
核心作用:Agent 的大脑,负责理解和推理,常用模型如 qwen-turbo。
特色说明:标注 “内容”,突出大模型是整个智能代理的核心认知引擎,负责理解指令、生成逻辑、驱动决策。
4. initialize_agent(初始化代理)
核心作用:把大脑(LLM)和工具们组合起来,生成一个能跑的智能助手。
特色说明:标注 “组”,强调它是 “组装器” 的角色,将大模型与各类工具整合,形成完整可用的智能代理系统。

【第3节】LangChain与LangGraph区别


1. LangChain:大模型应用开发工具集 / 框架,提供海量组件(如数据加载、提示词、工具调用、记忆等);
2. LangGraph:基于 LangChain 构建的有状态多智能体工作流框架,专注于复杂、循环、多步骤的智能体流程编排
3. 若仅需实现简单功能(如 RAG 问答、单轮工具调用、基础对话),直接用 LangChain 即可,轻量高效;
4. 若需实现复杂流程(如多轮推理、循环重试、多智能体协作),基于 LangChain 组件,用 LangGraph 编排流程;
5. 核心区别:LangChain 是 “组件库”,覆盖大模型应用全链路;LangGraph 是 “流程编排引擎”,专注复杂闭环工作流,依赖 LangChain;
6. LangGraph 通过节点角色划分和状态共享实现多智能体交互。def researcher_agent(state):
# 调用工具获取数据,更新状态
state["research_data"] = call_search_tool(state["query"])
return state

def analyst_agent(state):
# 分析数据,生成结论,更新状态
state["analysis_result"] = analyze_data(state["research_data"])
return state

# 定义多智能体协作流程
graph.add_node("researcher", researcher_agent)
graph.add_node("analyst", analyst_agent)
graph.add_edge("researcher", "analyst")

【第6节】记忆对话的Memory的类型


1. ConversationBufferMemory:描述:存储按顺序的对话历史;适用场景:简单对话
2. ConversationBufferWindowMemory:描述:存储固定大小的对话窗口,保留最近 N 条对话;适用场景:长对话,保留最新的对话
3. ChatMessageHistory:描述:记录对话的每条消息(更细粒度的历史);适用场景:复杂聊天场景
4. EntityMemory:描述:记录和处理实体信息(如人物、地点等);适用场景:需要记住实体的场景
5. MapMemory:描述:存储键值对,适用于状态管理,适用场景:需要键值对存储的场景
6. CustomMemory:描述:自定义的记忆类型;适用场景:特定需求


【第7节】Prompt 设计原则和优化方法


一、 设计原则
清晰明确:界定任务目标、输出格式、约束条件,无歧义表述。
指令前置:核心指令置于开头,优先引导模型聚焦任务。
上下文适配:提供必要的背景信息、领域知识或对话历史。
格式约束:明确输出格式,降低后续处理成本。
简洁性:剔除无关信息,避免注意力分散。
可验证性:要求输出附带依据、来源或推理过程。
二、 优化方法
迭代式优化:测试 - 反馈 - 调整,循环提升 Prompt 质量。
角色设定:赋予模型专业角色,锚定知识范围与语言风格。
Few-Shot 提示:嵌入输入 - 输出示例,传递任务逻辑。
任务拆解:拆分复杂任务为简单子任务,分步引导完成。
约束强化:明确禁止项与边界条件,限定内容范围、长度、合规要求。
关键词强调:标注核心关键词,引导模型重点关注。

【第8节】ReAct Agent 概念


一、 定义
ReAct Agent 是一种基于大语言模型的智能体框架,通过交替执行推理(Reasoning)和行动(Acting)的循环(TAO 循环)来完成任务。其核心设计源自 2023 年 ICLR 会议论文《ReAct: Synergizing Reasoning and Acting in Language Models》。
二、 核心原理与设计
1. TAO 循环机制
思考(Thought):分析问题并规划行动路径。
行动(Action):调用工具(如搜索引擎、API 等)执行具体操作。
观察(Observation):评估行动结果并反馈至下一轮循环,直至任务完成。
2. 优势
结合内部推理与外部工具,减少模型幻觉。
具备动态决策能力,支持多工具协同和实时环境适应。

【第9节】ReAct Agent 图解

ReAct (Reasoning + Acting)是目前最经典的智能体模式。它的逻辑很像人类解决陌生问题:思考 -> 行动 -> 观察 -> 再思考

核心Prompt设计

ReAct的灵魂在于Prompt,你必须教会它“按格式说话”:

REACT_PROMPT = """ 尽你所能回答以下问题。你可以使用以下工具: [Search]: 用于搜索未知信息 请严格遵循以下格式: Question: 需要回答的问题 Thought: 你现在的思考过程 Action: [Search] Action Input: 搜索的关键词 Observation: 工具返回的结果 ... (重复 Thought/Action/Observation) Final Answer: 最终答案 """

它不是一次性把事做完,而是像走迷宫一样,一步步试探。

核心代码逻辑

这就是ReAct的“引擎”部分,一个简单的while循环就能实现:

def react_agent(question): prompt = REACT_PROMPT + f"\nQuestion: {question}" while True: # 1. 让LLM思考并决定行动 response = get_completion(prompt) # 2. 如果LLM决定结束,直接返回 if "Final Answer:" in response: return response.split("Final Answer:")[-1] # 3. 解析LLM想调用的工具和参数 action, action_input = parse_action(response) # 简单的正则提取 # 4. 执行工具(Hands) observation = search(action_input) # 5. 将执行结果反馈给LLM(闭环关键!) prompt += f"\n{response}\nObservation: {observation}"

点评:ReAct最强的地方在于容错。如果第一步搜错了,LLM看到Observation不对,会在下一轮Thought里自我纠正。

【第10节】MCP 解析

MCP 的本质是通过客户端将用户的 Prompt 与可用工具列表一并发送给 LLM。LLM 在理解意图后,会返回需要调用的工具名称及其对应参数。随后,MCP 客户端通过定义好的统一接口调用对应工具,完成实际执行。

用户输入 Query │ ▼ MCP 客户端构造请求(Prompt + 工具列表) │ ▼ LLM │ ▼ 解析 Prompt,返回工具名 + 参数 │ ▼ MCP 客户端通过统一接口调用对应工具 │ ▼ 工具执行并返回结果复制

以官方的client 代码举例,通过self.session.list_tools()方法获取所有的tool,然后构建一个Claudi api call,让大语言模型去判断是否调用工具

"""Process a query using Claude and available tools""" messages = [ { "role": "user", "content": query } ] response = await self.session.list_tools() available_tools = [{ "name": tool.name, "description": tool.description, "input_schema": tool.inputSchema } for tool in response.tools] # Initial Claude API call response = self.anthropic.messages.create( model="claude-3-5-sonnet-20241022", max_tokens=1000, messages=messages, tools=available_tools )

接下来如果返回内容中content的类型是tool_use,则获取tool的名称及入参,然后调用call_tool方法(mcp库提供),进行方法调用,并获得最终的结果

assistant_message_content = [] for content in response.content: if content.type == 'text': final_text.append(content.text) assistant_message_content.append(content) elif content.type == 'tool_use': tool_name = content.name tool_args = content.input # Execute tool call result = await self.session.call_tool(tool_name, tool_args)
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/29 18:46:00

AMD ROCm高性能计算环境完整解决方案:从入门到精通

AMD ROCm高性能计算环境完整解决方案:从入门到精通 【免费下载链接】ROCm AMD ROCm™ Software - GitHub Home 项目地址: https://gitcode.com/GitHub_Trending/ro/ROCm 想要在Windows平台上构建稳定高效的AMD ROCm开发环境?本技术指南将深入解析…

作者头像 李华
网站建设 2026/7/27 23:22:50

AIClient-2-API技术实现方案:智能API代理与多模型集成架构

AIClient-2-API技术实现方案:智能API代理与多模型集成架构 【免费下载链接】AIClient-2-API Simulates Gemini CLI, Qwen Code, and Kiro client requests, compatible with the OpenAI API. It supports thousands of Gemini model requests per day and offers fr…

作者头像 李华
网站建设 2026/7/28 5:19:29

Qwen3-4B开源价值解析:自主可控AI落地实战

Qwen3-4B开源价值解析:自主可控AI落地实战 1. 技术背景与核心价值 近年来,大语言模型(LLM)在自然语言理解、代码生成、多模态推理等场景中展现出强大能力。然而,多数高性能模型依赖闭源生态或受限部署方式&#xff0…

作者头像 李华
网站建设 2026/7/29 22:39:43

Qwen3-1.7B-FP8:17亿参数AI双模式推理新范式

Qwen3-1.7B-FP8:17亿参数AI双模式推理新范式 【免费下载链接】Qwen3-1.7B-FP8 Qwen3-1.7B的 FP8 版本,具有以下功能: 类型:因果语言模型 训练阶段:训练前和训练后 参数数量:17亿 参数数量(非嵌入…

作者头像 李华
网站建设 2026/7/30 5:42:16

eSpeak NG 文本转语音终极安装配置指南

eSpeak NG 文本转语音终极安装配置指南 【免费下载链接】espeak-ng espeak-ng: 是一个文本到语音的合成器,支持多种语言和口音,适用于Linux、Windows、Android等操作系统。 项目地址: https://gitcode.com/GitHub_Trending/es/espeak-ng eSpeak N…

作者头像 李华
网站建设 2026/7/28 21:21:57

SikuliX图像识别自动化:5分钟快速上手完整指南

SikuliX图像识别自动化:5分钟快速上手完整指南 【免费下载链接】SikuliX1 SikuliX version 2.0.0 (2019) 项目地址: https://gitcode.com/gh_mirrors/si/SikuliX1 SikuliX是一款革命性的开源自动化工具,通过先进的图像识别技术实现桌面操作的智能…

作者头像 李华