🤖 AI Agent 开发实战

从零搭建一个能干活、会成长的智能助手
🎓 公益课程 自由进度 零基础入门
📚 20 📦 4 大模块 86 个实操文件 🆓 免费 全程公益
📖 模块一 认识 AI Agent

4课 理解Agent不是魔法,而是一个可以拆解和组装的循环

1
你每天都在用的Agent
⏱ 30min 📄 图文教程 ⚙️ demo/agent_intro.py

从身边的AI助手开始,理解 Agent = LLM + 上下文 + 工具。

核心概念

  • Agent = 能感知环境并采取行动的智能体
  • 三要素:LLM(大脑)+ 上下文(记忆)+ 工具(手)
  • Agent 和普通聊天助手的区别:会用工具、会规划、会记住
💡 你企微上的 Hermes Agent 就是一个完整的 AI Agent 实例——它会调用你的工具来查数据。

跑起来

cd /root/course/module-1/lesson-1/demo/
python agent_intro.py

你会看到一段对话模拟,展示 Agent "收到→思考→执行→回复" 的完整流程,以及Token消耗统计。

2
拆穿Agent:它就是循环
⏱ 30min 📄 图文教程 ⚙️ demo/react_loop.py

Agent 的核心是一个循环:想→做→看。ReAct 模式。

ReAct 三步

  • 💭 思考 (Thought):LLM 分析当前任务
  • 🔧 行动 (Action):调用工具
  • 👀 观察 (Observation):拿回工具结果
用户问"保康县面积多少?"
→ 💭 需要查数据库
→ 🔧 search_database("保康县", "面积")  
→ 👀 {"area": "3225平方公里"}
→ 💬 保康县总面积约3225平方公里

跑起来

cd /root/course/module-1/lesson-2/demo/
python react_loop.py
3
动手组一个Agent
⏱ 35min 📄 图文教程 ⚙️ demo/first_agent.py 🔑 需DeepSeek API

写第一个真正的Agent——15行代码调DeepSeek API。

from openai import OpenAI
import os
client = OpenAI(api_key=os.getenv("DEEPSEEK_API_KEY"), 
                base_url="https://api.deepseek.com")

system = "你是一个保康县统计助手"
messages = [{"role": "system", "content": system}]

while True:
    user = input("\n你: ")
    messages.append({"role": "user", "content": user})
    r = client.chat.completions.create(model="deepseek-chat", messages=messages)
    reply = r.choices[0].message.content
    print(f"助手: {reply}")
    messages.append({"role": "assistant", "content": reply})

同时提供一个 cold_agent.py(无system prompt),对比有/无角色定位的效果差异。

4
实验:去掉一样会怎样
⏱ 35min 📄 图文教程 ⚙️ demo/ablation.py

上下文消融实验:验证"Agent = LLM + 上下文 + 工具"。

5种配置对比

配置结果
✅ 完整Agent成功执行
❌ 无工具Agent无法执行具体操作
❌ 无历史效率下降5倍以上
❌ 无角色回答偏离统计专业
📄 纯LLM只能聊天,无法行动

亲眼看到缺任何一环,Agent就"残了"。

🔧 模块二 给Agent装工具

6课 从读文件到上网搜索,再到MCP协议和自定义工具

5
Agent的眼睛——读文件工具
⏱ 35min 📄 图文教程 ⚙️ agent_with_read.py

给Agent装第一个工具:read_file。支持分页、错误处理。

用 DeepSeek Function Calling 让Agent自主决定调用工具。

💡 这是你学过的第5章 coding-agent 的核心技术。
6
Agent的搜索能力
⏱ 35min 📄 图文教程 ⚙️ agent_with_search.py

三个搜索工具:search_files(按文件名)、grep_content(搜内容)、list_directory(列目录)。

Agent链式调用:先搜文件→再读内容→回答。

7
让Agent上网
⏱ 35min 📄 图文教程 ⚙️ agent_with_web.py

两个网络工具:web_search(DuckDuckGo,免费)和 web_fetch(抓取网页)。

让Agent搜索最新新闻并抓取内容回答。

🌐 DuckDuckGo 不需要任何API Key!
8
MCP:工具的通用插座
⏱ 30min 📄 图文教程 ⚙️ mcp_demo.py

MCP = Model Context Protocol。所有工具统一注册到一个"工具箱"。

核心方法:register()list_tools()call_tool()

🔌 就像国标插座——什么电器插上去都能用。
9
造一个自定义工具——保康统计查询
⏱ 40min 📄 图文教程 ⚙️ agent_with_baokang.py

为打造专属工具 baokang_stats_query

  • 支持6大指标:GDP、人口、农业产值、工业产值、居民收入、财政收支
  • 支持乡镇查询:城关镇、马桥镇、歇马镇等
  • 内置模拟数据,无需数据库即可运行

Agent自主调用:baokang_stats_query("GDP", "2025", "全县") → 返回结果。

10
安全红线
⏱ 30min 📄 图文教程 ⚙️ security_demo.py

三层次安全:🟢 白名单(只能运行允许的命令)🔴 黑名单(禁止危险操作)🟡 审批(高风险操作需确认)。

演示 Agent 尝试 rm -rf / 被拒绝、sudo apt install 被拦截。

🧠 模块三 让Agent变聪明

6课 知识库、多Agent协作、自我进化、并行加速

11
给Agent装知识库
⏱ 45min 📄 图文教程 ⚙️ simple_knowledge_base.py

sentence-transformers 把保康县的农产品数据做成向量知识库。三步:切块→向量化→搜索。

效果:用户问"保康茶叶怎么样?"→ 语义搜索→ 找到最相关的段落。

用户问:保康县的茶叶怎么样?
结果:[相似度:0.67] 保康县是湖北省茶叶种植重点县,全县茶园面积达15.6万亩...
12
多Agent协作(一):总管和工人
⏱ 40min 📄 图文教程 ⚙️ orchestrator_worker.py

Orchestrator 拆解任务 → Workers 并行执行 → Orchestrator 合并。模拟版+真实LLM版。

用"对比保康县各乡镇经济数据"做演示。

13
多Agent协作(二):专家辩论
⏱ 40min 📄 图文教程 ⚙️ debate_demo.py

多方辩论 → 裁判裁决。乐观派 vs 保守派 → 得出平衡结论。

辩题示例:"AI Agent 应该更自主还是更可控?"

14
多Agent协作(三):接力干活
⏱ 40min 📄 图文教程 ⚙️ trading_demo.py

Trading 模式:串行传递,上一步输出是下一步输入。需求分析 → 数据采集 → 报告撰写。

模拟版+真实LLM版,两版对比学。

15
让Agent自己学会成长
⏱ 40min 📄 图文教程 ⚙️ evolving_agent.py

自我进化 = 不改模型权重,通过积累经验变好。

经验库 → 每次完成任务后提取经验 → 下次类似问题直接复用。

🧬 这是第8章的核心思想:推理时优化。
16
让Agent跑得更快——并行加速
⏱ 30min 📄 图文教程 ⚙️ parallel_demo.py

concurrent.futures.ThreadPoolExecutor 让多个任务同时执行。

串行 6.5秒 vs 并行 3.0秒,实测加速比 2.2×。

🚀 模块四 做出可用的产品

4课 从运维到企微部署,整合成一个完整的保康统计AI助手

17
伺候好你的Agent
⏱ 30min 📄 图文教程 ⚙️ agent_ops.py

成本控制(缓存+预算)、错误恢复(指数退避)、Token管理(截断)。

一个coding-agent任务约$0.0057,缓存命中后零成本。

18
意图分类器——看懂用户想干什么
⏱ 35min 📄 图文教程 ⚙️ intent_classifier.py

关键词匹配 → 自动选择模式:

用户说匹配模式
"GDP多少?"📊 单次查询
"对比一季度和三季度"🏗️ OW对比
"这个数据怎么看?"🗣️ Debate
"生成月报"🔗 Trading接力
19
把Agent放到企业微信上
⏱ 40min 📄 图文教程 ⚙️ wecom_agent.py

Agent从终端走向企微。Hermes Agent作为企微网关,Agent脚本作为工具被调用。

支持命令行调用和管道输入两种方式。

20
终极项目:保康统计AI助手
⏱ 60min 📄 图文教程 ⚙️ final_project.py 🏆 全书大整合

整合全部技能:

  • 意图分类器 → 自动选模式(第18课)
  • 数据查询 → 调用 baokang_stats_query(第9课)
  • 对比分析 → OW模式(第12课)
  • 趋势解读 → Debate模式(第13课)
  • 自动月报 → Trading接力(第14课)
  • 经验积累 → 自我进化(第15课)
  • 结果缓存 → 成本控制(第17课)
🏆 跑通这个,你就真正掌握了AI Agent从原理到产品的完整技能。

📌 学习建议

🟢 入门(1-7课)

理解Agent概念,学会基本工具调用

🟡 进阶(8-16课)

MCP协议、多Agent协作、知识库

🔴 实战(17-20课)

运维、部署、整合成可用产品