2025年12月13日

智能体总览

AI 智能体是指以 LLM 为核心决策引擎,能够**感知环境、规划任务、调用工具、根据反馈自主调整**的自主系统,实现了从"只能说话"到"能做事"的关键跃迁。

知识库大模型智能体与工具调用agentoverview

智能体(Agent)总览

先说结论

AI 智能体是指以 LLM 为核心决策引擎,能够感知环境、规划任务、调用工具、根据反馈自主调整的自主系统,实现了从"只能说话"到"能做事"的关键跃迁。

QUESTION 面试高频:什么是 AI Agent?和普通 LLM 有什么区别? 普通 LLM 是"被动应答"——用户问什么回答什么,没有行动能力。Agent 的核心区别在于自主性:它能自主规划任务步骤、选择和调用工具、观察执行结果、根据反馈调整策略。如果说 LLM 是"大脑",Agent 就是"大脑 + 手脚 + 感官"。

Agent 核心架构

ReAct 循环

Agent 的基本范式是 ReAct(Reasoning + Acting) 循环:

用户目标
   ↓
Thought(推理):分析当前状态,决定下一步
   ↓
Action(行动):调用工具或执行操作
   ↓
Observation(观察):获取工具返回结果
   ↓
Thought → Action → Observation ... (循环直到完成)
   ↓
Answer(回答):返回最终结果

QUESTION 面试高频:ReAct 框架的核心思想是什么? ReAct 的核心是将**推理(Reasoning)行动(Acting)**交织进行。传统做法要么是纯推理(Chain-of-Thought),要么是纯行动(端到端工具调用)。ReAct 让模型在每一步都先"想清楚"再"动手",既有可解释性又能处理复杂任务。

Agent 系统组件

组件 功能 常见实现
LLM 核心 推理、规划、决策 GPT-4o, Claude, Qwen
工具集 与外部世界交互 搜索、数据库、API、代码执行
记忆系统 短期/长期记忆 对话历史、向量存储、知识图谱
规划模块 任务分解和步骤规划 ReAct, Plan-and-Execute, Tree-of-Thought
反馈循环 观察结果、调整策略 Self-Reflection, Self-Correction

Agent 分类

类型 特点 代表系统 适用场景
单一 Agent 一个 LLM + 工具集 AutoGPT, BabyAGI 个人助手、自动化任务
多 Agent 协作 多个 Agent 分工协作 AutoGen, CrewAI 复杂任务、角色分工
层级 Agent 管理者 Agent 分配子任务 LangGraph Supervisor 企业工作流
** Swarm** 轻量级 Agent 间 Handoff OpenAI Swarm/Agents SDK 客服路由、专家系统

QUESTION 面试高频:Agent 的规划能力如何实现? 三种主要方式:单步规划(ReAct)——每步只规划一个行动,适合简单任务;多步规划(Plan-and-Execute)——先制定完整计划再逐步执行,适合复杂任务但缺乏灵活性;动态规划(Tree-of-Thought)——维护多棵搜索树,允许回溯和调整,适合需要探索的任务。实践中通常结合使用:先用 Plan-and-Execute 制定大纲,再用 ReAct 执行每一步。

主流 Agent 框架对比

维度 LangChain/LangGraph LlamaIndex OpenAI Agents SDK
核心定位 通用 LLM 应用框架 数据索引与 RAG 专家 OpenAI 原生智能体编排
编排方式 图结构 + LCEL 查询引擎管道 Handoff 机制
状态管理 StateGraph 持久化 上下文管理 Context 对象
多智能体 LangGraph 多节点 子问题查询引擎 Handoffs
学习曲线 陡峭 中等 平缓
模型支持 100+ 提供商 多提供商 仅 OpenAI

Agent 关键能力

1. 工具调用(Tool Use)

Agent 通过 Function Calling 与外部工具交互:

# 工具定义
tools = [
    {
        "name": "search_web",
        "description": "搜索互联网获取信息",
        "parameters": {
            "query": {"type": "string", "description": "搜索关键词"},
            "num_results": {"type": "integer", "description": "返回结果数量"}
        }
    }
]

2. 记忆系统

记忆类型 说明 实现方式
短期记忆 当前对话上下文 对话历史窗口
工作记忆 当前任务状态 Scratchpad/状态变量
长期记忆 跨会话知识积累 向量存储 + 检索
情景记忆 过往交互经验 交互日志 + 总结

3. 规划与推理

方法 说明 适用场景
ReAct 推理-行动交替循环 通用场景
Plan-and-Execute 先规划后执行 复杂多步任务
Reflexion 带自我反思的 ReAct 需要自我纠错的场景
LATS 语言 Agent 树搜索 需要探索和回溯的场景
ADAPT 自适应规划与执行 动态变化的环境

Agent 安全与控制

QUESTION 面试高频:Agent 系统有哪些安全风险?

风险 说明 缓解措施
Prompt 注入 恶意输入操纵 Agent 行为 输入验证、权限隔离
工具滥用 Agent 调用不应调用的工具 工具权限控制、审批流程
权限提升 Agent 获取超出预期的权限 最小权限原则
成本失控 Agent 循环调用消耗大量 Token 最大步数限制、Token 预算
信息泄露 Agent 泄露敏感信息到外部工具 数据脱敏、输出过滤
间接注入 通过工具返回内容注入恶意指令 工具输出净化

安全最佳实践

  1. 人工审批(Human-in-the-Loop):涉及写入/删除/支付等操作必须人工确认
  2. 最大步数限制:设置 Agent 循环上限(通常 10-20 步)
  3. Token 预算:为每次任务设定 Token 消耗上限
  4. 工具权限分级:只读工具放开,写操作工具需要审批
  5. 沙箱执行:代码执行类工具必须在沙箱中运行

工程落地时我会怎么做

  1. 从 ReAct 开始:先用简单的 ReAct 循环验证可行性,再引入复杂规划
  2. 工具设计优先:工具描述的质量直接决定 Agent 的表现
  3. 设置护栏:最大步数、Token 预算、人工审批一道都不能少
  4. 可观测性:记录完整的 Thought-Action-Observation 轨迹
  5. 评估 Agent 表现:端到端任务成功率比单步准确率更重要
  6. 成本控制:监控每次任务的 Token 消耗,设置预算上限

如果要对外讲,可以怎么概括

"Agent 是 LLM 从'只能说话'到'能做事'的关键跃迁。核心架构是 ReAct 循环——Thought-Action-Observation 交替进行,让模型在每一步都先'想清楚'再'动手'。Agent 的关键能力包括工具调用(Function Calling)、记忆系统(短期/长期记忆)和规划推理(Plan-and-Execute)。在框架选择上,复杂多智能体选 LangGraph,数据密集型选 LlamaIndex,轻量级 OpenAI 专用选 Agents SDK。但最重要的是安全和控制——Agent 失控的代价远大于普通 LLM,必须设置护栏:最大步数限制、Token 预算、人工审批,以及工具权限分级。我的实践经验是:从简单开始,工具设计比框架选择更重要,可观测性是上线的前提。"

最后记几条

  1. ReAct 是 Agent 的基本范式:推理 + 行动交替循环
  2. 工具描述质量决定 Agent 上限:模型对工具的理解完全依赖描述
  3. 安全护栏是 Agent 的生命线:最大步数、Token 预算、人工审批缺一不可
  4. 框架选择不如架构设计重要:核心逻辑保持框架无关
  5. Agent 评估看端到端任务成功率:而非单步工具调用准确率

参考资料

  • Yao, S. et al. "ReAct: Synergizing Reasoning and Acting in Language Models" (ICLR 2023)
  • Shinn, N. et al. "Reflexion: Language Agents with Verbal Reinforcement Learning" (NeurIPS 2023)
  • Significant Gravitas, "AutoGPT" (2023)
  • OpenAI Agents SDK: https://github.com/openai/openai-agents-python
  • Wu, Q. et al. "AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation" (2023)

延伸阅读