Chapter 19

练习、验收标准与“真的学会了”的判据

目标不是背 API,而是建立能从顶层设计一路推导到源码细节的心智模型。读完本章,你应该能解释“为什么这样设计”,而不仅是“代码在哪里”。

1. 基础理解验收

  • ☐ 不看资料解释“LLM / Agent / Harness / Runtime”的区别。
  • ☐ 画出 DSH 顶层插件树与六个核心 service。
  • ☐ 解释为什么 Agent 和 Agent Loop 必须拆开。
  • ☐ 解释为什么 Session 采用 event sourcing。

2. 源码理解验收

  • ☐ 从一次用户输入追完整 turn/step 生命周期。
  • ☐ 能指出 prompt、tool schema 在什么时候被组装。
  • ☐ 能解释 tool pre/execute/post 的横切用途。
  • ☐ 能解释 DeepSeek adapter 与 retry policy 的责任边界。
  • ☐ 能找到一个 Definition/Provider/Consumer 三角色 seam。

3. 实现验收

  • ☐ 独立写出 event-sourced Session。
  • ☐ 独立写出插件 effect/disposer。
  • ☐ 支持两个 agent 的 scoped tools。
  • ☐ 用 Mock LLM 跑出两 step tool loop。
  • ☐ 用真实 DeepSeek adapter 替换 Mock,不改 loop。
  • ☐ 加 JSONL persistence,不改 Session core。
  • ☐ 写测试证明插件卸载后 registry 无残留。

4. 最终大作业

实现一个 headless harness:支持 profile 配置、DeepSeek provider、read/bash 两工具、每 agent persona、JSONL resume、并行安全工具池、AbortSignal 取消和 event log 导出。然后再做 Web UI。做到这里,你对 DSH 的认识已经从“会用”进入“能重建”。