【Agent】智能体基础入门(技术发展路线+TAO循环+function calling)

张开发
2026/4/17 23:22:27 15 分钟阅读

分享文章

【Agent】智能体基础入门(技术发展路线+TAO循环+function calling)
【Agent】大模型在线API接入基础入门文章目录一、前期准备二、技术发展路线1.1从prompt到Agent1.2 LLM原生能力与涌现能力1.3 失败的GPT Plugins1.4 Agent技术生态(1)框架层(2)协议层(3)Agent应用三、Agent的核心架构:TAO循环3.1 思想链(Chain-of-Thought)3.2 TAO循环(ReAct运行机制)3.3 ReAct如何解决CoT的幻觉?3.4 ReAct的Prompt提示词四、Agent的核心要素五、Function Calling5.1 定义工具函数5.2 定义工具列表JSON Schema5.3 发送请求并获取 LLM 的工具调用决策5.4 执行工具并返回结果5.5 封装完整的 Function Calling 管线提示:笔记源自于赋范空间“大模型Agent开发实战”,课程链接为:https://appze9inzwc2314.h5.xet.citv.cn/p/course/ecourse/course_37xx2DBh83EgnWSwQFYDOoBLPpS?type=3sub_course_list_mode=0一、前期准备大前提:python3.9及以上,推荐3.11,API key可用,API key相关内容在下面这篇文章有介绍【Agent】大模型在线API接入基础入门importosfromdotenvimportload_dotenvfromopenaiimportOpenAI# 从项目根目录的 .env 文件加载环境变量(DEEPSEEK_API_KEY 等)load_dotenv()# 测试连接client=OpenAI(api_key=os.environ.get("DEEPSEEK_API_KEY"),base_url="https://api.deepseek.com")# 最小调用样例response=client.chat.completions.create(model="deepseek-chat",messages=[{"role":"user","content":"你好"}],max_tokens=50)print(f"✅ API 连接成功,模型响应:{response.choices[0].message.content}")二、技术发展路线2025-2026年是Agent技术的“落地之年”:Agent 技术成熟度演进(2023-2026)阶段时间代表事件成熟度概念验证期2023AutoGPT 引发热潮能演示,不能生产框架探索期2024LangChain、CrewAI 发布能开发,工程化不足协议统一期2024 末-2025MCP(Model Context Protocol,模型上下文协议)协议发布、LangChain 1.0工具生态统一,框架成熟生产落地期2025-2026A2A(Agent-to-Agent)协议、Agent 中间件、LangSmith(LLM 应用观测与调试平台)全链路生产就绪1.1从prompt到Agent1.2 LLM原生能力与涌现能力原生能力大模型在预训练或微调阶段,通过学习大量数据记住知识和技能,但是这些技能和知识是固化的,类似于我们在学校学习高等数学一样,这种能力是通过训练、固化在模型参数中的。涌现能力指大模型在推理时,通过类比、组合已有知识来解决“没见过”的问题的能力。类似于在高考时刷到新题型,虽然没有做过原题,但是可以通过所学方法推理出答案。原生能力 vs 涌现能力对比维度原生能力涌现能力获得方式预训练/微调推理时激发稳定性高(固化在参数中)中(依赖提示质量)可扩展性低(需要重新训练)高(通过提示即可)典型应用语言理解、知识问答工具使用、任务规划Agent 中的作用提供基础理解能力支撑动态决策能力1.3 失败的GPT Plugins既然大模型已经通过prompt到RAG的发展具了原生能力和涌现能力,那为什么Agent直到2025年才成功?OpenAI在2023年提出了GPT Plugins:打造一个类似于APP Store的生态系统,让每个人都能以极低门槛创建自己的智能应用。OpenAI提供了强大的GPT-4模型和插件接口,开发者只需要定义工具的功能描述,GPT-4就能够自主决定何时调用。但是直到2023年底,GPT Plugins的使用率远低于预期,于是在2024年4月关闭了Plugins,转而退出GPTs和Actions,那失败的原因是什么?GPT Plugins 失败的三大原因原因具体表现影响模型能力不足GPT-4(2023 版)工具调用可靠性不足,复杂场景常出错复杂任务经常失败,用户体验差工具生态混乱插件质量参差不齐,缺少统一标准用户不知道该用哪个插件编排能力缺失只能单步调用,无法多步规划只能处理简单任务,无法解决复杂问题这个失败案例告诉我们:Agent并不是“LLM+工具”那么简单,它需要模型能力+工具生态+编排框架三者协同进化。2025-2026Agent落地的原因:三大基础设施已成熟:(1)模型能力跃迁:GPT-4o、Claude 3.5 Sonnet、DeepSeek V3 等新一代模型的工具调用可靠性大幅提升,复杂场景下的成功率显著优于早期模型(2)工具生态统一:MCP 协议(2024.11)提供了被广泛采纳的工具集成标准(3)编排框架成熟:LangGraph、CrewAI、Claude Agent SDK 等框架提供了多步规划能力1.4 Agent技术生态当前Agent技术生态可以从三个维度来理解:框架层、协议层和应用层。(1)框架层AutoGPT/BabyAGI:证明了 Agent 的可行性,但工程化不足,主要用于概念验证LangChain Agent/CrewAI:提供了可用的开发工具,但缺少生产级的监控、调试、版本管理能力LangGraph/Claude Agent SDK:提供了完整的生产工具链,包括状态管理、错误恢复、可观测性、A/B 测试等(2)协议层工具集成的统一标准。2024 年 11 月,Anthropic 发布的 MCP(Model Context Protocol)协议正在成为 Agent 工具集成的主流标准之一。在此之前,每个框架都有自己的工具定义方式,导致工具无法跨框架复用。MCP 的出现解决了这个问题——就像 HTTP 协议统一了 Web 服务的接口标准一样,MCP 统一了 Agent 工具的接口标准。这意味着:一个遵循 MCP 协议的工具(如天气查询工具),可以被 LangChain、CrewAI、Claude Agent SDK 等任何支持 MCP 的框架直接使用,无需重复开发。(3)Agent应用代码生成与调试:如 Devin、Cursor、GitHub Copilot Workspace,能够自主完成需求分析 → 代码编写 → 测试 → 调试的完整流程客户服务:如智能客服 Agent,能够理解复杂问题、查询知识库、调用业务系统、生成个性化回答数据分析:如 Data Analyst Agent,能够理解自然语言查询、生成 SQL、执行查询、可视化结果、解释发现内容创作:如 Content Agent,能够调研主题、收集素材、生成初稿、优化润色、配图排版三、Agent的核心架构:TAO循环Agent内部的运转逻辑:TAO循环(Think—Act—Observe)。这个循坏是所有Agent架构的共同基础。无论是ReAct、Plan-and-Execute还是Agent编排,底层都是TAO循环的变体。理论溯源——从思考链(CoT)到ReAct框架的演进。3.1 思想链(Chain-of-Thought)论文来源:Chain-of-Thought Prompting Elicits Reasoning in Large Language ModelsCoT核心思想:通过将复杂问题分解为多个逻辑步骤,让LLM按顺序推理,从而提高准确率。两个关键机制:1、分解问题:将复杂任务拆解为更小的步骤;2、顺序思维:每一步建立在上一步的结果之上。CoT局限性:虽然显著提高了LLM的推理能力,但是如果有某一步出现错误,错误会沿着推理链传播,导致最终答案完全错误。更致命的问题是:LLM无法自我验证中间步骤的正确性。3.2 TAO循环(ReAct运行机制)论文来源:REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELSReAct关键创新:推理跟踪(Reasoning Trace),让LLM在每次行动前线生成一段推理文本,解释为什么要这样做。Think(思考):LLM 作为"大脑",分析当前状态和用户目标,决定下一步行动。这一步可能包括:判断任务是否完成、确定需要调用的工具、规划执行顺序、评估风险等。Act(行动):根据 Think 阶段的决策,调用相应的工具或生成回答。如果决定调用工具,就执行工具调用;如果判断任务已完成,就生成最终回答。Observe(观察):收集 Act 阶段的结果——如果是工具调用,收集工具返回的数据;如果是生成回答,观察用户的反馈。将观察结果纳入上下文,为下一轮 Think 提供输入。这三个环节形成一个闭环,循环往复直至任务完成。TAO 循环的精妙之处在于它的自终止性——Agent 在每一轮的 Think 阶段都会判断"任务是否已经完成",如果完成就输出最终答案并退出循环,如果未完成就继续下一轮。这意味着 Agent 可以根据任务复杂度自动调整执行步数:简单任务一轮就结束,复杂任务可能需要五轮、十轮甚至更多。3.3 ReAct如何解决CoT的幻觉?纯CoT的执行路径:Thought: 我需要知道地球的质量Thought: 根据我的训练数据,地球质量约为 5.972 × 10²⁴ kgThought: 两倍就是 5.972 × 10²⁴ × 2 = 1.1944 × 10²⁵ kgAnswer: 地球质量的两倍是 1.1944 × 10²⁵ kgTAO执行路径:Thought: 我需要查询地球的准确质量Action: search(“地球质量”)Observation: 搜索结果显示地球质量为 5.972 × 10²⁴ kgThought: 现在我需要计算两倍Action: calculate(5.972e24 * 2)Observation: 计算结果为 1.1944 × 10²⁵ kgAnswer: 地球质量的两倍是 1.1944 × 10²⁵ kg3.4 ReAct的Prompt提示词以LangChain的ReAct Prompt为例:Answer the following questionsasbest you can.You have access to the following tools:{tools}Use the followingformat:Question:theinputquestion you must answer Thought:you should always think about what to do Action:the action to take,should be one of[{tool_names}]Action Input:theinputto the action Observation:the result of the action...(this Thought/Action/Action Input/Observation can repeat N times)Thought:I now know the final answer Final Answer:the final answer to the originalinputquestion Begin! Question:{input}Thought:{agent_scratchpad}#%% md这个模板中有四个占位符:{tools}:工具的详细描述{tool_names}:工具名称列表{input}:用户的原始问题{agent_scratchpad}:保存历史推理记录四、Agent的核心要素自主性(Autonomy)——从"被指挥"到"自驱动"。自主性是 Agent 最核心的特征。一个具备自主性的 Agent,在接收到高层目标后,能够独立完成任务分解、工具选择、执行顺序规划和异常处理,而不需要人类逐步指挥。例如,当用户说"帮我调研竞品",Agent 能自主决定:调研哪些维度、从哪些渠道获取信息、如何组织报告结构。感知能力(Perception)——从"只读文字"到"感知世界"。 传统聊天机器人的输入只有用户的文字消息。而 Agent 的感知范围要广得多——它可以通过工具获取实时数据(天气、股价、新闻)、读取文件系统中的文档、解析数据库查询结果、甚至处理图片和音频输入。更重要的是,Agent 的感知是主动的:它不是被动等待用户提供信息,而是在推理过程中主动判断"我还需要什么信息。推理与规划(Reasoning Planning)——从"直觉回答"到"深思熟虑"。LLM 本身就具备一定的推理能力,但这种推理是"单次"的——给定输入,直接生成输出。Agent 的推理则是迭代式的:它可以先生成一个初步计划,执行第一步后根据结果调整后续计划,遇到障碍时回退并尝试替代方案。规划能力是 Agent 处理复杂任务的关键。行动执行(Action Execution)——从"纸上谈兵"到"真实操作"。行动执行是 Agent 区别于所有"纯文本生成"系统的标志性能力。Agent 不仅能生成"应该怎么做"的文字描述,还能通过工具真正执行操作:发送 HTTP 请求、执行 SQL 查询、运行 Python 代码、操作文件系统、调用第三方 API。#%% mdAgent 四大核心特征核心特征能力描述自主性(Autonomy)独立分解任务、选择工具、规划执行感知能力(Perception)主动获取环境信息、处理多模态输入推理与规划(Reasoning Planning)迭代推理、任务分解、动态重规划行动执行(Action Execution)调用工具执行真实操作五、Function CallingFunction Calling 六步流程详解步骤阶段名称执行者核心动作步骤 1用户输入用户向 Agent 提出请求,例如"北京今天天气怎么样?"步骤 2LLM 分析与决策LLM接收用户请求和可用工具列表,判断是否需要调用工具步骤 3生成调用指令LLM返回结构化 JSON:{"name": "get_weather", "arguments": {"city": "北京"}}步骤 4代码执行工具代码解析调用指令,找到对应函数并执行步骤 5结果回传代码将工具执行结果封装为消息,回传给 LLM步骤 6LLM 综合回答LLM结合用户请求和工具结果,生成最终自然语言回答5.1 定义工具函数importmathimportrequestsimportjson

更多文章