第 13 章 · 七年级(初三) 上学期

AI Agent与应用开发

让 AI 真正「动手干活」:ReAct 框架、工具调用、多步推理、多智能体协作、长期记忆,最后把应用做成网站并部署上线。

12 课时 25 个知识点 4 大易错点 3 档分层作业
一年级上一年级下二年级上二年级下三年级上三年级下四年级上四年级下五年级上五年级下六年级上六年级下七年级上七年级下
01

情景导航

用故事和生活类比打开这学期的大门,先「知其所以然」再学语法。

ChatGPT 只能「说」,Agent 能「做」。给它目标、工具和记忆,它自己规划步骤、调用工具、反思纠错——像一个真正的数字员工。这学期小强要从「用 AI」进化到「造 AI 产品」:Flask 搭网站、API 做服务、Docker 部署上线,让全世界都能用上他做的 AI。

💯生活类比:把新知识挂在旧经验上
🤖

Agent = 数字员工

给目标、给工具、给权限,它自己拆任务自己干。

自主执行
🪜

ReAct = 想一步做一步

想(Thought)→ 做(Action)→ 看(Observation)→ 循环。

推理+行动
🧑‍🤝‍🧑

多Agent = 项目组

产品经理 + 程序员 + 测试员,各司其职靠消息协作。

角色分工
🚢

部署 = 开店营业

菜做好(模型)只是开始,开店(部署)全世界才吃得到。

产品上线
核 心 口 诀ReAct循环想动看,工具清单写明白;
记忆短期靠上下文,长期记忆向量存;
Flask API前后端,Docker装箱云端跑,产品见用户!
02

知识探究

AI Agent与应用开发 —— 共 12 课时,全部知识点一网打尽。

🤖Agent 核心(3 课时)
第1课Agent是什么
🎯 趣味项目:AI自主完成任务📚 教学目标:掌握Agent概念、ReAct框架,在项目实战中巩固运用
Agent概念ReAct框架
PythonReAct:想一步做一步
# Agent 的思考轨迹(示意):
# Thought: 我需要先查明天的天气
# Action: search_weather("北京 明天")
# Observation: 多云转晴,最高 26℃
# Thought: 天气不错,可以回答用户了
# Final Answer: 明天北京多云转晴,最高 26 度,适合出游。
print("Thought → Action → Observation 循环,直到 Final Answer")
运 行 结 果
Thought → Action → Observation 循环,直到 Final Answer
第2课工具调用
🎯 趣味项目:AI用计算器📚 教学目标:掌握工具定义、工具选择,在项目实战中巩固运用
工具定义工具选择
PythonAgent:让 AI 用工具
# Function Calling:给模型一份「工具说明书」
tools = [{
    "name": "calculator",
    "description": "计算数学表达式",
    "parameters": {"expr": "算式字符串,如 12*(3+4)"},
}]
# 模型不自己算,而是输出:
model_reply = {"tool": "calculator",
               "arguments": {"expr": "12*(3+4)"}}
print("模型说:我要调工具 →", model_reply)
# 你的程序执行后把结果喂回去:
print("程序算得 84 → 模型据此回答用户")
运 行 结 果
模型说:我要调工具 → {'tool': 'calculator', 'arguments': {'expr': '12*(3+4)'}}
程序算得 84 → 模型据此回答用户
第3课多步推理
🎯 趣味项目:复杂任务拆解📚 教学目标:掌握规划、执行、反思,在项目实战中巩固运用
规划执行反思
Python多步推理:复杂任务拆着做
# ReAct 循环:思考 → 行动 → 观察 → 再思考……
steps = [
    ("Thought", "用户要比价 3 家书店,我需要先查每家价格"),
    ("Action",  "search('书店A Python书 价格')"),
    ("Observation", "书店A:79 元"),
    ("Thought", "还差两家,继续查"),
    ("Action",  "search('书店B Python书 价格') → 85 元"),
    ("Final",   "最便宜:书店A 79 元"),
]
for tag, text in steps:
    print(f"[{tag}] {text}")
print("拆解 = 把大问题变成一串能一次解决的小问题")
运 行 结 果
[Thought] 用户要比价 3 家书店,我需要先查每家价格
[Action] search('书店A Python书 价格')
[Observation] 书店A:79 元
[Thought] 还差两家,继续查
[Action] search('书店B Python书 价格') → 85 元
[Final] 最便宜:书店A 79 元
拆解 = 把大问题变成一串能一次解决的小问题
🧑‍🤝‍🧑多Agent 与自动化(3 课时)
第4课多Agent协作
🎯 趣味项目:AI团队开会📚 教学目标:掌握角色分工、消息传递,在项目实战中巩固运用
角色分工消息传递
Python多 Agent 协作:AI 团队开会
# 像剧组一样分工:每个 Agent 一个角色
team = {
    "产品经理": "把需求写成清晰的任务卡",
    "程序员":   "写代码,只管实现",
    "测试员":   "专挑毛病,写测试用例",
    "评审":     "汇总各方意见做决定",
}
msg = [("用户", "做一个倒计时程序"), ("产品", "任务卡:输入分钟数,倒计时结束提醒"),
       ("程序员", "已交付 countdown.py v1"), ("测试", "发现:输入 0 会立即崩溃!"),
       ("评审", "程序员修复后交付 v2 ✓")]
for who, text in msg:
    print(f"{who}:{text}")
运 行 结 果
用户:做一个倒计时程序
产品:任务卡:输入分钟数,倒计时结束提醒
程序员:已交付 countdown.py v1
测试:发现:输入 0 会立即崩溃!
评审:程序员修复后交付 v2 ✓
第5课记忆系统
🎯 趣味项目:有长期记忆的AI📚 教学目标:掌握短期记忆、长期记忆,在项目实战中巩固运用
短期记忆长期记忆
PythonAgent 记忆系统
# 短期记忆 vs 长期记忆:
# 短期 = 对话历史(context 内,关窗就忘)
# 长期 = 存数据库,跨会话记得你
memory = {}                          # 演示:长期记忆库
def remember(user, fact):
    memory.setdefault(user, []).append(fact)

remember("小明", "喜欢科幻小说")
remember("小明", "Python 学到函数那章")
print("两周后小明回来……")
print("AI:欢迎回来!上次聊到函数,"
      "要不要用你喜欢的科幻题材练一练?")
print("记忆库:", memory)
运 行 结 果
两周后小明回来……
AI:欢迎回来!上次聊到函数,要不要用你喜欢的科幻题材练一练?
记忆库: {'小明': ['喜欢科幻小说', 'Python 学到函数那章']}
第6课自动化工作流
🎯 趣味项目:AI帮你处理邮件📚 教学目标:掌握工作流编排、触发器,在项目实战中巩固运用
工作流编排触发器
Python自动化工作流:AI 帮你处理邮件
# 工作流 = 触发器 + 条件分支 + 动作节点
workflow = {
    "触发": "新邮件到达",
    "节点1": "LLM 分类:重要/广告/垃圾",
    "分支": {"重要": "→ 摘要 + 发微信提醒",
             "广告": "→ 归档不通知",
             "垃圾": "→ 直接删除"},
    "兜底": "不确定 → 标记人工处理",
}
for k, v in workflow.items():
    print(f"{k}:{v}")
print("关键词:触发器 / 节点 / 条件 / 人工兜底")
运 行 结 果
触发: 新邮件到达
节点1: LLM 分类:重要/广告/垃圾
分支: {'重要': '→ 摘要 + 发微信提醒', '广告': '→ 归档不通知', '垃圾': '→ 直接删除'}
兜底: 不确定 → 标记人工处理
关键词:触发器 / 节点 / 条件 / 人工兜底
🌐应用开发(3 课时)
第7课Web应用开发
🎯 趣味项目:把AI做成网站📚 教学目标:掌握Flask、FastAPI、前端基础,在项目实战中巩固运用
FlaskFastAPI前端基础
PythonFlask:AI 变成网站
from flask import Flask, request, jsonify
app = Flask(__name__)

@app.route("/api/chat", methods=["POST"])
def chat():
    data = request.get_json()
    answer = my_ai(data["message"])   # 调用你的AI
    return jsonify({"reply": answer})

app.run(port=5000)   # 别人访问 /api/chat 就能对话
运 行 结 果
POST /api/chat  {"message": "你好"}
→  {"reply": "你好!我是你的AI助手~"}
第8课API开发
🎯 趣味项目:提供AI服务📚 教学目标:掌握RESTful API、接口设计,在项目实战中巩固运用
RESTful API接口设计
PythonRESTful API 设计
# 资源 + 动词 = 清晰的接口
GET    /api/notes        # 查列表
GET    /api/notes/42     # 查一条
POST   /api/notes        # 新建
PUT    /api/notes/42     # 更新
DELETE /api/notes/42     # 删除
# 状态码:200 成功 / 400 参数错 / 404 没找到
运 行 结 果
(接口像图书馆索引:找什么、怎么找,一目了然)
第9课部署上线
🎯 趣味项目:让全世界都能用📚 教学目标:掌握云服务器、Docker入门,在项目实战中巩固运用
云服务器Docker入门
PythonDocker:把应用装进箱子
# Dockerfile
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]

# 构建 → 运行:
# docker build -t my-ai .
# docker run -p 5000:5000 my-ai
运 行 结 果
(在任何装了 Docker 的机器上,一条命令跑起来)
🎯产品与认证(3 课时)
第10课产品思维
🎯 趣味项目:做一个有用的AI产品📚 教学目标:掌握用户需求、产品设计,在项目实战中巩固运用
用户需求产品设计
Python产品思维:做一个有用的 AI 产品
# 好产品三问:
questions = [
    ("谁在痛?", "目标用户 + 具体场景:谁、什么时候、多烦"),
    ("凭什么是你?", "差异点:更快/更便宜/更贴心/更垂直"),
    ("怎么留住人?", "首次体验 10 秒见效 + 越用越懂你"),
]
for q, a in questions:
    print(f"{q}\n  → {a}")
print("反面教材:『AI 版万物』——没有场景的炫技")
print("正面案例:错题拍立得——拍一拍、讲一讲、推三题")
运 行 结 果
谁在痛?
  → 目标用户 + 具体场景:谁、什么时候、多烦
凭什么是你?
  → 差异点:更快/更便宜/更贴心/更垂直
怎么留住人?
  → 首次体验 10 秒见效 + 越用越懂你
反面教材:『AI 版万物』——没有场景的炫技
正面案例:错题拍立得——拍一拍、讲一讲、推三题
第11课LMCC复赛精讲
🎯 趣味项目:上机实战📚 教学目标:掌握RAG系统搭建、Prompt优化,在项目实战中巩固运用
RAG系统搭建Prompt优化
PythonLMCC 复赛:RAG 搭建 + Prompt 优化
# 复赛上机 2 小时典型节奏(分秒必争):
plan = [
    ("0-10min", "读题 + 跑通官方 baseline"),
    ("10-40min", "数据清洗与分块调优(最容易拿分)"),
    ("40-70min", "检索优化:混合检索 + Rerank"),
    ("70-100min", "Prompt 精修:加引用、限定只用资料"),
    ("100-120min", "自测 + 提交(留足上传时间!)"),
]
for t, task in plan:
    print(f"{t}:{task}")
print("军规:每次只改一个变量,改动前先备份")
运 行 结 果
0-10min:读题 + 跑通官方 baseline
10-40min:数据清洗与分块调优(最容易拿分)
40-70min:检索优化:混合检索 + Rerank
70-100min:Prompt 精修:加引用、限定只用资料
100-120min:自测 + 提交(留足上传时间!)
军规:每次只改一个变量,改动前先备份
🏆 期末项目期末项目
🎯 趣味项目:个人AI助手📚 教学目标:掌握综合运用,在项目实战中巩固运用
综合运用
Python期末项目:个人 AI 助手
# 六年课程的终点作品:你的专属 AI
skills = {
    "记忆": "记得你的偏好与学习进度",
    "工具": "查天气、算数、定闹钟(Function Calling)",
    "知识": "你的笔记和课件建成 RAG 知识库",
    "人格": "可定制说话风格(系统提示词)",
}
for k, v in skills.items():
    print(f"{k}:{v}")
print("架构:LLM + 记忆库 + 工具集 + RAG + 前端界面")
print("毕业标准:现场演示连续完成 3 个真实任务")
运 行 结 果
记忆: 记得你的偏好与学习进度
工具: 查天气、算数、定闹钟(Function Calling)
知识: 你的笔记和课件建成 RAG 知识库
人格: 可定制说话风格(系统提示词)
架构:LLM + 记忆库 + 工具集 + RAG + 前端界面
毕业标准:现场演示连续完成 3 个真实任务
03

实践应用

每个知识点都要落到能跑、能玩、能演示的作品上。

🏆 期末项目个人AI助手

期末项目是整学期知识点的综合检验场:综合运用。学生将独立完成需求拆解 → 功能实现 → 调试打磨 → 上台演示的完整闭环。

💡 验收标准:功能完整可运行、代码结构清晰、能给同学讲明白实现原理。
📊本学期课时一览表(可打印)
课次主题趣味项目知识点
1Agent是什么AI自主完成任务Agent概念、ReAct框架
2工具调用AI用计算器工具定义、工具选择
3多步推理复杂任务拆解规划、执行、反思
4多Agent协作AI团队开会角色分工、消息传递
5记忆系统有长期记忆的AI短期记忆、长期记忆
6自动化工作流AI帮你处理邮件工作流编排、触发器
7Web应用开发把AI做成网站Flask/FastAPI、前端基础
8API开发提供AI服务RESTful API、接口设计
9部署上线让全世界都能用云服务器、Docker入门
10产品思维做一个有用的AI产品用户需求、产品设计
11LMCC复赛精讲上机实战RAG系统搭建、Prompt优化
12期末项目个人AI助手综合运用
04

总结提升

把一学期的知识点串成体系,看清来路与去向。

📌知识点体系图
🤖 Agent 核心
Agent概念ReAct框架工具定义工具选择规划执行反思
🧑‍🤝‍🧑 多Agent 与自动化
角色分工消息传递短期记忆长期记忆工作流编排触发器
🌐 应用开发
FlaskFastAPI前端基础RESTful API接口设计云服务器Docker入门
🎯 产品与认证
用户需求产品设计RAG系统搭建Prompt优化综合运用
🔄承上启下

◀ 上一章:六年级 下学期 · RAG与知识库应用

下一章 ▶:七年级 下学期 · 模型微调与毕业项目

💪 学完这学期,你将获得

让 AI 真正「动手干活」:ReAct 框架、工具调用、多步推理、多智能体协作、长期记忆,最后把应用做成网站并部署上线。

结业时你将带走:1 个完整大模型产品 + LMCC 认证 + 从想法到上线的全栈能力。

05

学习检测

避开高频易错点,再用速查表把语法焊进肌肉记忆。

易错点 1

工具描述含糊

✗ 错误写法
tool: "计算器"
# 没写能算什么
✓ 正确写法
description: "四则运算计算器,
输入算式字符串返回结果"
💡 为什么:AI 选工具全靠描述,写得含糊它就选错、乱传参。
易错点 2

死循环不设上限

✗ 错误写法
while 没完成:
    继续尝试
# 烧钱狂转
✓ 正确写法
max_steps = 10
超限强制停止+汇报
💡 为什么:Agent 可能原地打转,步数上限和预算上限是必备保险丝。
易错点 3

API 不做错误处理

✗ 错误写法
resp = requests.get(url)
data = resp.json()
# 断网=崩溃
✓ 正确写法
try/except + 重试
+ 超时 + 降级方案
💡 为什么:网络请求随时会失败,健壮的 API 代码必须有兜底。
易错点 4

密钥写进代码

✗ 错误写法
API_KEY = "sk-xxx"
# 传GitHub全裸奔
✓ 正确写法
环境变量 / .env 文件
(并加入 .gitignore)
💡 为什么:密钥进代码库等于把家门钥匙发到网上。
📋语法速查表
功能写法一句话理解
ReAct 范式Thought→Action→Observation 循环Agent 的心跳
定义工具@tool 装饰器 + 清晰描述工具就是 Agent 的手
Flask 路由@app.route('/api/chat')一个地址一个功能
返回JSONreturn jsonify({"reply": …})前后端通话标准格式
Docker 构建docker build -t myai .把环境+代码装进箱子
运行容器docker run -p 5000:5000 myai一台服务器跑起来
密钥管理os.environ.get("API_KEY")密钥放环境变量
日志排查print / logging 两层日志线上全靠日志破案
分 层 作 业

练习作业

按 A / B / C 三档难度自主选择:保底完成 A 组,学有余力挑战 B、C 组。

A组·基础任选其一深入完成
  1. 给「帮我订机票」任务写一份 Agent 步骤拆解(至少 5 步)。
  2. 手动模拟 ReAct 三轮:查天气 → 决定带伞 → 回复用户。
  3. 用 Flask 写一个 Hello World 接口并用浏览器访问。
B组·提高任选其一深入完成
  1. 计算器工具 Agent:AI 自己决定何时调用工具。
  2. 双 Agent 辩论赛:正方反方各 3 轮,最后裁判总结。
  3. 把一个 AI 功能部署成本地可访问的网站。
C组·挑战任选其一深入完成
  1. 个人 AI 助手:日程 + 提醒 + 知识问答三合一。
  2. 自动周报机器人:读取记录 → 总结 → 发邮件。
  3. 完整产品:前端页面 + API 服务 + Docker 部署。