23 个项目 · 可跟打实现 · OpenAI SDK + TypeScript
第一次进入实践篇,建议先看 实践环境准备。如果你想先在浏览器侧填写
API Key / baseURL / model试跑,再决定要不要搭本地环境,可以直接跳到 在线运行模式。当前实践篇已经覆盖P1-P23的仓库内示例文件,可直接按章节命令运行。
核心定位
实践篇不是把理论篇再讲一遍,而是把“看懂 OpenCode 怎样实现”切换成“如果你自己来做,一个最小可运行 Agent 应该怎么逐步搭出来”。
P1-P4 开始,把工具调用、多轮对话、流式输出和错误处理亲手跑通。P7-P9、P15-P17、P18-P21 会分别对应 RAG、多智能体协作和生产化专题。如果你已经完成环境准备,可以直接从这里复制命令进入任意章节:
如果你当前走的是在线运行模式,建议先从 P1-P4、P10、P18 这类轻量章节开始;像 P14 这样的双进程章节,仍然优先使用本地运行模式。
按当前仓库里的真实示例脚本,第三方依赖可以先这样理解:
| 依赖组 | 章节范围 | 需要安装 |
|---|---|---|
| 通用基础组 | P1-P23 | openai |
| MCP 扩展组 | P14 | @modelcontextprotocol/sdk |
补充说明
P14 外,其余章节当前都只依赖 openai 和 Node 内置模块。P23 的健康检查示例使用的是 node:http,不需要额外安装 Web 框架。如果你还在决定“先学哪章 / 这章会不会跳太快 / 需不需要额外装包”,可以先看这张表:
| 章节 | 主题 | 难度 | 前置章节 | 额外依赖 | 入口脚本 |
|---|---|---|---|---|---|
| P1 | 最小 Agent | beginner | 无 | 无 | p01-minimal-agent.ts |
| P2 | 多轮对话 | beginner | P1 | 无 | p02-multi-turn.ts |
| P3 | 流式输出 | beginner | P1 | 无 | p03-streaming.ts |
| P4 | 错误处理与重试 | intermediate | P1 P2 | 无 | p04-error-handling.ts |
| P5 | 记忆系统架构 | intermediate | P1 P2 | 无 | p05-memory-arch.ts |
| P6 | 记忆增强检索 | intermediate | P1 P5 | 无 | p06-memory-retrieval.ts |
| P7 | RAG 基础 | intermediate | P1 P5 | 无 | p07-rag-basics.ts |
| P8 | GraphRAG | advanced | P7 | 无 | p08-graphrag.ts |
| P9 | 混合检索 | advanced | P7 P8 | 无 | p09-hybrid-retrieval.ts |
| P10 | ReAct Loop | intermediate | P1 P4 | 无 | p10-react-loop.ts |
| P11 | Planning | advanced | P10 | 无 | p11-planning.ts |
| P12 | Reflection | intermediate | P10 | 无 | p12-reflection.ts |
| P13 | 多模态 | intermediate | P1 | 无 | p13-multimodal.ts |
| P14 | MCP 协议接入 | advanced | P1 P4 | @modelcontextprotocol/sdk | p14-mcp.ts |
| P15 | 多 Agent 编排 | advanced | P1 P11 | 无 | p15-multi-agent.ts |
| P16 | 子 Agent 与任务分解 | advanced | P1 P15 | 无 | p16-subagent.ts |
| P17 | Agent 通信与状态共享 | advanced | P15 P16 | 无 | p17-agent-comm.ts |
| P18 | 多模型路由与成本控制 | intermediate | P1 | 无 | p18-model-routing.ts |
| P19 | Agent 安全与防注入 | advanced | P1 P4 | 无 | p19-security.ts |
| P20 | 可观测性与调试 | intermediate | P1 | 无 | p20-observability.ts |
| P21 | 评估与基准测试 | intermediate | P1 P12 | 无 | p21-evaluation.ts |
| P22 | 完整项目实战 | advanced | P1 P10 P15 P19 | 无 | p22-project.ts |
| P23 | 生产部署清单 | intermediate | P18 P19 P20 | 无 | p23-production.ts |
快速建议
P1 -> P4 -> P10 -> P18 走一遍,再回头扩展记忆、MCP、多 Agent。P1、P10、P15、P19,再进 P22。P18、P19、P20 跑完后直接进 P23 会更顺。| 章节 | 页面 | 运行命令 |
|---|---|---|
| P1 | 最小 Agent | bun run p01-minimal-agent.ts |
| P2 | 多轮对话 | bun run p02-multi-turn.ts |
| P3 | 流式输出 | bun run p03-streaming.ts |
| P4 | 错误处理 | bun run p04-error-handling.ts |
| 章节 | 页面 | 运行命令 |
|---|---|---|
| P5 | 记忆架构 | bun run p05-memory-arch.ts |
| P6 | 记忆检索 | bun run p06-memory-retrieval.ts |
| P7 | RAG 基础 | bun run p07-rag-basics.ts |
| P8 | GraphRAG | bun run p08-graphrag.ts |
| P9 | 混合检索 | bun run p09-hybrid-retrieval.ts |
| 章节 | 页面 | 运行命令 |
|---|---|---|
| P10 | ReAct Loop | bun run p10-react-loop.ts |
| P11 | Planning | bun run p11-planning.ts |
| P12 | Reflection | bun run p12-reflection.ts |
| 章节 | 页面 | 运行命令 |
|---|---|---|
| P15 | 多 Agent 编排 | bun run p15-multi-agent.ts |
| P16 | Sub-Agent | bun run p16-subagent.ts |
| P17 | Agent 通信 | bun run p17-agent-comm.ts |
| 章节 | 页面 | 运行命令 |
|---|---|---|
| P18 | 模型路由 | bun run p18-model-routing.ts |
| P19 | 安全防护 | bun run p19-security.ts |
| P20 | 可观测性 | bun run p20-observability.ts |
| P21 | 评估体系 | bun run p21-evaluation.ts |
| 章节 | 页面 | 运行命令 |
|---|---|---|
| P22 | Code Review Agent | bun run p22-project.ts |
| P23 | 生产部署清单 | bun run p23-production.ts |
补充说明
bun run pxx-*.ts 作为标准命令格式。P14 章节除了 p14-mcp.ts 外,还需要 practice/p14-mcp-server.ts 配合运行,建议分两个终端分别执行: bun run p14-mcp-server.tsbun run p14-mcp.tsAPI Key / baseURL / model 是否已经准备好。