Day53——晚课 AI Agent:自主执行任务

作者:

系列教程说明

这是「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是国内团队开发的,界面全中文,零代码就能上手。

第一步:注册并创建工作区

  1. 打开浏览器,访问 dify.ai
  2. 点击”免费开始”,用邮箱或GitHub账号注册
  3. 登录后,点击左侧”工作室”,再点”创建应用”
  4. 选择”Agent”类型,起个名字(比如”我的第一个Agent”)

!Dify创建Agent界面

第二步:设定Agent的角色和目标

在Agent的”系统提示词”里,写下它的”人设”:

`

你是一个生活助手Agent。你的任务是帮助用户解决日常问题。

你有能力:

  1. 搜索网络获取最新信息
  2. 进行计算和数据处理
  3. 生成文档和报告

工作原则:

  • 收到任务后,先拆解成小步骤
  • 每完成一步,检查结果是否正确
  • 如果遇到不确定的信息,主动告诉用户
  • 最后给出一个完整的总结

`

关键技巧:告诉Agent它有哪些”能力”(工具),以及”工作原则”,它就会按这个方式自主工作。

第三步:给Agent添加工具

点击”工具”选项卡,你会看到Dify内置了很多工具:

  • 🔍 网页搜索:让Agent能搜索互联网
  • 📊 计算器:让Agent能做数学运算
  • 📝 文档生成:让Agent能写文件
  • 🌤️ 天气查询:让Agent能查天气

勾选你需要的工具,Agent就能在需要时自动调用它们。

!Dify工具配置

第四步:测试你的Agent

在右侧的预览窗口中,给Agent一个任务:

帮我查一下北京明天的天气,如果会下雨,提醒我带伞,并写一个简单的出行建议。

你会看到Agent的工作过程:

  1. 思考:”用户想知道北京明天的天气,我需要调用天气查询工具”
  2. 行动:调用天气API获取北京天气数据
  3. 观察:”明天北京有小雨,气温15-22°C”
  4. 思考:”会下雨,需要提醒带伞,并给出出行建议”
  5. 输出:完整的天气报告+出行建议

这就是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”

  1. 创建一个新Agent,设定角色为”旅行规划师”
  2. 添加天气查询、网页搜索工具
  3. 测试任务:”我下周要去成都玩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安全”要讨论的话题。


今日行动项

  1. 注册Dify:访问 dify.ai 创建账号(5分钟)
  2. 搭建第一个Agent:按教程创建一个生活助手Agent(15分钟)
  3. 测试任务:给Agent一个实际任务,观察它的工作过程(10分钟)
  4. (进阶)运行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”的关键一步。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注