AI Agent(智能体)教程
AI Agent 是能自主感知、决策并执行任务的智能实体,核心在于让模型不只回答问题,而是按步骤完成动作。
什么是 AI Agent?
AI Agent(人工智能代理) 是一个能够感知环境、进行决策并执行行动,以达成特定目标的智能软件实体。它不仅仅是回答问题的聊天机器人,更是能够动手做事的智能执行者。
核心公式:Agent = LLM(大脑)+ Planning(规划)+ Tool use(执行)+ Memory(记忆)
思维转变
学习 Agent 需要从对话框问答进化为目标驱动的任务执行。
- 传统程序:固定指令流程(输入 → 处理 → 输出)
- AI Agent:像有自主性的员工,能理解目标、制定计划、使用工具、自我调整、持续执行
类比理解:
- 传统程序 = 自动售货机:投币 → 按按钮 → 出商品
- AI Agent = 私人助理:告诉需求 → 助理规划 → 完成任务并汇报
结构组成
由三块组成:
- 目标:明确任务意图
- 逻辑:按规则拆成可执行步骤
- 工具:通过代码或 API 让步骤落地
运行方式
- 接收输入
- 判断当前任务
- 调用对应工具执行
- 返回结果
- 保留必要上下文
- 支持多轮连续操作
- 遇阻时调整执行步骤
与普通大模型的差异
| 普通大模型 | AI Agent |
|---|---|
| 生成文本 | 生成行动并执行,完成实际工作 |
举例:给出目标“规划三天北京行程,预算 5000”
- 自动检索机票、酒店与价格
- 自动收集景点信息并做对比
- 自动生成可执行行程表
- 具备条件时可继续执行预订操作
工作原理:代码示例
以下是一个 Python 伪代码示例,演示一个能自动查询天气并给出穿衣建议的简单 Agent。
python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# 伪代码示例:简易天气穿衣助手Agent
import requests
class WeatherAgent:
def __init__(self):
self.memory = [] # 简单的记忆存储
self.tools = {
'get_weather': self.get_weather_api,
'give_advice': self.generate_advice
}
# 工具1: 调用天气API
def get_weather_api(self, city):
"""调用外部天气API获取数据"""
print(f"[Agent 行动] 正在查询{city}的天气...")
# 模拟返回的数据
mock_data = {'city': city, 'temp': 22, 'condition': '晴朗', 'wind': '3级'}
return mock_data
# 工具2: 根据天气生成建议
def generate_advice(self, weather_data):
"""根据天气数据生成穿衣建议"""
temp = weather_data['temp']
condition = weather_data['condition']
advice = f"当前{weather_data['city']}气温{temp}℃,天气{condition}。"
if temp > 25:
advice += "建议穿短袖、短裤。"
elif temp > 15:
advice += "建议穿长袖T恤、薄外套。"
else:
advice += "建议穿毛衣、厚外套。"
return advice
# 规划与执行核心
def run(self, user_input):
"""解析用户目标并执行任务"""
print(f"[用户指令] {user_input}")
# 步骤1: 规划 - 从指令中提取关键信息(城市)
if "天气" in user_input and "北京" in user_input:
city = "北京"
else:
return "请告诉我您想查询哪个城市的天气?"
# 步骤2: 行动 - 调用工具获取天气
weather_info = self.tools['get_weather'](city)
self.memory.append({'step': 'fetched_weather', 'data': weather_info})
# 步骤3: 行动 - 调用工具生成建议
final_advice = self.tools['give_advice'](weather_info)
self.memory.append({'step': 'generated_advice', 'data': final_advice})
# 步骤4: 输出结果
return final_advice
# 使用Agent
agent = WeatherAgent()
result = agent.run("我想知道北京的天气,该怎么穿衣服?")
print(f"[Agent 回复] {result}")
输出示例:
text
1
2
3
[用户指令] 我想知道北京的天气,该怎么穿衣服?
[Agent 行动] 正在查询北京的天气...
[Agent 回复] 当前北京气温22℃,天气晴朗。建议穿长袖T恤、薄外套。
代码解读
WeatherAgent类定义了简单的 Agent 框架tools字典定义了可使用的工具(函数)run方法为核心流程:解析指令、规划顺序、执行工具、存入记忆、输出答案

