29. 附录 D · 教学实验清单
附录 D · 教学实验清单
本附录提供 30 个分章节的教学实验清单,让读者通过动手实践掌握操作形态学。
学习目标
- 通过30个分章节实验掌握操作形态学的核心概念
- 能够独立设计并实施LLM Agent实验
- 学会使用实验评分标准评估Agent性能
附录 D 导读
本附录按 5 个 Part 组织 30 个实验: - D.1 Part I 基础实验(实验 1-6) - D.2 Part II 具身认知实验(实验 7-12) - D.3 Part III 自进化实验(实验 13-20) - D.4 Part IV 系统实现实验(实验 21-25) - D.5 Part V 治理实验(实验 26-30)
每实验格式:实验目标 | 难度 | 预计时间 | 所需工具 | 操作步骤 | 评分标准。
D.1 Part I 基础实验(6 个)
实验 1:ReAct Agent 实现
- 目标:用 Python 实现一个最简 ReAct Agent
- 难度:★☆☆☆☆
- 时间:2 小时
- 工具:Python、Anthropic 或 OpenAI API
- 步骤:
- 实现 Thought + Action + Observation 循环
- 实现 3 个工具:search、calc、weather
- 在 5 个任务上测试(查天气、做计算、搜索等)
- 评分:任务完成率 ≥ 80%
实验 2:Reflexion 反思机制
- 目标:在 ReAct 基础上加反思循环
- 难度:★★☆☆☆
- 时间:2 小时
- 工具:实验 1 的代码
- 步骤:
- 加失败检测
- 加反思生成("我为什么错了?")
- 加反思存记忆
- 比较 5 个任务的成功率(ReAct vs Reflexion)
- 评分:Reflexion 比 ReAct 提升 ≥ 10%
实验 3:Function Calling 完整实现
- 目标:实现一个支持 Function Calling 的 LLM 客户端
- 难度:★★☆☆☆
- 时间:3 小时
- 步骤:
- 实现 JSON Schema 验证
- 实现自动修复(重试 + LLM 重新生成)
- 实现 3 层错误恢复(重试、降级、切换工具)
- 评分:能处理 3 种错误情况
实验 4:OPRO 自修改 prompt
- 目标:实现 OPRO 爬山优化 prompt
- 难度:★★★☆☆
- 时间:3 小时
- 步骤:
- 在实验 1 的 Agent 上实现 OPRO 优化 prompt
- 在 10 个任务上对比优化前后
- 绘制爬山曲线
- 评分:能展示明显爬山过程
实验 5:Token 预算与压缩
- 目标:实现 LongLLMLingua 的简化版
- 难度:★★★☆☆
- 时间:4 小时
- 步骤:
- 实现句子重要性评分
- 实现 Top-K 选择
- 在长对话上验证 9× 压缩率
- 评分:压缩后任务成功率 ≥ 80% 原始
实验 6:MemGPT 简化版
- 目标:实现 OS 风格分页的长期记忆
- 难度:★★★★☆
- 时间:6 小时
- 步骤:
- 实现 3 个核心函数:
recall_memory,core_memory_append,core_memory_replace - 在 50 轮对话上测试
- 测量 token 成本 vs 任务成功率
- 评分:长对话成功率 ≥ 短期对话的 90%
D.2 Part II 具身认知实验(6 个)
实验 7:4E Cognition 案例分析
- 目标:分析 5 个真实机器人项目的 4E 体现
- 难度:★☆☆☆☆
- 时间:3 小时
- 工具:学术论文
- 步骤:
- 阅读 Boston Dynamics Spot 论文
- 阅读 Anthropic Computer Use 论文
- 列出每个项目的 Embodied / Embedded / Enacted / Extended 体现
- 评分:能列出 ≥ 10 个具体例子
实验 8:Enactivism 哲学论证
- 目标:为 Enactivism 写一篇简短哲学论证
- 难度:★★☆☆☆
- 时间:2 小时
- 步骤:
- 阅读 Varela 的"行动生成"原文
- 写一篇 500 字短文:"为什么认知必须由行动构成?"
- 给出 3 个反例
- 评分:论证清晰、有 3 个反例
实验 9:Otto & Inga 思想实验扩展
- 目标:设计 3 个新的延展心智思想实验
- 难度:★★☆☆☆
- 时间:2 小时
- 步骤:
- 阅读原 Otto & Inga 实验
- 设计 3 个变体(不同认知功能、不同人群、不同工具)
- 用 parity principle 分析每个变体
- 评分:3 个变体都有清晰分析
实验 10:parity principle 边界
- 目标:找出 parity principle 的 3 个反例
- 难度:★★★☆☆
- 时间:3 小时
- 步骤:
- 阅读 Adams & Aizawa 的 non-derived content 反对
- 列出 3 个反例场景
- 思考 parity principle 的边界
- 评分:3 个反例都有合理论证
实验 11:Brooks subsumption 实现
- 目标:用 Python 实现 Brooks subsumption 架构
- 难度:★★★☆☆
- 时间:4 小时
- 工具:Webots 或 PyBullet 仿真
- 步骤:
- 实现 4 层行为(避障 → 运动 → 探索 → 推理)
- 在仿真机器人上跑 5 个任务
- 测量行为涌现 vs 中央规划
- 评分:行为涌现 + 任务完成率 ≥ 80%
实验 12:操作形态可塑性实验
- 目标:验证 B 修改后 Agent 表现变化
- 难度:★★★★☆
- 时间:6 小时
- 工具:实验 1 的 Agent + LLM
- 步骤:
- 用 OPRO 修改 prompt(P)
- 测量修改前后的任务表现
- 在 5 类任务上做(API 漂移、任务漂移等)
- 评分:H1 验证有结果
D.3 Part III 自进化实验(8 个)
实验 13:OPRO 爬山验证
- 目标:复现 OPRO 在 GSM8K 上的 +15pp
- 难度:★★★☆☆
- 时间:4 小时
- 步骤:
- 用 10 个 GSM8K 题目
- 跑 5 轮 OPRO
- 记录每轮的 top-3 prompt 和准确率
- 评分:能展示爬山曲线
实验 14:DSPy 优化 RAG
- 目标:用 DSPy 优化一个 RAG pipeline
- 难度:★★★☆☆
- 时间:5 小时
- 步骤:
- 在 HotPotQA 子集上跑 baseline
- 用 DSPy BootstrapFewShot 优化
- 对比优化前后准确率
- 评分:优化提升 ≥ 5pp
实验 15:MemGPT 100 轮对话
- 目标:实现 MemGPT 简化版
- 难度:★★★★☆
- 时间:8 小时
- 步骤:
- 实现 3 个核心函数
- 在 100 轮对话上测试
- 测量 token 成本
- 评分:100 轮成功率 ≥ 90%
实验 16:A-MEM 简化版
- 目标:实现 A-MEM 简化版
- 难度:★★★★☆
- 时间:6 小时
- 步骤:
- 实现 4 步流程
- 在 LoCoMo 子集上验证
- 对比 baseline RAG
- 评分:比 baseline 提升 ≥ 5pp
实验 17:SICA 简化版
- 目标:实现 SICA 简化版
- 难度:★★★★☆
- 时间:10 小时
- 步骤:
- 实现 Agent 编辑自己代码的循环
- 在 SWE-bench 子集上验证
- 测量编辑前后性能
- 评分:SWE-bench Verified 上 ≥ 30%
实验 18:MorphBench 1 案例
- 目标:运行 MorphBench 的 1 个完整案例
- 难度:★★★★☆
- 时间:8 小时
- 步骤:
- 选择 1 类干预(如 API 漂移)
- 跑 7 个实验组 × 10 任务
- 做 Wilcoxon 检验
- 评分:有完整结果 + 统计检验报告
实验 19:因果归因实现
- 目标:实现 Ch 20 的因果归因算法
- 难度:★★★★☆
- 时间:6 小时
- 步骤:
- 实现反事实推理
- 在模拟 B 上测试
- 对比真实原因 vs 归因结果
- 评分:准确率 ≥ 80%
实验 20:H1 + H2 综合验证
- 目标:在 1 个小规模上跑完整 H1 + H2 验证
- 难度:★★★★★
- 时间:16 小时
- 步骤:
- 选 1 类干预(API 漂移)
- 跑 7 组 × 10 任务
- 做 Wilcoxon + Bonferroni
- 写完整报告
- 评分:H1 显著 + H2 显著
D.4 Part IV 系统实现实验(5 个)
实验 21:Docker 沙箱部署
- 目标:把 Agent 部署到 Docker 沙箱
- 难度:★★☆☆☆
- 时间:3 小时
- 步骤:
- 写 Dockerfile
- 配置资源限制
- 部署并测试
- 评分:沙箱内 Agent 正常运行
实验 22:OpenTelemetry 集成
- 目标:把 OpenTelemetry 集成到 Agent
- 难度:★★★☆☆
- 时间:4 小时
- 步骤:
- 添加 OTel SDK
- 追踪每次工具调用
- 输出到 Jaeger
- 评分:Jaeger 看到完整 trace
实验 23:GitHub Actions CI
- 目标:把 MorphAgent 测试集成到 CI
- 难度:★★☆☆☆
- 时间:3 小时
- 步骤:
- 写 .github/workflows/ci.yml
- 包括 lint + test + MorphBench smoke
- 跑通后看结果
- 评分:PR 触发 CI 全部通过
实验 24:灰度发布实现
- 目标:实现 1% → 100% 流量切换
- 难度:★★★☆☆
- 时间:5 小时
- 工具:Kubernetes
- 步骤:
- 写 K8s manifest
- 实现 4 阶段切换
- 在 staging 测试
- 评分:能成功切换 + 监控指标
实验 25:完整 MorphAgent 系统
- 目标:实现完整的 MorphAgent 5 大子系统
- 难度:★★★★★
- 时间:30+ 小时
- 步骤:
- 实现 P/T/M/C 4 个子系统
- 实现 U 元控制器
- 实现 3 层验证
- 集成到 Docker + CI + 灰度
- 跑完整 MorphBench
- 评分:所有实验通过
D.5 Part V 治理实验(5 个)
实验 26:Prompt Injection 防御
- 目标:实现 3 层防御
- 难度:★★☆☆☆
- 时间:3 小时
- 步骤:
- 实现 detection + sanitization + filter
- 用红队测试 5 个 prompt injection
- 测量阻止率
- 评分:阻止率 ≥ 80%
实验 27:Docker Sandbox 安全
- 目标:实现安全沙箱
- 难度:★★☆☆☆
- 时间:3 小时
- 步骤:
- 配置资源限制(CPU/内存/网络)
- 配置权限(无 root)
- 测恶意代码在沙箱内的行为
- 评分:恶意代码无法逃逸
实验 28:Audit Log 实现
- 目标:实现审计日志
- 难度:★★☆☆☆
- 时间:2 小时
- 步骤:
- 记录所有自修改
- 包含 B_before / B_after / delta_V / 时间戳
- 写入只追加存储
- 评分:可追溯所有自修改
实验 29:公平性测试
- 目标:测试 Agent 对不同人群的表现差异
- 难度:★★★☆☆
- 时间:4 小时
- 步骤:
- 设计 5 类不同人群测试
- 运行 Agent
- 测量表现差异
- 最大差异 < 10%
- 评分:公平性达标
实验 30:完整 v0.1 部署
- 目标:端到端部署 MorphAgent v0.1 到生产
- 难度:★★★★★
- 时间:40+ 小时
- 步骤:
- 完整 CI/CD 流水线
- 灰度发布
- SLO 监控
- 自动回滚
- 7×24 运维演练
- 评分:生产级 SLA(99.5% 可用性)
附录 D 小结
- 30 个分章节实验,从基础(★)到高级(★★★★★)。
- 每个实验含目标、难度、时间、工具、步骤、评分。
- 总教学时间:~250 小时(完整教学工作量)。
- 实验覆盖全部 5 大 Part + 3 大附录。
本附录小结
- 30 个教学实验:6 + 6 + 8 + 5 + 5 = 30
- 5 大难度等级:★ ~ ★★★★★
- 总教学时间 ~250 小时
- 每个实验含 6 字段:目标、难度、时间、工具、步骤、评分
推荐阅读
- 📖 Bishop《Pattern Recognition》:实验基础教材。
- 📖 LangChain Tutorials:LangChain 实验教程。$TRAE_REF
- 📖 Hugging Face Agents Course:Agent 实战课。$TRAE_REF
- 📖 DeepLearning.AI Short Courses:吴恩达短课。
- 📖 MMLU Benchmark:LLM 通用评测。
练习题
- 选择题:在 D.1-D.5 中选 1 个最适合自己水平的实验,先做。
- 顺序题:D.1 的 6 个实验应该按什么顺序做?
- 组合题:D.3 的实验 13-20 中,哪些实验可以组合以减少工作量?
- 贡献题:用 30 个实验的教学经验,写一篇"如何教授 MorphAgent"的教学笔记。
参考文献(本章内)
- LangChain Authors. (2024). LangChain Tutorials. python.langchain.com/docs/tutorials
- Hugging Face. (2024). Agents Course. huggingface.co/learn/agents-course
- Anthropic. (2024). Computer Use Documentation. docs.anthropic.com
- OpenAI. (2024). Function Calling Guide. platform.openai.com
- Anthropic. (2024). Prompt Engineering Guide. docs.anthropic.com
- Webots. (2024). Webots Robot Simulator. cyberbotics.com
- PyBullet. (2024). PyBullet Physics Simulator. pybullet.org
- LangChain. (2024). LangGraph Tutorials. langchain-ai.github.io/langgraph
- OpenTelemetry. (2024). Python Getting Started. opentelemetry.io/docs/languages/python
- Kubernetes. (2024). Canary Deployments. kubernetes.io
本章进度:29.D.1–29.D.5 全部完成(约 5,000 字,含 30 个实验 + 10 篇引用 + 4 题 + 5 推荐),达到 28 页计划。
status: final。