6. 完整学习路线
以下按“前端背景、能投入持续学习”的默认情况设计。若每天投入 1.5 到 2 小时,建议总周期 4 到 6 周;只做快速理解可压缩到 1 到 2 周。
阶段 0:建立项目全景
- 目标:能解释项目解决什么问题、入口和核心价值。
- 推荐时间:1 到 2 天。
- 学习章节:第 1、2、3 章。
- 阅读:
README.md、docs/architecture.md、docs/cordis-primer.md、packages/core/README.md。 - 实践:运行
git status、列出目录、画一张自己的模块草图。 - 验收:不看文档,能说出“插件化、session log、turn/step、profile/bundle”。
阶段 1:搭建并运行项目
- 目标:完成依赖安装和最小运行,记录真实成功或失败。
- 推荐时间:1 到 2 天。
- 学习章节:第 9 章。
- 阅读:
docs/development.md#setup-tutorial、根package.json。 - 实践:
pnpm install、pnpm run typecheck;如环境允许,再尝试pnpm run test或pnpm dsh --profile headless。 - 验收:能区分环境问题、依赖问题和配置问题。
阶段 2:掌握 Cordis 插件模型
- 目标:能写一个最小插件,理解 inject/effect/events。
- 推荐时间:2 到 3 天。
- 学习章节:第 2 章中的 Cordis 部分、第 3 章。
- 阅读:
docs/cordis-tutorial/01-first-plugin.md到07-into-the-harness.md。 - 实践:在
tmp/cordis-tutorial建插件,注册 service 和 event。 - 验收:能解释为什么 plugin 卸载后注册会消失。
阶段 3:理解 Session Log 和派生历史
- 目标:掌握事件、surface、deriveMessages。
- 推荐时间:2 天。
- 学习章节:第 2 章 session 部分、第 7 章相关章。
- 阅读:
packages/core/session/src/types.ts、index.ts、surface.ts。 - 实践:写一个脚本
Session.create后append几条事件,观察deriveMessages()。 - 验收:能判断某个事件是否进入模型历史。
阶段 4:追踪 Agent 主调用链
- 目标:沿
followup -> turn -> step -> llm -> tools读源码。 - 推荐时间:3 到 5 天。
- 学习章节:第 4、8 章。
- 阅读:
packages/core/agent-loop/src/agent.ts、index.ts、tool-calls.ts。 - 实践:在
turn()和step()加断点,观察 phase、inbox、session.events。 - 验收:能用 Archify 图解释时序并标出关键行号。
阶段 5:深入 LLM 和 Tools
- 目标:理解 provider 替换、流式协议、工具策略。
- 推荐时间:3 天。
- 学习章节:第 7 章相关章。
- 阅读:
packages/llm/llm/src/index.ts、packages/core/tools/src/index.ts、docs/cookbook/adding-an-llm-adapter.md、adding-a-tool.md。 - 实践:阅读现有 adapter;为已有工具补一个
tools/pre-execute观察 listener。 - 验收:能说出
prepareCall()为什么返回一次性 handle。
阶段 6:学习测试和调试
- 目标:会跑单测、snapshot,理解测试分层。
- 推荐时间:2 天。
- 学习章节:第 9 章。
- 阅读:
docs/testing.md、packages/core/agent-loop/tests/。 - 实践:跑一个 package 单测;定位一次失败。
- 验收:能说明 unit/coverage/e2e/snapshot 分别验证什么。
阶段 7:修改一个已有功能
- 目标:做低风险改动并验证。
- 推荐时间:2 到 3 天。
- 学习章节:第 10 章实践二。
- 实践:修改
cordis.patch.yml中的system-prompt.persona或toolOrder,或在一个测试 fixture 中观察输出变化。 - 验收:能说明改动影响、恢复方式和测试命令。
阶段 8:排查一个模拟故障
- 目标:掌握调用链、日志和断点。
- 推荐时间:2 到 3 天。
- 学习章节:第 10 章实践三。
- 实践:禁用某个工具行、填一个错误模型路由、或写一个
pre-stepreject listener,观察 fail-loud。 - 验收:能定位故障发生在哪个 layer、哪个服务、哪个事件。
阶段 9:完成一个小型扩展
- 目标:使用正式扩展机制增加一个能力。
- 推荐时间:3 到 5 天。
- 学习章节:第 10 章实践四、第 11 章。
- 实践:新增一个 tool plugin 或 prompt section,补 README 和 tests。
- 验收:能通过配置加载,能被模型 schema 看到,并有测试覆盖。
阶段 10:自己设计一个最小 Agent Harness
- 目标:能把核心抽象迁移到自己的项目。
- 推荐时间:1 周左右。
- 学习章节:第 11 章末尾的“自己动手设计”。
- 实践:用 TypeScript 实现最小
Context、ToolRegistry、SessionLog、AgentLoop。 - 验收:最小系统能处理“文本 -> 模型 -> 工具 -> 模型”的一轮循环,并记录可回放日志。