系列教程说明
这是「AI零基础学习」系列教程的第53天晚课。每天早课讲理论,晚课做实践,手把手带你从零入门AI。
上篇回顾
今天的早课,我们了解了API调用的基本原理——用代码和AI”对话”。今晚的实践课,我们要更进一步:让AI不只是回答问题,而是能自主完成一个完整任务。这就是AI Agent。
什么是AI Agent?
简单来说,AI Agent就是一个能自己”想”、自己”做”的AI程序。
普通的AI对话是这样的:
- 你问一句,它答一句
- 每次都是独立的,没有”记忆”也没有”目标”
而AI Agent是这样的:
- 你给它一个目标(比如”帮我查一下明天的天气,然后发邮件告诉我”)
- 它会自己拆解任务、调用工具、检查结果,直到完成目标
打个比方:普通AI像一个只能回答问题的客服,而AI Agent像一个能帮你跑腿办事的助理。
动手体验:用Dify搭建你的第一个AI Agent
我们今天用Dify这个开源平台来搭建一个AI Agent。Dify是国内团队开发的,界面全中文,零代码就能上手。
第一步:注册并创建工作区
- 打开浏览器,访问 dify.ai
- 点击”免费开始”,用邮箱或GitHub账号注册
- 登录后,点击左侧”工作室”,再点”创建应用”
- 选择”Agent”类型,起个名字(比如”我的第一个Agent”)
第二步:设定Agent的角色和目标
在Agent的”系统提示词”里,写下它的”人设”:
`
你是一个生活助手Agent。你的任务是帮助用户解决日常问题。
你有能力:
- 搜索网络获取最新信息
- 进行计算和数据处理
- 生成文档和报告
工作原则:
- 收到任务后,先拆解成小步骤
- 每完成一步,检查结果是否正确
- 如果遇到不确定的信息,主动告诉用户
- 最后给出一个完整的总结
`
关键技巧:告诉Agent它有哪些”能力”(工具),以及”工作原则”,它就会按这个方式自主工作。
第三步:给Agent添加工具
点击”工具”选项卡,你会看到Dify内置了很多工具:
- 🔍 网页搜索:让Agent能搜索互联网
- 📊 计算器:让Agent能做数学运算
- 📝 文档生成:让Agent能写文件
- 🌤️ 天气查询:让Agent能查天气
勾选你需要的工具,Agent就能在需要时自动调用它们。
第四步:测试你的Agent
在右侧的预览窗口中,给Agent一个任务:
帮我查一下北京明天的天气,如果会下雨,提醒我带伞,并写一个简单的出行建议。
你会看到Agent的工作过程:
- 思考:”用户想知道北京明天的天气,我需要调用天气查询工具”
- 行动:调用天气API获取北京天气数据
- 观察:”明天北京有小雨,气温15-22°C”
- 思考:”会下雨,需要提醒带伞,并给出出行建议”
- 输出:完整的天气报告+出行建议
这就是Agent的”思考-行动-观察”循环(ReAct模式)。
用Python代码实现一个简单Agent
如果你有一些编程基础(Day19讲过AI代码),我们可以用Python手写一个简单的Agent。
`python
import openai
import json
# 配置你的API Key
client = openai.OpenAI(
api_key=”你的API Key”,
base_url=”https://api.openai.com/v1″
)
# 定义工具函数
def search_weather(city):
“””模拟天气查询工具”””
# 实际项目中,这里会调用真实的天气API
weather_data = {
“北京”: {“temp”: “18°C”, “condition”: “小雨”, “tip”: “记得带伞”},
“上海”: {“temp”: “24°C”, “condition”: “晴天”, “tip”: “适合外出”},
}
return weather_data.get(city, {“temp”: “未知”, “condition”: “未知”})
def calculate(expression):
“””计算工具”””
try:
result = eval(expression)
return str(result)
except:
return “计算错误”
# 工具注册表
tools = {
“search_weather”: search_weather,
“calculate”: calculate,
}
# Agent的核心循环
def run_agent(task, max_steps=5):
“””运行Agent,最多执行max_steps步”””
messages = [
{“role”: “system”, “content”: “””你是一个助手Agent。你可以使用以下工具:
- search_weather(city): 查询城市天气
- calculate(expression): 进行数学计算
当需要使用工具时,请用JSON格式回复:
{“tool”: “工具名”, “args”: {“参数名”: “参数值”}}
当任务完成时,请用自然语言给出最终答案。”””},
{“role”: “user”, “content”: task}
]
for step in range(max_steps):
# 让AI决定下一步
response = client.chat.completions.create(
model=”gpt-3.5-turbo”,
messages=messages
)
reply = response.choices[0].message.content
# 检查是否需要调用工具
try:
tool_call = json.loads(reply)
if “tool” in tool_call:
tool_name = tool_call[“tool”]
tool_args = tool_call.get(“args”, {})
# 执行工具
result = toolstool_name
print(f”步骤{step+1}: 调用{tool_name}({tool_args}) → {result}”)
# 把结果告诉AI
messages.append({“role”: “assistant”, “content”: reply})
messages.append({“role”: “user”, “content”: f”工具返回结果: {result}”})
continue
except json.JSONDecodeError:
pass
# 如果不是工具调用,就是最终答案
print(f”nAgent完成任务,共执行{step}步”)
return reply
return “达到最大步骤数,任务未完成”
# 测试
result = run_agent(“查一下北京天气,如果下雨就计算一下带伞的额外重量(假设伞重300克)”)
print(f”n最终结果:{result}”)
`
运行结果示例:
`
步骤1: 调用search_weather({‘city’: ‘北京’}) → {‘temp’: ’18°C’, ‘condition’: ‘小雨’, ‘tip’: ‘记得带伞’}
步骤2: 调用calculate({‘expression’: ‘300’}) → 300
Agent完成任务,共执行2步
最终结果:北京明天有小雨,气温18°C。建议带伞,伞重约300克(0.3公斤),很轻便,不用担心负担。
`
Agent的三种核心模式
在实际应用中,AI Agent主要有三种工作模式:
1. ReAct模式(思考-行动-观察)
这是最常见的模式,就像我们上面演示的:
- Thought:AI思考下一步该做什么
- Action:调用工具执行操作
- Observation:观察工具返回的结果
- 循环直到任务完成
2. Plan-and-Execute模式(先规划后执行)
适合复杂任务:
- Plan:AI先制定一个完整的计划
- Execute:按计划逐步执行
- Replan:如果执行中遇到问题,重新规划
3. Multi-Agent模式(多Agent协作)
多个Agent各司其职,协同工作:
- 研究员Agent:负责搜索和收集信息
- 分析师Agent:负责分析数据
- 写作Agent:负责生成报告
- 审核Agent:负责检查质量
今天的实战练习
现在轮到你动手了!试着完成以下任务:
练习1:用Dify搭建一个”旅行规划Agent”
- 创建一个新Agent,设定角色为”旅行规划师”
- 添加天气查询、网页搜索工具
- 测试任务:”我下周要去成都玩3天,请帮我查天气并推荐行程”
练习2:修改Python代码
在上面的Python代码基础上,添加一个新工具:
get_restaurant(city, cuisine):返回城市中推荐的餐厅
然后测试任务:”查一下上海天气,如果是晴天就推荐几家本帮菜餐厅”
练习3:思考你的Agent创意
想一想,你的工作或生活中,哪些重复性的任务可以用Agent来自动化?
常见场景:
- 每天早上自动查邮件→总结重点→推送给你
- 监控网站价格变化→达到目标价自动通知
- 自动整理文件夹→按日期/类型分类→生成索引
常见问题解答
Q:Agent和普通的ChatGPT有什么区别?
A:普通ChatGPT只能对话,不能使用工具。Agent能调用搜索引擎、数据库、API等外部工具,还能自主决定什么时候用什么工具。
Q:搭建Agent需要编程基础吗?
A:用Dify等平台不需要编程。但如果你想深度定制,Python基础会很有帮助。Day19的AI代码课可以帮到你。
Q:Agent会不会”失控”?
A:目前的Agent都有步骤限制(max_steps)和人工确认机制。但在生产环境中,确实需要谨慎设计权限和监控。这也是后面Day60″AI安全”要讨论的话题。
今日行动项
- 注册Dify:访问 dify.ai 创建账号(5分钟)
- 搭建第一个Agent:按教程创建一个生活助手Agent(15分钟)
- 测试任务:给Agent一个实际任务,观察它的工作过程(10分钟)
- (进阶)运行Python代码:如果你有Python环境,试试手写Agent(20分钟)
完成后,你就能理解AI Agent的核心原理:不只是回答问题,而是自主完成任务。
🚇 地铁深读:Agent的前世今生
这个板块专为地铁通勤设计,每篇5-10分钟。不想深读可以跳过,不影响主线学习。
从”工具”到”助手”:AI Agent的进化史
AI Agent的概念其实很早就有了。1996年,MIT的Pattie Maes就提出了”软件代理”的概念——一个能替你在网上比价购物的程序。但那时候AI太”笨”,这些想法只能停留在论文里。
真正的转折点是2022年。ChatGPT的出现让AI第一次具备了”理解自然语言”的能力,而2023年LangChain框架的爆发,让开发者可以轻松地给AI”接上”各种工具。
一个关键的技术突破是ReAct模式(2022年由Google Research提出)。在ReAct之前,AI要么只”想”(Chain-of-Thought),要么只”做”(Action-based)。ReAct让AI交替进行思考和行动,就像人类解决问题一样。
一个惊人的数字:Agent的效率提升
根据McKinsey 2025年的报告,在客服领域:
- 传统人工处理一个工单:平均12分钟
- AI辅助(人类主导):平均7分钟
- AI Agent(自动处理简单问题):平均45秒
对于标准化问题,Agent的效率是人工的16倍。而且Agent可以7×24小时工作,不需要休息。
Agent的”涌现能力”
最让研究者兴奋的是Agent的涌现能力——你没有明确教它做的事情,它自己”学会”了。
比如,一个被要求”帮我订机票”的Agent,发现自己需要先查天气来决定带什么衣服,然后发现需要查汇率来比较不同航空公司的价格——这些都不是人类预先设计的步骤,而是Agent在执行过程中自主发现的。
这种能力来源于大语言模型的强大推理能力。当模型足够大(比如GPT-4级别的万亿参数),它会表现出远超训练数据的新能力。
思考题:Agent的”自主性”边界在哪里?
想一个问题:当AI Agent能够自主完成越来越复杂的任务时,人类的角色会如何变化?
比如:
- 如果Agent能自动写代码、测试、部署——程序员该做什么?
- 如果Agent能自动诊断疾病——医生的角色会变吗?
- 如果Agent能自动管理投资组合——金融顾问还有价值吗?
一个有趣的类比:计算器没有让数学家失业,反而让他们能专注于更高层次的问题。Agent可能也会如此——让人类从”执行者”变成”决策者”和”创造者”。
留个悬念:明天的Day54我们会讲”微调:定制你的专属AI”——那时候你就能理解,如何让Agent变得更”懂你”,而不仅仅是完成通用任务。
明日预告
明早8点:Day54——早课 微调:定制你的专属AI
今晚5点:你正在阅读的这篇文章就是今天的晚课内容
明天早课,我们将学习如何”训练”一个专属的AI模型,让它更懂你的行业、你的表达习惯、你的需求。这是从”使用AI”到”定制AI”的关键一步。
发表回复