第 3 讲

从零构建 Coding Agent

📅 2025 年 9 月 29 日 👨‍🏫 Mihail Eric 🏫 斯坦福大学

核心主题

Building a Coding Agent From Scratch

解构并亲手构建一个实用型编码智能体,强调"从零开始"的工程化理解,而非黑盒调用。

Coding Agent 架构

5 步可操作流程

  1. 终端读取用户输入
  2. 工具声明(告诉 LLM 有哪些工具可用)
  3. 工具调用(LLM 决定调用什么工具)
  4. 执行反馈(开发者代码执行并返回结果)
  5. 下一轮循环

关键设计

  • LLM 仅负责决策:何时调用什么工具、参数是什么
  • 开发者代码负责执行:Read_file、List_dir、Edit_file 等
  • 规避风险:LLM 不接触真实文件系统,所有 I/O 由可控代码完成

Prompt Engineering 工程化

系统提示(System Prompt)

  • 不仅是角色定义
  • 更是行为约束框架(含安全指令、格式规范)

系统提醒(System Reminders)

  • 通过 <system-reminder> 标签
  • 在所有交互环节中高频注入关键约束
  • 对抗 LLM 的语义漂移(drift)

可扩展性设计

命令前缀提取

LLM 输出需遵循特定前缀:
TOOL: edit_file path="a.py" content="..."

便于解析器精准提取指令——这是鲁棒性基石。

子 Agent(Sub-agents)

  • 将复杂任务自动拆解为多个子任务
  • 由独立子 Agent 协作完成
  • 解决上下文窗口限制与任务耦合问题

💡 对 Vibe Coding 学员的启示

  • AI 不是黑盒:是可以理解和构建的,从零开始实现一个 Coding Agent
  • 工程化思维:状态管理、接口契约、错误处理、可测试性
  • Vibe Coding 应用:第 5 课 OpenClaw Agent 系统、每个 Skill 都是一个小 Agent