AI Agent智能体技术:从问答到执行的范式革命

news2026/5/24 16:29:06
标签:AI Agent、大模型、智能体、LangChain、ReAct、Function Calling📖 前言2026年5月20日,谷歌I/O 2026大会在美国加州山景城开幕。谷歌CEO桑达尔·皮查伊(Sundar Pichai)在大会上宣布:“我们已正式进入’智能体Gemini时代’。”就在同一天,百度Create 2026大会上,百度创始人李彦宏提出AI时代的“度量衡”——DAA(Daily Active Agents,日活智能体数),标志着AI产业从“参数竞赛”正式转向“价值验证”阶段。从Google的Gemini Spark到百度的DuMate,从Anthropic的Claude Code到OpenAI的GPT-5.5,**AI Agent(智能体)**已从概念走向成熟商用,成为2026年最炙手可热的技术方向。本文将深入剖析AI Agent的技术架构、核心算法、工程实现,并提供完整的代码示例,帮助开发者快速掌握这一革命性技术。一、AI Agent的本质:感知-规划-行动-反思闭环1.1 什么是AI Agent?AI Agent(智能体)是一种能够自主理解目标、规划行动路径、调用外部工具、执行复杂任务的AI系统。与传统的问答式AI不同,Agent具备:自主决策能力:根据环境反馈动态调整执行策略工具调用能力:通过Function Calling/API与外部系统交互长期记忆能力:跨会话保持上下文和学习成果自我反思能力:评估执行效果并持续优化用一句话概括:AI Agent = 大脑(LLM)+ 记忆 + 工具 + 规划引擎1.2 从“Chat”到“Act”的范式转移传统ChatBot的交互模式:用户输入 → LLM生成回答 → 结束AI Agent的交互模式:用户输入 → 理解目标 → 分解任务 → 调用工具 → 观察结果 → 自我反思 → 完成任务这种ReAct(Reasoning + Acting)循环让AI从被动回答者转变为主动执行者。谷歌将这种转变称为“2026年的痛点从’幻觉’转向’懒惰’——用户不想看一大段总结,他们想要结果。”1.3 Agent的核心价值维度传统AIAI Agent交互方式问答任务执行工具使用无Function Calling/API上下文单次会话长期记忆错误处理返回错误自我反思重试价值交付信息可执行结果二、AI Agent技术架构深度解析2.1 整体架构概览一个完整的AI Agent系统包含四大核心层:┌─────────────────────────────────────────────────────────────┐ │ 交互层(Interaction Layer) │ │ 对话UI │ API接口 │ 多模态输入 │ Webhook │ 定时调度 │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ Agent核心层(Agent Core Layer) │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────────┐ │ │ │ 规划模块 │ → │ 推理模块 │ → │ LLM大脑 │ ← │ 工具选择模块 │ │ │ │Planning │ │Reasoning│ │ LLM │ │Tool Select │ │ │ └─────────┘ └─────────┘ └─────────┘ └─────────────┘ │ │ ┌─────────┐ ┌─────────┐ ┌─────────────────────────┐ │ │ │记忆模块 │ │执行模块 │ │ 自我反思模块 │ │ │ │ Memory │ │Execute │ │ Self-Reflection │ │ │ └─────────┘ └─────────┘ └─────────────────────────┘ │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 工具层(Tools Layer) │ │ 搜索 │ 计算器 │ 代码执行 │ API调用 │ 文件操作 │ 数据库 │ 邮件 │ │ MCP协议(工具标准) │ └─────────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────┐ │ 数据层(Data Knowledge Layer) │ │ 向量数据库 │ 知识图谱 │ 文档库 │ Redis缓存 │ RAG引擎 │ └─────────────────────────────────────────────────────────────┘2.2 感知模块(Perception Module)感知模块负责处理多模态输入,包括文本、语音、图像等,并将其转换为标准化的观测数据。# Python实现:多模态输入感知模块fromdataclassesimportdataclassfromtypingimportList,Optional,Dict,AnyfromenumimportEnumimportjsonclassInputType(Enum):TEXT="text"VOICE="voice"IMAGE="image"FILE="file"API_EVENT="api_event"SCHEDULED="scheduled"@dataclassclassObservation:"""标准化观测数据"""input_type:InputType content:strraw_data:Any metadata:Dict[str,Any]timestamp:floatsession_id:struser_id:Optional[str]=NoneclassPerceptionModule:""" 感知模块:多模态信息输入与处理 核心功能: 1. 输入标准化 2. 去噪与整理 3. 高质量预处理 """def__init__(self):self.input_handlers={InputType.TEXT:self._handle_text,InputType.VOICE:self._handle_voice,InputType.IMAGE:self._handle_image,InputType.FILE:self._handle_file,InputType.API_EVENT:self._handle_api_event,InputType.SCHEDULED:self._handle_scheduled,}defperceive(self,raw_input:Any,input_type:InputType,session_id:str,user_id:Optional[str]=None)-Observation:""" 主入口:处理各类输入并返回标准化观测 """# 1. 选择对应的处理器handler=self.input_handlers.get(input_type)ifnothandler:raiseValueError(f"Unsupported input type:{input_type}")# 2. 调用处理器content,metadata=handler(raw_input)# 3. 构建标准化观测observation=Observation(input_type=input_type,content=content,raw_data=raw_input,metadata=metadata,timestamp=time.time(),session_id=session_id,user_id=user_id)returnobservationdef_handle_text(self,raw_input:str)-tuple[str,Dict]:"""处理文本输入"""# 文本清洗cleaned=raw_input.strip()# 意图识别元数据metadata={"length":len(cleaned),"has_url":"http"incleaned,"has_code":"```"incleaned,"language":detect_language(cleaned)}returncleaned,metadatadef_handle_voice(self,raw_input:bytes)-tuple[str,Dict]:"""处理语音输入 - 需要ASR"""# 实际项目中调用语音识别服务# asr_result = asr_service.recognize(raw_input)asr_result="语音转文字的识别结果"# 模拟metadata={"duration":len(raw_input),# 模拟"sample_rate":16000,"confidence":0.95}returnasr_result,metadatadef_handle_image(self,raw_input:bytes)-tuple[str,Dict]:"""处理图像输入"""# OCR识别# text = ocr_service.extract(raw_input)extracted_text="图像中的文字内容"# 模拟metadata={"image_size":len(raw_input),"format":"png/jpeg","ocr_confidence":0.92}returnextracted_text,metadatadef_handle_file(self,raw_input:Dict)-tuple[str,Dict]:"""处理文件上传"""# 解析文件内容file_path=raw_input.get("path")file_type=raw_input.get("type")content=self._parse_file(file_path,file_type)metadata={"file_name":raw_input.get("name"),"file_size":raw_input.get("size"),"file_type":file_type}returncontent,metadatadef_handle_api_event(self,raw_input:Dict)-tuple[str,Dict]:"""处理API事件触发"""event_type=raw_input.get("event_type")event_data=raw_input.get("data",{})content=f"Event:{event_type}, Data:{json.dumps(event_data)}"metadata={"event_source":raw_input.get("source"),"event_id":raw_input.get("id")}returncontent,metadatadef_handle_scheduled(self,raw_input:Dict)-tuple[str,Dict]:"""处理定时任务触发"""task_name=raw_input.get("task_name")schedule_time=raw_input.get("schedule_time")content=f"Scheduled task:{task_name}"metadata={"schedule_type":raw_input.get("type"),"schedule_time":schedule_time}returncontent,metadata2.3 记忆模块(Memory Module)记忆是Agent从“一次性工具”进化为“持续学习助手”的关键。系统采用分层记忆架构:# Python实现:分层记忆系统fromtypingimportList,Optional,Dict,Anyimporttimeimporttiktokenfromdataclassesimportdataclass,field@dataclassclassMemoryItem:"""记忆单元"""content:strmemory_type:str# 'short_term' | 'long_term' | 'experience'timestamp:floatimportance:float=0.5# 0-1,越高越重要access_count:int=0embedding:Optional[List[float]]=NoneclassShortTermMemory:""" 短期记忆:工作记忆,维护当前对话上下文 使用滑动窗口机制,避免上下文溢出 """def__init__(self,max_tokens:int=4000):self.buffer:List[MemoryItem]=[]self.max_tokens=max_tokens self.tokenizer=tiktoken.get_encoding("cl100k_base")defadd(self,content:str,memory_type:str="short_term"):"""添加记忆"""item=MemoryItem(content=content,memory_type=memory_type,timestamp=time.time())self.buffer.append(item)self._trim_by_tokens()defget_context(self,max_items:Optional[int]=None)-str:"""获取上下文"""items=self.buffer[-max_items:]ifmax_itemselseself.bufferreturn"\n".join([item.contentforiteminitems])defget_all(self)-List[MemoryItem]:"""获取所有记忆"""returnself.buffer.copy()def_trim_by_tokens(self):"""按Token数量裁剪"""total=sum(len(self.tokenizer.encode(item.content))foriteminself.buffer)whiletotalself.max_tokensandlen(self.buffer)2:removed=self.buffer.pop(0)total-=len(self.tokenizer.encode(removed.content))defclear(self):"""清空短期记忆"""self.buffer.clear()classLongTermMemory:""" 长期记忆:持久化存储关键经验和知识 基于向量数据库实现语义检索 """def__init__(self,vector_store,embeddings):self.store=vector_store# Pinecone/Weaviate客户端self.embeddings=embeddings# OpenAI embeddings等asyncdefstore_experience(self,task:str,outcome:str,lesson:str,metadata:Optional[Dict]=None):""" 存储经验到长期记忆 """doc_content=f""" 任务:{task}结果:{outcome}经验教训:{lesson}"""doc={"pageContent":doc_content.strip(),"metadata":{"type":"experience","timestamp":time.time(),"task_type":metadata.get("task_type")ifmetadataelseNone,**(metadataor{})}}awaitself.store.add_documents([doc])# 同步到经验库awaitself._sync_to_experience_store(task,outcome,lesson)asyncdefrecall(self,query:str,k:int=5)-List[str]:""" 检索相关记忆 """results=awaitself.store.similarity_search(query,k=k)return[r.pageContentforrinresults]asyncdef_sync_to_experience_store(self,task:str,outcome:str,lesson:str):"""同步到结构化经验库"""# 提取关键模式passasyncdefconsolidate(self,session_summary:str):""" 记忆巩固:将重要短期记忆迁移到长期记忆 """# 识别重要信息important_patterns=awaitself._extract_important_patterns(session_summary)forpatterninimportant_patterns:awaitself.store_experience(task=pattern["task"],outcome=pattern["outcome"],lesson=pattern["lesson"])classHierarchicalMemory:""" 分层记忆管理器 协调短期记忆和长期记忆的交互 """def__init__(self,vector_store,embeddings,short_term_max_tokens:int=4000):self.short_term=ShortTermMemory(max_tokens=short_term_max_tokens)self.long_term=LongTermMemory(vector_store,embeddings)self.experience_store={}# 简化版经验库asyncdefremember(self,query:str,k:int=3)-List[str]:""" 统一检索接口:先查短期记忆,再查长期记忆 """# 1. 检查短期记忆short_results=self._search_short_term(query)# 2. 查长期记忆long_results=awaitself.long_term.recall(query,k=k)# 3. 合并去重combined=short_results+long_resultsreturnself._deduplicate(combined)[:k]def_search_short_term(self,query:str)-List[str]:"""短期记忆检索(简单关键词匹配)"""results=[]query_keywords=set(query.lower().split())foriteminself.short_term.get_all():item_keywords=set(item.content.lower().split())ifquery_keywordsitem_keywords:# 有交集results.append(item.content)returnresultsdefupdate(self,content:str):"""更新记忆"""self.short_term.add(content)asyncdefconsolidate_session(self,summary:str):"""会话结束时巩固记忆"""awaitself.long_term.consolidate(summary)2.4 规划模块(Planning Module)规划模块负责将复杂目标分解为可执行的子任务序列:# Python实现:基于CoT/ToT的规划模块fromtypingimportList,Optional,Dict,Any,CallablefromdataclassesimportdataclassfromenumimportEnumimportjsonclassTaskStatus(Enum):PENDING="pending"IN_PROGRESS="in_progress"COMPLETED="completed"FAILED="failed"BLOCKED="blocked"@dataclassclassSubTask:"""子任务定义"""id:strdescription:strstatus:TaskStatus=TaskStatus.PENDING dependencies:List[str]=None# 依赖的子任务IDtool_required:Optional[str]=Noneresult:Optional[Any]=Noneerror:Optional[str]=Nonedef__post_init__(self):ifself.dependenciesisNone:self.dependencies=[]classPlanningModule:""" 规划模块:任务分解与执行计划生成 支持多种规划策略: 1. Chain of Thought (CoT) - 链式思维 2. Tree of Thoughts (ToT) - 思维树 3. Subgoal Decomposition - 子目标分解 """def__init__(self,llm):self.llm=llmasyncdefcreate_plan(self,goal:str,strategy:str="cot",context:Optional[Dict]=None)-List[SubTask]:""" 创建执行计划 """ifstrategy=="cot":returnawaitself._plan_with_cot(goal,context)elifstrategy=="tot":returnawaitself._plan_with_tot(goal,context)elifstrategy=="simple":returnawaitself._plan_simple(goal)else:raiseValueError(f"Unknown strategy:{strategy}")asyncdef_plan_with_cot(self,goal:str,context:Optional[Dict])-List[SubTask]:""" Chain of Thought 规划 让LLM展示完整推理过程 """prompt=f""" 目标:{goal}{f"上下文信息:{json.dumps(context,ensure_ascii=False)}"ifcontextelse""}请按以下步骤思考并输出计划: 1. 分析目标的核心需求 2. 识别完成目标需要的步骤 3. 确定步骤之间的依赖关系 4. 输出结构化的任务列表 输出格式(JSON): { { "reasoning": "你的推理过程", "tasks": [ { {"id": "1", "description": "任务1", "dependencies": []}}, { {"id": "2", "description": "任务2", "dependencies": ["1"]}} ] }} """response=awaitself.llm.agenerate([prompt])result=json.loads(response)tasks=[SubTask(id=t["id"],description=t["description"],dependencies=t.get("dependencies",[]))fortinresult["tasks"]]returntasksasyncdef_plan_with_tot(self,goal:str,context:Optional[Dict])-List[SubTask]:""" Tree of Thoughts 规划 探索多条执行路径,选择最优方案 """# 第一阶段:生成多个可能的计划prompt=f""" 目标:{goal}请生成3种不同的执行方案,每种方案从不同角度思考: 方案A:从XX角度... 方案B:从YY角度... 方案C:从ZZ角度... 对于每种方案,列出关键步骤。 """response=awaitself.llm.agenerate([prompt])# 第二阶段:评估选择最优方案evaluation_prompt=f""" 针对目标"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2637169.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…