AI Agent = 大模型 + 规划 + 工具 + 记忆。让大模型不仅能回答问题,还能自主执行复杂任务。
什么是 AI Agent?
传统 LLM 是一个被动的回答者——你问它答,没有记忆,无法行动。
AI Agent 则不同,它把大模型当作一个能自主决策的执行者:
用户目标 → 理解意图 → 制定计划 → 调用工具 → 执行反馈 → 迭代优化
An AI Agent is an LLM with agency — it can perceive, plan, act, and learn.
Agent 的四大核心组件
1. 🔧 工具调用(Tool Use)
LLM 本身无法搜索网页、执行代码、读写文件。Agent 通过工具调用扩展能力边界。
常见工具类型:
- 搜索:Bing/Google 搜索
- 代码执行:Python REPL、bash
- API 调用:HTTP 请求
- 文件操作:读文档、写文件
# LangChain Tool 定义示例
from langchain.agents import tool
@tool
def search_wikipedia(query: str) -> str:
"""Search Wikipedia for information."""
return wikipedia.summary(query, sentences=2)
@tool
def calculate(expression: str) -> str:
"""Evaluate a mathematical expression."""
return str(eval(expression))
2. 🧠 记忆机制(Memory)
Agent 需要记住几类信息:
| 类型 | 作用 | 实现方式 |
|---|---|---|
| 短期记忆 | 对话上下文 | 消息历史 |
| 长期记忆 | 跨会话知识 | 向量数据库 |
| 情景记忆 | 当前任务状态 | 工作区变量 |
# 简单的记忆实现
memory = ConversationBufferMemory(
memory_key="chat_history",
return_messages=True
)
3. 📋 规划能力(Planning)
面对复杂任务,Agent 需要分解问题:
Chain of Thought (CoT):让模型逐步思考 ReAct:交替进行 Reasoning 和 Action
问题:我需要预订下周去上海的机票和酒店
↓
分解:
1. 查下周一到周三的机票
2. 搜索上海酒店(日期:周一到周三)
3. 对比价格
4. 预订最合适的选项
4. 🎭 角色设定(System Prompt)
给 Agent 一个清晰的角色定义:
你是一个专业的旅行规划助手。
- 熟悉各大航空公司的航线和价格规律
- 了解上海主要商务区酒店分布
- 始终优先考虑性价比
- 遇到不确定信息时,主动搜索核实
主流框架对比
| 框架 | 特点 | 学习曲线 | 适用场景 |
|---|---|---|---|
| LangChain | 功能最全,生态丰富 | 中等 | 复杂定制 Agent |
| AutoGen | 微软出品,多智能体协作 | 中等 | 多 Agent 协作 |
| CrewAI | 角色驱动,简洁直观 | 较低 | 快速原型 |
| LlamaIndex | 知识检索增强更强 | 中等 | RAG 场景 |
| AutoGPT | 全自主,极简接口 | 低 | 实验性项目 |
实战:一个天气查询 Agent
from langchain.agents import initialize_agent, AgentType
from langchain_openai import ChatOpenAI
from langchain.tools import Tool
# 定义工具
def get_weather(city: str) -> str:
"""获取城市天气"""
# 实际项目中调用天气 API
return f"{city}今天晴天,25°C"
tools = [Tool(
name="天气查询",
func=get_weather,
description="用于查询天气的工具"
)]
# 初始化 Agent
llm = ChatOpenAI(model="gpt-4o")
agent = initialize_agent(
tools=tools,
llm=llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)
# 执行
result = agent.run("上海明天天气怎么样?需要穿什么衣服?")
当前局限与挑战
虽然 Agent 概念火热,但在生产环境中仍面临挑战:
- 可靠性:多步执行中某一步失败,整个任务可能崩溃
- 成本:每次工具调用都有延迟和费用
- 安全性:Agent 自主执行有风险,需要权限控制
- 幻觉:规划步骤中仍可能产生错误判断
💡 小结
AI Agent 代表着 LLM 从”应答者”到”执行者”的进化。虽然还不完美,但已经在代码生成、数据分析、自动化流程等场景展现巨大潜力。
核心启示:不要把 AI Agent 当成银弹,它最适合流程明确、容错率高、有监控的场景。