AI Agent(智能体)教程
AI Agent 本质是自动执行任务的程序,核心在于让模型不只回答问题,而是按步骤完成动作。
什么是 AI Agent?
AI Agent(人工智能代理)是一个能够感知环境、进行决策并执行行动,以达成特定目标的智能软件实体。它不仅仅是回答问题的聊天机器人,更是能够动手做事的智能执行者。
经典公式:
Agent = LLM (大脑) + Planning (规划) + Tool use (执行) + Memory (记忆)
学习 Agent 需要思维转变:从对话框问答进化为目标驱动的任务执行。
与传统程序的区别
| 传统程序(自动售货机) | AI Agent(私人助理) |
|---|---|
| 投币 → 按按钮 → 出商品 | 告诉需求 → 助理规划 → 完成任务并汇报 |
| 固定指令流程 | 自主制定计划、使用工具、自我调整 |
| 输入 → 处理 → 输出 | 持续执行直到完成或遇到障碍 |
Agent 结构组成
- 目标:明确任务意图
- 逻辑:按规则拆解为可执行步骤
- 工具:通过代码或 API 让步骤落地
运行方式
- 接收输入
- 判断当前任务
- 调用对应工具执行
- 返回结果,保留必要上下文
- 支持多轮连续操作
- 遇阻时调整执行步骤
与普通大模型的差异
| 普通大模型 | AI Agent |
|---|---|
| 生成文本 | 生成行动并执行,完成实际工作 |
| 回答“怎么做” | 直接动手做 |
举例:给出目标“规划三天北京行程,预算 5000”,Agent 能自动检索机票、酒店与价格,收集景点信息并对比,生成可执行行程表,甚至执行预订。
工作原理:代码示例
下面通过一个 Python 伪代码示例,直观感受 AI 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}")
代码解读:
WeatherAgent类定义了框架,tools字典包含两种工具(函数)。run方法解析指令,规划调用get_weather_api和generate_advice,按序执行,将中间结果存入memory,最后输出。
执行示例:
text
1
2
3
[用户指令] 我想知道北京的天气,该怎么穿衣服?
[Agent 行动] 正在查询北京的天气...
[Agent 回复] 当前北京气温22℃,天气晴朗。建议穿长袖T恤、薄外套。
更多资源

