Skip to content

docs(notebooks): 新增第4章任务规划与分解配套 Notebook - #161

Merged
webup merged 7 commits into
datawhalechina:mainfrom
ThingsWorld:docs/ch04-task-planning
Oct 22, 2026
Merged

webup merged 7 commits into
datawhalechina:mainfrom
ThingsWorld:docs/ch04-task-planning

Conversation

@ThingsWorld

Copy link
Copy Markdown
Contributor

Closes #122
Refs #105

为第 4 章「任务规划与分解」新增可独立运行的 Notebook,重点讲解 TodoListMiddleware、write_todos 和 todos 状态。

主要内容

  • 显式传入 TodoListMiddleware(),对比启用前后的工具与状态。
  • 用一个完整研究案例比较 Deep Agents、Claude Agent SDK、Codex SDK:先提交初稿,再根据追加需求检查缺项、补查资料、调整计划并提交修订报告。
  • 展示工具调用、返回结果和 todos,解释 pending、in_progress、completed,以及完整列表替换。
  • 检查实际搜索记录、报告内容和资料来源,不把 completed 当作任务完成的证明。
  • 允许模型不调用 write_todos,不要求固定计划内容或完整状态流转。
  • 沿用第 2 章的搜索接口和术语,重点解释规划机制与结果检查。
  • 更新章节正文入口、Notebook 索引、目录注册,以及 Markdown/HTML 阅读副本。

验证环境

  • Ubuntu 26.04 x86_64
  • Python 3.12.15
  • deepagents==0.7.22
  • langchain==1.4.3
  • langchain-core==1.6.6
  • langgraph==1.2.13
  • langchain-openai==1.6.7
  • tavily-python==0.8.4
  • nbconvert==7.17.1

验证命令与结果

在仓库根目录、已配置依赖的 Python 环境中执行:

python -m pytest notebooks/tests/test_ch04.py -q

python -m course_notebooks.run ch04-task-planning --write-back
python -m course_notebooks.run ch04-task-planning --check-reading
python -m course_notebooks.run --check-only

COURSE_MODE=offline python -m jupyter nbconvert \
  --to notebook --execute notebooks/ch04/01-task-planning.ipynb \
  --output-dir /tmp/ch04-verify \
  --ExecutePreprocessor.timeout=600 \
  --ExecutePreprocessor.kernel_name=python3

结果:

  • 25 项章节测试通过。
  • 整本 offline 执行通过。
  • 新内核从第一格顺序执行全部 12 个代码格通过。
  • 阅读副本同步检查、14 份目录及链接检查通过。
  • 从零安装锁定依赖的环境复验尚未补做;上述结果不等同于该项验证。

live 验证

2026-10-19 使用硅基流动模型 Qwen/Qwen3-Coder-30B-A3B-Instruct 和 Tavily 完成整本 live 验证:

  • 初稿阶段实际搜索 6 次,追加需求后补查 3 次。
  • 初稿提交、缺项检查和修订报告提交均通过。
  • 当前代码格与该次 live 执行副本一致;其后仅调整说明文字和文档入口,未重复执行 live。
  • 配置对照、列表替换和验收边界对照使用脚本模型与本地资料。

模型和搜索通过环境变量配置,可能产生 API 费用。随仓库提交的输出为 offline;本地验证报告、.env 和真实密钥不纳入提交。

验证边界

自动检查覆盖工具执行关联、报告结构、任务覆盖和来源可追溯性,不代替报告事实正确性与研究质量的人工评审,也不是三个框架的性能测试。

@webup
webup marked this pull request as ready for review October 21, 2026 12:14

@webup webup left a comment •

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ThingsWorld 感谢补齐第 4 章 Notebook!两轮案例把计划调整和产物验收讲得很清楚,整本 Notebook 也已实测运行通过。

合并前请再补两处:

  1. 补齐 live 验证说明:更新 README 中的占位记录,并与 Notebook 开头同步,注明实际模型、验证日期、对应代码版本和记录链接。
  2. 增加一个单变量练习:可复用清单替换实验,让读者修改 replacement,先预测最终清单,再观察 todos,最后恢复原值并重跑。

修改后请同步更新 Markdown / HTML 阅读副本。谢谢!

@ThingsWorld

Copy link
Copy Markdown
Contributor Author

已补齐 README 与 Notebook 开头的 live 验证说明,并在第 6 节新增 replacement 单变量练习,包含预测、修改、观察 todos、恢复原值重跑。Markdown / HTML 已同步。2026-10-22 live 验证通过,请再帮忙审核。

@webup

webup commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator

感谢 @ThingsWorld 的补充!验证说明和单变量练习都已完善,复评通过,准备合并。感谢你为第 4 章补齐完整的动手案例!

@webup
webup merged commit e52029b into datawhalechina:main Oct 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Notebook] ch04:任务规划与 TodoListMiddleware

2 participants