从 0 实现一个 Coding Agent
从最小本地终端闭环开始,逐步实现一个真正可用的 terminal-first coding agent。
这套课程围绕一个持续演进的主项目展开:mini-coding-agent。
它不讲 IDE 插件,不讲云端沙箱,也不讲浏览器自动化,而是聚焦最核心的一条主线——让 agent 在本地终端中搜索代码、理解上下文、修改文件、执行命令、跑测试、管 Git。
课程目标
学完后,你应该能够:
- 理解 Claude Code、Codex CLI、Gemini CLI、OpenCode 这类产品的核心能力模型
- 自己实现一个最小但完整的 coding agent 闭环
- 把一个 demo 持续演进成真正可用的 CLI 工具
前置知识
- 基础的 JavaScript / TypeScript 能力
- 对 Node.js 命令行开发有入门了解
- 会使用 Git
- 对 LLM 和 Prompt 有基本认知,不要求 agent 开发经验
章节导航
课程按三个阶段递进:先跑通闭环,再补安全与体验,最后做工程化和产品化。
第一阶段:基础闭环
从零搭建 agent 骨架,实现"能搜索、能读文件、能执行多步骤任务"的基础闭环。
- 第 0 章 · 建立全局认知 — 理解 coding agent 的能力模型、主流产品拆解、课程边界与路线图
- 第 1 章 · 最小可用 Agent — 搭建五层架构骨架,实现搜索和读文件工具,完成第一个仓库问答任务
- 第 2 章 · Agent Loop 与任务规划 — ReAct 模式与 Todo 机制,实现多步骤任务
- 第 3 章 · Tool Calling 与工具系统 — 文件读写、命令执行、Git 工具,完成完整闭环
第二阶段:安全与体验
让 agent 从"能做就做"进化为"安全地做、看得见在做什么"。
- 第 4 章 · Permissions 与安全权限 — 三级权限模型(allow/ask/deny)、危险命令拦截、审计日志
- 第 5 章 · Streaming 与实时交互 — 事件系统与终端渲染器,让用户实时看到 agent 的执行过程
- 第 6 章 · 记忆与上下文 — 会话记忆跟踪已读文件和失败命令,项目规则从 AGENTS.md 加载
第三阶段:工程化与产品化
把 agent 从脚本升级为可扩展、可协作的 CLI 工具。
- 第 7 章 · Skills 与能力模块化 — 按任务类型注入专门指令,实现 debug/review/refactor 三个内置技能
- 第 8 章 · Hooks 与生命周期扩展 — 在工具执行前后插入回调,实现自动格式化、编辑验证、审计日志
- 第 9 章 · MCP 与工具扩展协议 — 通过标准协议桥接外部工具服务器,突破内置工具的边界
- 第 10 章 · SubAgent 协作 — 角色分工 + Orchestrator 编排,用多个 agent 协作完成复杂任务
- 第 11 章 · CLI 产品化与毕业 — 子命令设计、非交互模式、错误处理,以及对标主流产品的演进方向
代码规模
src/ 目录下的代码量随章节递增:
| 章节 | 代码行数 | 新增 |
|---|---|---|
| ch01 · 最小可用 Agent | 507 | — |
| ch02 · Agent Loop 与任务规划 | 842 | +335 |
| ch03 · Tool Calling 与工具系统 | 1,416 | +574 |
| ch04 · Permissions 与安全权限 | 1,669 | +253 |
| ch05 · Streaming 与实时交互 | 1,895 | +226 |
| ch06 · 记忆与上下文 | 2,122 | +227 |
| ch07 · Skills 与能力模块化 | 2,407 | +285 |
| ch08 · Hooks 与生命周期扩展 | 2,798 | +391 |
| ch09 · MCP 与工具扩展协议 | 3,127 | +329 |
| ch10 · SubAgent 协作 | 3,480 | +353 |
| ch11 · CLI 产品化与毕业 | 3,588 | +108 |
从 507 行到 3,588 行,每章增量在 100–600 行之间。增量最大的是 ch03(工具系统,+574)和 ch08(生命周期扩展,+391),最小的是 ch11(CLI 产品化与毕业,+108)。
学习方式
课程是连续推进的工程路线,不是分散的小示例。每章的代码在前一章基础上增量演进。建议按顺序学习;如果你有 agent 开发经验,可以快速浏览前几章后从第 4 章开始深入。
课程源码
登录以继续阅读
解锁完整文档、代码示例及更多高级功能。