AI学习笔记整理(53)——大模型之Agent 智能体开发

常见的智能体Agent的开发方法

智能体(Agent)的开发方法根据其复杂度、应用场景和底层驱动技术的不同,主要可分为以下几类:

  • 基于规则引擎的开发方法‌:适用于业务逻辑明确、规则固定的场景。开发者通过预设"如果-那么"规则来定义智能体的行为。例如,在简单的客服场景中,当用户输入"忘记密码"时,智能体自动回复重置密码的流程。这种方法开发周期短、可解释性强,但灵活性差,难以应对复杂或未知的输入。‌

  • 基于机器学习的开发方法‌:适用于模式识别和预测类任务。通过训练模型(如分类器、回归模型)让智能体从历史数据中学习规律。例如,利用scikit-learn或TensorFlow训练一个模型来识别用户意图。这种方法比规则引擎更适应变化,但需要大量标注数据进行训练,且模型决策过程相对黑箱。‌

  • 基于大语言模型(LLM)的开发方法‌:这是当前最主流且最灵活的方法,尤其适合需要复杂语言理解、生成和推理的场景。开发者通常采用以下几种具体实现方式:

    • 提示工程(Prompt Engineering)‌:通过精心设计的文本指令(Prompt)来引导大模型产生期望的行为。例如,让模型扮演一个"写作教练",逐步引导用户梳理需求并生成内容。‌‌
    • 检索增强生成(RAG)‌:结合外部知识库,让智能体在生成回答前先检索相关信息,从而提升回答的准确性和时效性。‌
    • 工具调用与工作流编排‌:将大模型作为"决策核心",并集成搜索、计算、API调用等外部工具,形成一个自动化的工作流。例如,腾讯元器平台上的"全能写作专家"智能体,会先通过问卷挖掘用户需求,再决定是否联网搜索素材,最后生成大纲并撰写文章。‌
    • 记忆模块集成‌:为智能体添加短期记忆(如对话历史)和长期记忆(如向量数据库),使其能记住用户偏好和历史交互,提供更个性化的服务。‌‌
  • 多智能体协作开发方法‌:在复杂任务中,单个智能体能力有限,可设计多个智能体协同工作。例如,一个"规划师"智能体负责拆解任务,一个"研究员"智能体负责搜索信息,一个"写手"智能体负责内容生成,它们通过消息传递完成协作。这种方法能处理更复杂的端到端任务,但系统设计和协调的复杂度也更高。‌

核心组件

AI Agent(人工智能代理)是能够感知环境、做出决策并执行动作的智能实体。与传统AI模型不同,AI Agent的核心特征在于其自主性和交互性:它不仅能接收输入并生成输出,还能通过持续的环境交互优化自身行为。

一个完整的AI Agent系统通常包含以下模块:

  • 感知模块:通过传感器或API接收环境信息(如文本、图像、API数据)。负责接收需要智能体处理的任务,任务通常有三种来源,人类通过语音、视频或键盘直接输入的信息、来自其他软件或智能体的调用参数以及通过物联网、RPA等技术手段读取的数据
  • 决策模块:基于感知数据选择行动策略(规则引擎/强化学习/LLM推理),即根据感知到的信息,判断其意图,并完成对应的分析与决策。这里通常需要用到大模型,联合使用多模态、多厂商的大模型已成常态
  • 执行模块:将决策转化为具体动作(调用API/生成内容/控制设备)。将决策转换为软件动作,直接或间接展现给人类,完成任务,形成闭环
  • 记忆模块:存储历史交互数据以支持上下文理解(短期记忆/长期记忆)

站在最终用户的角度,智能体可以分为感知、决策和执行三个模块,由一套引擎驱动其运转,如图1所示。

示例:简单的天气查询Agent

python 复制代码
class WeatherAgent:
    def __init__(self, api_key):
        self.api_key = api_key
        self.memory = []  # 长期记忆存储
    def perceive(self, query):  # 感知模块
        self.memory.append(query)  # 记录查询历史
        return query.extract_location()  # 假设有位置提取方法
    def decide(self, location):  # 决策模块
        return f"获取{location}的天气数据"
    def act(self, decision):  # 执行模块
        weather_data = call_weather_api(decision, self.api_key)
        return weather_data

Agent设计的4大要素

吴恩达提出了四种AI Agent设计要素,包括:

  • 检查(Reflection):通过让大模型自我检查以提高代码质量。
  • 工具使用(Tool use):大模型使用各种工具来执行操作、收集信息。
  • 规划(Planning):智能体进行复杂的规划算法,如失败规避。
  • 多智能体协作(Multiagent collaboration):不同智能体协作完成任务,如开发游戏。

智能体架构设计的12条核心原则

AI Agent的核心在于构建一个"感知-决策-执行"的完整闭环,而非仅限于对话交互。一个合格的Agent需具备理解任务目标、规划执行路径、调用外部资源和反馈调整的能力,形成一个"有限状态机 + 大语言模型"的协同系统。

以下是AI智能体架构设计的12条核心原则:

原则一:自然语言转结构化工具调用

让LLM输出结构化JSON,直接驱动后端API,实现自然语言控制程序执行。

原则二:提示词即代码,拒绝黑盒提示

将提示词作为可版本管理的业务逻辑,支持灰度发布和调试。

原则三:上下文即状态机

LLM本身无状态,开发者需显式构建上下文,包括任务说明、执行结果、对话历史和系统参数。

原则四:工具 = 可执行结构化输出

每个工具本质是JSON命令,模型只需输出结构化内容。

原则五:统一执行与业务状态

将执行状态与业务状态统一记录在上下文中,无需独立状态机模块。

原则六:生命周期控制 = 程序级API

支持启动、暂停、恢复、终止Agent运行,建议使用RESTful接口管理。

原则七:工具调用实现人机协同

当需要人工介入时,LLM应主动发出请求,如:

json深色版本

{ "action": "request_human_input", "message": "请补充项目描述" }

原则八:自定义控制流,增强弹性

手动实现Switch、Loop等结构,配合缓存、校验、限流,提升系统稳定性。

原则九:错误信息显式写入上下文

失败调用也应记录到上下文中,帮助LLM识别问题并调整路径。

原则十:多小Agent > 一大管家

避免构建万能大Agent,任务拆分为多个小模块协作更高效,建议控制在3-10步。

原则十一:多渠道触发,原路返回

支持从Slack、邮件、Webhook等渠道唤醒,响应保持渠道一致。

原则十二:无状态归并器设计

所有状态应存储于上下文或外部数据库,不依赖本地缓存,提升扩展性和可观测性。

Agent目前面临的挑战与机遇

尽管Agent技术潜力巨大,但在实际落地过程中面临多重挑战:

  • 推理可靠性缺陷:

    • 复杂任务断裂:10步工作流成功率仅35%(基础成功率90%时)

    • 因果推理缺失:金融风控场景中无法区分相关性与因果性

    • 自我纠错局限:医疗诊断场景误判率较人类专家高23%

  • 工具交流障碍:

    • API调用失败率:基础工具调用错误率达41%(参数格式/接口变更)

    • 多工具协同困境:旅行规划场景需调用6类API时成功率骤降至18%

  • 数据泄露风险:云端部署模式下用户敏感信息暴露概率增加67%

  • 算力与基础设施限制:大模型训练和推理所需的计算资源急剧增长,现有算力与能耗成为瓶颈。边缘设备算力有限,智能体部署受限;"能耗悖论"表明轻量化无法跟上整体算力需求的飙升;

  • 高质量数据稀缺:尤其在金融、医疗等敏感领域,数据隐私和获取难题使得训练样本有限,影响模型精度。多模态数据融合时信息转换损耗,也会降低决策准确性;

  • 跨场景协作不足:当前许多Agent依然是固定流程的工作流,缺乏灵活的跨域协作能力。大模型在真实物理环境(如工厂、医院)中的训练成本高昂,导致许多场景下Agent无法可靠落地;

  • 模型解释性与安全性:大型语言模型往往存在"黑箱"问题,Agent的决策逻辑不透明,用户难以信任其输出。在开放场景下,Agent还可能产生输出错误或幻觉(hallucination),需要额外的实时纠错和人工复核机制;

  • 强化学习挑战:许多RL Agent需要在模拟环境中通过大量试错学习,训练成本高,在线策略迭代也面临收敛慢、奖励设计困难等问题(相关研究不断探索更高效的RL算法以解决该瓶颈);

  • 伦理与治理风险:Agent的高度自主性在法律和伦理层面带来责任归属不清和监管滞后问题。算法偏见可能在决策中被放大,加剧社会公平问题;低技能岗位的快速替代亦引发失业结构性风险。

总之,Agent落地的核心痛点在于算力与数据的瓶颈、跨域部署的复杂性,以及安全可信和伦理合规性问题。这些挑战的解决需要技术架构创新、多模态技术突破,以及有效的风险管理策略等多方面协同发力。

AI Agent的发展方向

  • 多Agent协作系统:通过Agent间的通信协议实现复杂任务分解
  • 具身智能(Embodied AI):结合机器人技术实现物理世界交互
  • 自进化架构:通过持续学习优化决策模型
  • 边缘计算部署:在终端设备实现低延迟实时响应

经典的Agent开源项目介绍

在2025年至2026年初的开源AI Agent工具生态中,多个项目因其成熟度、社区活跃度和功能完整性而被广泛认为是经典或标杆性的选择。这些项目主要集中在核心框架层,为构建具备工具调用、工作流编排和知识检索能力的智能体提供了基础。

以下是当前被广泛认可的经典Agent开源项目:

  • LangChain / LangGraph‌: LangChain是目前生态最完整的开源Agent框架,通过Chain、Agent、Tool、Memory四大核心概念,将LLM与外部工具、数据源连接起来,解决了LLM无法执行实际操作的问题。其子项目LangGraph引入图状态机模型,支持循环、分支等复杂工作流编排,成为构建生产级Agent的首选方案,拥有超过124K的GitHub星标。‌

  • LlamaIndex‌: 作为RAG(检索增强生成)领域的首选方案,LlamaIndex专注于数据连接与检索,通过LlamaHub提供300+数据连接器,覆盖PDF、数据库、Slack等常见数据源,并提供智能分块、向量索引等完整的RAG管道能力。其2025年发布的Workflows架构采用事件驱动设计,适合知识库问答、文档分析等数据密集型应用。‌

  • Semantic Kernel‌: 微软官方推出的AI编排框架,其独特优势在于多语言统一支持(C#/Python/Java)和与Azure OpenAI、Microsoft 365的深度集成,特别适合已使用微软生态的企业。2025年10月,微软将Semantic Kernel与AutoGen合并为Microsoft Agent Framework,进一步强化了其在多Agent场景的能力。‌

  • AutoGen‌: 由微软开发,支持多智能体协同工作,通过对话和协作来解决复杂任务。‌

  • Agno‌: 追求极致简洁和高性能的轻量级框架,设计哲学是"10行代码创建一个Agent",通过极简API让开发者专注于业务逻辑。性能测试显示其比LangGraph快529倍,特别适合快速原型开发、简单单Agent应用及对延迟敏感的场景。‌

  • Haystack‌: 由deepset公司开发的老牌NLP框架,以多年的生产验证成为企业级语义搜索和问答系统的可靠选择,拥有23.8K的GitHub星标。‌是一个开源的端到端LLM(大语言模型)框架,用于构建可定制、生产就绪的LLM应用程序。

使用ReACT结构开发智能体Agent

参考链接:https://zhuanlan.zhihu.com/p/1929919470589161854

ReAct Agent框架

ReAct(Reasoning + Acting)是当前最流行的Agent推理模式之一。与传统大模型对话不同,ReAct通过"思考-行动-观察"的循环机制,让AI像人类一样工作:先分析问题,选择合适的工具执行,观察结果后继续推理。

ReAct Agent是用于提示大语言模型的框架,不同于前端的React框架,它是众多主流Agent开发架构变种的基础。该框架于2022年10月在论文《ReAct: Synergizing Reasoning and Acting in Language Models》中首次引入,并在2023年3月修订。其核心作用是协同大语言模型的推理和行动能力,使模型更强大、通用且可解释,让智能体在产生想法和执行特定任务的行动之间动态交替。相关参考网站ReAct官网介绍了ReAct相关数据以及不同提示形式的效果,论文中的代码部分包含经典的Prompts和案例,可供课外扩展学习。

  • Reason部分:基于思想链(CoT)这一提示工程技术。CoT的作用是将输入分解为多个逻辑思维步骤,辅助大模型进行推理和解决复杂问题,具体包括:

    • 分解问题:面对复杂任务时,把任务拆解为更小的步骤,每个步骤专注解决问题的不同方面。
    • 顺序思维:思维链中的每一步都依赖上一步的结果,从而构建出一条完整的逻辑推理链。例如,计算商店商品先降价20%再加价10%后的最终价格,先计算降价后的价格(100×(1 - 0.2) = 80),再依据此结果计算加价后的价格(80×(1 + 0.1) = 88)。
  • Act部分及循环机制:ReAct采用"思考 - 行动 - 观察 - 回答"的循环模式。用户提出问题后,智能体先思考,确定解决问题的思路和所需执行的任务;接着通过行动去执行思考阶段确定的任务,这个过程类似于Function Calling中调用外部工具的过程;然后进入观察阶段,根据行动的结果判断是否完成任务或确定下一步行动;如果观察结果表明任务未完成,则继续循环,直到观察阶段确认已妥善处理用户问题,最后输出回答。

ReAct架构并非单一算法,而是"语言模型+工具集+循环调度机制"的集成架构,其核心创新在于将人类解决问题的认知模式抽象为机器可执行的框架,使AI具备自主拆解任务、动态调整策略的能力。 ‌

ReAct工作原理

ReAct的工作流程可分为"初始化-循环迭代-终止输出"三个阶段,每个阶段的核心操作与逻辑衔接如下,完整展现TAO闭环的动态执行过程:

ReAct(Reasoning + Acting)是AI Agent的一种实现范式,其核心思想是将推理(Reasoning) 和 行动(Acting) 结合,通过多轮循环解决问题。它的工作流程如下:

  • 输入(Input):接收用户任务。
  • 推理(Reasoning):模型分析任务,规划所需操作。
  • 行动(Acting):调用外部工具(如搜索引擎、API等)执行操作。
  • 观察(Observation):获取工具返回的结果。
  • 重复循环:基于观察结果继续推理或行动,直到任务完成。
  • 输出(Response):生成最终答案。

ReAct的核心优势在于:

  • 解决LLM的"幻觉"问题:通过显式推理步骤和工具调用验证信息,减少无依据输出。
  • 动态适应复杂场景:多轮交互使Agent能处理多步骤、多条件的任务。
  • 可解释性:每一步的推理过程可被记录和调试。

LangChain生态如何实现ReAct框架?

LangChain是一个支持ReAct框架的主流框架,其核心组件包括:

  • AgentExecutor:负责协调Agent的执行流程。
  • Tool:定义可调用的外部工具(如搜索、计算等)。
  • Prompt模板:指导模型生成推理和行动步骤。
  • LLM(大语言模型):作为推理和决策的核心。

核心实现步骤

  • 定义工具:通过@tool装饰器或Tool类定义工具接口。
  • 初始化LLM:加载大语言模型(如OpenAI、通义千问等)。
  • 创建Agent:使用initialize_agent或create_react_agent初始化ReAct代理。
  • 执行任务:调用agent.run()启动ReAct循环。

ReAct Agent的planning

在ReAct Agent架构中,‌Planning(规划)‌ 是指智能体将用户提出的复杂任务分解为一系列更小、更易管理的子任务或步骤的过程,以便能够逐步执行并最终解决问题。 ‌

ReAct框架的核心是"推理-行动"循环,而规划是其关键组成部分,负责制定执行路径。规划模块通常涉及以下方面:

  • 任务分解‌:将复杂问题拆解为多个子任务,例如将"分析2023年公司财务状况并预测明年趋势"分解为数据收集、指标计算、趋势分析和报告生成等步骤。 ‌
  • 工具调用规划‌:确定每个子任务需要调用哪些外部工具(如搜索、计算器、API等)来获取信息或执行操作。 ‌
  • 执行顺序制定‌:安排子任务之间的依赖关系和执行顺序,确保流程逻辑顺畅。 ‌

在ReAct架构中,规划通常与"观察"和"行动"阶段紧密交互:智能体先规划行动步骤,然后执行并观察结果,再根据反馈调整后续规划,形成闭环。 ‌

此外,规划模块可以采用多种策略,例如:

  • 任务分解‌:将大任务逐层拆解为子目标。 ‌
  • 多计划生成与选择‌:生成多个可能的执行方案,并从中选择最优或最可行的一个。 ‌
  • 反思与细化‌:在执行过程中评估计划的有效性,并进行动态调整。

ReAct Agent的reasoning

在ReAct Agent架构中,‌Reasoning(推理)‌ 是指语言模型基于当前任务目标、历史交互轨迹以及已获取的信息,进行逻辑分析、规划和决策的过程。它并非简单的信息检索,而是模拟人类"思考"的认知步骤,用于判断当前进展、识别信息缺口,并决定下一步应采取何种行动。

具体来说,Reasoning阶段的核心任务包括:

  • 分析任务状态‌:明确已获取哪些信息,还缺少哪些关键数据。
  • 规划行动路径‌:决定是否需要调用外部工具、调用哪个工具、以及如何设置工具参数。
  • 动态调整策略‌:根据上一轮观察到的结果,修正或优化后续的行动方案。

在ReAct的"推理-行动-观察"(Thought-Action-Observation, TAO)闭环中,Reasoning是驱动整个循环的"大脑"。它决定了模型何时行动、如何行动,并最终判断是否已达成目标,从而决定是否继续循环或输出最终答案。

例如,在查询"明天上海的天气并推荐穿搭"时,Reasoning阶段会生成类似这样的思考:

复制代码
【Thought】我需要先查询明天上海的天气,再根据天气情况推荐合适的穿搭。当前缺少天气信息,应优先调用天气查询工具,参数为城市=上海,日期=明天。

这一过程确保了模型的行为是目标导向、有逻辑且可解释的,而非盲目调用工具或依赖内部知识产生幻觉。‌

ReAct Agent的knowledge

在ReAct Agent架构中,‌knowledge‌(知识)并非一个独立的组件,而是通过‌外部工具调用‌和‌动态观察‌来获取和利用的,其核心在于将大语言模型(LLM)的推理能力与实时信息获取相结合,以克服模型自身知识的局限性。

ReAct Agent的核心循环是"思考(Thought)- 行动(Action)- 观察(Observation)"。在这个循环中,知识的获取和应用体现在以下几个方面:

  • 动态知识检索‌:当Agent在"思考"阶段需要特定信息来支持其推理时,它会通过"行动"模块调用外部工具(如搜索引擎、数据库、API或专门的知识库)来获取最新、最准确的信息。例如,当被问及"2024年某事件的详情"时,如果模型的训练数据截止于2023年,它不会凭空猜测,而是会主动搜索网络获取最新信息。‌
  • 知识作为观察反馈‌:工具调用后返回的结果(Observation)就是获取到的外部知识。这些客观事实会作为上下文反馈给模型,用于指导下一步的推理,确保决策建立在真实数据之上,而非模型内部可能存在的"幻觉"。‌
  • 知识库(Knowledge Base)的集成‌:虽然ReAct本身是一个循环框架,但其行动模块可以集成专门的知识库系统。知识库是结构化的信息存储,支持高效检索,是增强Agent专业能力的关键。‌在实际应用中,ReAct Agent可以被设计为优先查询内部知识库,若知识库无答案,再转向更广泛的外部工具。‌

因此,ReAct Agent中的"knowledge"是‌动态的、外部的、工具驱动的‌。它不是模型静态记忆的一部分,而是通过与外部世界交互实时获取并验证的,这使得ReAct Agent能够处理超出其训练数据范围的问题,并提供更可靠、可解释的答案。‌

ReAct Agent的memory

在ReAct Agent架构中,‌Memory(记忆)‌ 是一个核心组件,负责存储和管理智能体在交互过程中产生的历史信息,使其能够保持上下文连贯性、利用过往经验并实现更复杂的决策。

Memory模块通常嵌入在Agent的主循环中,位于输入解析与决策生成之间。其工作流程是:在每轮决策前,从记忆库中检索相关的历史信息;将这些信息与当前输入结合,形成更丰富的上下文提示(Prompt);在LLM生成输出后,再将新的决策和执行结果写回记忆系统,实现信息的持续更新。‌

Memory的核心功能与实现方式

  • 短期记忆(Short-term Memory)‌:主要用于保存当前对话或任务的上下文,支持多轮交互。例如,记录用户之前的问题、Agent的回复以及中间步骤,确保对话不丢失连贯性。‌
  • 长期记忆(Long-term Memory)‌:用于存储跨会话的持久化信息,如用户偏好、历史行为、业务数据等。通常通过向量数据库(如Chroma、Weaviate)实现高效检索,使Agent能"回忆"起很久以前的互动或知识。‌

Memory在ReAct框架中的作用

ReAct框架的核心是"推理(Reasoning)"与"行动(Acting)"的交替循环。Memory为这个循环提供关键的上下文支持:

  • 在‌推理‌阶段,Memory帮助LLM回顾过去类似的任务或失败经验,优化当前的思考路径。
  • 在‌行动‌后,Memory记录工具调用的结果和最终决策,为后续的"反思(Reflection)"和未来任务提供经验积累。‌

简而言之,Memory让ReAct Agent不再是"每次问答都从零开始"的 Stateless 模型,而是具备"学习"和"记忆"能力的动态智能体。‌

ReAct Agent的泛化能力

ReAct Agent的泛化能力是指其在仅通过少量示例(通常为1-5个)进行提示或微调的情况下,能够快速适应并有效执行多种不同领域任务的能力。这种能力使其无需针对每个新任务进行大规模的模型重训练,即可展现出良好的性能。

具体而言,ReAct Agent的泛化能力体现在以下几个方面:

  • 跨领域任务适应‌:ReAct框架通过将推理(Reasoning)与行动(Acting)相结合,使模型能够灵活地在问答、事实核查、交互式决策等多种任务类型间切换。例如,在仅提供少量示例后,ReAct在ALFWorld和WebShop等交互式决策基准上的成功率分别比基线方法高出34%和10%‌。
  • 快速学习新任务‌:得益于大型语言模型(LLM)的上下文学习能力,ReAct Agent能从有限的"推理-行动-观察"示例中学习任务模式,显著缩短了在新领域中的适应时间。有研究指出,其跨领域任务适应时间可缩短70%‌
  • 抑制幻觉与增强可靠性‌:通过动态调用外部工具(如搜索API、数据库)获取真实世界反馈,ReAct Agent能有效纠正模型内部知识的局限性,减少"事实幻觉",从而在复杂、多跳推理任务(如HotpotQA、Fever)中保持高准确性‌。
  • 策略动态调整‌:其核心的"感知-决策-执行-反馈"闭环机制,允许Agent在任务执行过程中根据环境反馈实时调整策略,这种能力使其在面对未见过的情境时仍能做出稳健决策‌

综上,ReAct Agent的泛化能力源于其‌推理与行动的协同机制‌和‌对外部环境的动态交互‌,使其成为构建高效、可靠、可扩展智能体的关键范式。

相关推荐
wtsolutions1 小时前
MCP Service Integration - Excel to JSON for AI and Automation
人工智能·json·excel
星火开发设计1 小时前
循环结构进阶:while 与 do-while 循环的适用场景
java·开发语言·数据结构·学习·知识·循环
用什么都重名1 小时前
【Dify 实战踩坑】工作流可运行但 MCP 服务部署失败(503)的问题定位与彻底解决
人工智能·docker·dify·mcp服务
青衫码上行1 小时前
Maven高级:分模块、聚合继承、多环境配置与私服搭建
java·学习·maven
cxr8281 小时前
破局重构——以第一性原理穿透问题的复杂性迷雾
人工智能·重构·思维模型·认知·意识·认知框架
jay神2 小时前
车牌识别与定位数据集-CCPD2020
人工智能·深度学习·机器学习
名为沙丁鱼的猫7292 小时前
【并行化】提升智能体效率的关键设计模式,同时执行独立任务缩短响应时间
人工智能·深度学习·机器学习·自然语言处理·nlp
kingmax542120082 小时前
0基础快速入门AI大模型应用与实战
人工智能·chatgpt
yangpipi-2 小时前
第二章 语言模型基础
人工智能·语言模型·自然语言处理