什么是 AI Agent? 开发者指南

从简单的聊天机器人到完全 autonomous 的系统 — autonomy levels、core components(memory、tools、planning)、frameworks,以及何时使用 agents

阅读时间:9 分钟 更新:2026年4月

🤖 什么是 AI Agent?

An AI agent 是一种以 large language model 作为推理引擎的 AI 系统,能够自主感知其环境、规划行动、使用工具,并执行多步任务以实现目标——无需在每一步都有人类输入。

与标准 LLM 聊天机器人的关键区别是 agency: 在世界中采取有影响力行动的能力。A chatbot 回答问题。An agent 预订航班、编写并部署代码、发送电子邮件、查询数据库,并对结果进行迭代——所有这些都能自主完成。

💡 简单定义: LLM + Tools + Memory + Loop = Agent. Remove any of these, and you have something less than an agent. Add planning and multi-agent communication, and you get systems capable of extraordinary complexity.

📊 自主级别(L0–L5)

并非所有“agents”都具有相同的自主性。Anthropic 的框架将其定义为从完全由人控制到完全自主的一个光谱:

Level Name Description Example
L0 无 AI 完全由人控制的软件 传统脚本、表单
L1 AI-assisted AI 提建议;人类决定并采取行动 GitHub Copilot 自动补全
L2 AI-driven AI 行动;人类在执行前审查 AI 起草 PR;开发者批准
L3 Semi-autonomous AI 执行并设置选择性 HITL 检查点 编码 agent 自动运行测试,合并前请求确认
L4 Autonomous AI 端到端执行;人类监控 Agent 在没有人工步骤的情况下部署完整功能
L5 完全自主 AI 自我指导、自我修正、自我改进 仅研究阶段;未投入生产使用

当今大多数生产级 agents 运行在 L2–L3。L4 存在于特定领域(自动化交易、数据管道)。L5 仍处于理论阶段,并引发重大的对齐问题。

🧩 AI Agent 的核心组件

每个 agent —— 无论使用何种框架或提供商 —— 都由四个基础组件构成:

1. 感知(输入)

代理如何观察其环境。包括用户消息、工具调用结果、文件内容、API 响应、传感器数据以及任何被送入上下文窗口的信息。代理能感知信息的质量直接限制其能做的事情。

2. 记忆

代理可以记住什么以及记忆时长:

记忆类型ScopeImplementation
In-context 仅限当前对话 上下文窗口中的消息
外部(短期) 会话或任务持续时间 Redis、内存存储、草稿文件
外部(长期) 跨会话持久化 Vector database (RAG)、SQL、文件系统
模型权重 内置于模型中 训练数据、微调

3. 工具(行动)

代理可调用以影响世界的函数。工具设计至关重要 —— 定义良好的工具带有清晰的描述和 schema,使 LLM 能正确使用它们。设计不良的工具会导致误用和失败。

  • 读取工具: search_web, read_file, query_database, get_weather
  • 写入工具: write_file, send_email, create_pr, post_message
  • 执行工具: run_code, call_api, deploy_service
  • Agent 工具: spawn_subagent, ask_human (HITL), delegate_task

4. 规划与推理

代理决定接下来做什么的方式。现代代理使用一种或多种规划模式:

  • ReAct (Reason + Act): 在同一上下文中交错推理与工具使用
  • Chain-of-Thought: 在行动前进行显式的逐步推理
  • Tree-of-Thought: 探索多条推理分支,选择最佳方案
  • Plan-and-Execute: 先创建完整计划,然后执行每一步

🔁 Agent 循环

大多数 agent 在感知-规划-行动循环中运行,重复直到任务完成或达到停止条件:

  1. 观察: 读取当前状态(消息、工具结果、记忆)
  2. 计划: LLM 推理下一步要做什么(可能生成草稿或 CoT)
  3. 行动: 调用工具、生成输出或请求人工输入
  4. 更新: 接收工具结果,更新记忆,追加到上下文
  5. 评估: 检查目标是否达成;如果没有,返回第 1 步

停止条件对于防止无限循环至关重要。常见方法包括:最大迭代次数限制、显式的“任务完成”工具调用,以及在 N 步后的人类参与检查点。

⚠️ 缺乏护栏的 agent 循环可能无限运行并产生巨额 API 成本。 在生产环境中始终实现硬性迭代限制和 token 预算。

🛠️ Agent 框架与 SDK

AI agent 生态系统发展迅速。以下是截至 2026 年 4 月的主要框架:

Framework Language 最佳用途 模型支持
LangChain / LangGraph Python、JS 复杂的多步管道、有状态图 Any (OpenAI, Anthropic, Ollama…)
AutoGen (Microsoft) Python 多代理对话、代码执行 OpenAI、Azure、本地模型
CrewAI Python 基于角色的多代理团队 OpenAI、Anthropic、本地
Claude Agent SDK (Anthropic) Python、TS Claude-native agents with MCP Claude only
OpenAI Agents SDK Python OpenAI-native agents with handoffs OpenAI only
Semantic Kernel (Microsoft) Python、C#、Java 企业级、插件架构 Any

对于新项目,建议从轻量级方法开始(直接 API 调用 + function calling),再考虑采用重量级框架。框架带来便利,但也增加复杂性和锁定风险。

💼 真实世界用例

软件开发

  • 能够读取失败测试、定位 bug 并提交 PR 的编码代理(Devin、SWE-agent)
  • 检查安全漏洞和风格违规的代码审查代理
  • 读取源代码并生成 API 文档的文档代理

研究与分析

  • 深入研究代理,搜索网络、阅读论文并综合报告
  • 监控新闻并生成摘要的竞争情报代理
  • 编写并执行 SQL/Python 并解释结果的数据分析代理

业务自动化

  • 能够端到端解决工单的客户支持代理(不仅仅是起草回复)
  • 调研潜在客户、起草外联并安排会议的销售代理
  • 对账交易并生成异常报告的财务代理

个人效率

  • 起草回复、安排会议并管理收件箱的邮件代理
  • 按需查找、阅读并总结论文的研究助理
  • 连接不同工具而无需定制集成的工作流自动化

🚫 何时不应使用 Agents

Agents 很强大,但并不总是合适。当更简单的解决方案可行时使用 agent 会增加成本、延迟和不确定性。

Situation更好的做法
具有清晰输入/输出的单步任务 直接 LLM API 调用
确定性数据转换 传统代码(无需 LLM)
高风险不可逆的大规模操作 在人类辅助下的工作流(L1–L2)
对延迟敏感的用户功能 直接 API 调用;agent 会增加往返开销
严格的监管/审计要求 在 agent 起草但需人工介入的场景
💡 经验法则: 如果可以用精心设计的 prompt 和一次 API 调用解决问题,就这样做。只有当任务确实需要多步、动态工具选择或基于中间结果的迭代时,才构建 agent。

了解 agents 如何通过 Model Context Protocol (MCP)连接到外部工具,理解自主行动的安全风险,请参阅我们关于 Prompt Injection 的指南.