从零开始,跟着写一个产品级 Coding Agent

学 Agent 开发总是卡在理论?来,跟着这个开源项目从零写一个。

背景:学 Agent 的尴尬断层

最近在做一个事,想从零开始带大家写一个产品级的 Coding Agent。

起因是我发现,学 Agent 开发有一个很尴尬的断层------

看概念?ReAct、记忆机制、上下文工程......这些看完都懂了,但一到真实项目里就不知道怎么把它们组装成一个能跑的系统。

看开源项目?代码量太大,文件几百个,新手根本找不到入口在哪。

所以我换了个方式,做了一个实战连载项目:Zero2Agent

Zero2Agent 有什么不同?

市面上的 Agent 学习资源大多两极分化------要么只讲概念,要么直接丢一个庞大的开源仓库。Zero2Agent 想做的是中间那座桥

常见问题 Zero2Agent 的做法
纯概念,看完不会动手 侧重工程实践:每一步都有真实代码和架构考量,从细节理解 Agent 的运作原理
项目太大,无从下手 小步迭代开发:像追剧一样跟着 Story 每周练一点,把庞大系统拆解为可执行的小目标
Demo 级别,不够真实 产品级标准:融入真实业务中的实战经验,深入产品级的实践细节

一句话总结:这是一门带你一起做的实践课程。

路线图:我们将如何展开?

整个项目按 Epic → Story 的方式组织,目前规划了 5 个 Epic:

Story 1:让 Agent 跑起核心循环

目前第一节已更新,目标很明确------实现最经典的 ReAct Loop

聊天 vs Agent:本质差异在哪?

传统的 AI 对话是一问一答的开环 ;而 Agent 的核心,是一个自主运行的闭环

在第一课中,我们用最精简的代码,实现最经典的 ReAct(Reasoning and Acting)模式,让 AI 学会:

复制代码
观察环境 → 思考决策 → 调用工具执行 → 观察结果 → 继续决策 → ...... → 结束

先做"只读闭环"

如果一开始就把写文件、执行命令、安全审批全塞进来,你会面对太多变量,反而看不清 Agent 最核心的工作机制。

只做只读闭环,能让我们把注意力集中在三件事上:

  1. 循环怎么跑起来?
  2. 工具怎么接入循环?
  3. 拿到的工具结果为什么还要回传给模型?

我们精选了两个刚好互补的工具,搭建"先看目录 → 再读文件 → 继续决策"的工作流:

工具 作用
list_directory 获取文件树。没有它,Agent 只能盲猜路径
read_file 查看文件内容。没有它,Agent 看不到具体细节

揭开黑盒:Agent Loop 与 Tool Use

Agent Loop ------ Agent 不是魔法,它的本质是一个用代码写出的 while 循环。模型不再返回一次性回答,而是返回结构化的 stop_reason。只有当返回 end_turn 时循环才结束;如果是 tool_use,则触发宿主的工具执行逻辑,并进入下一轮。

复制代码
调用 LLM → stop_reason 分支 → 执行工具并写回 → ↻

Tool Use ------ 这是让 LLM 从"只能说"变成"能做事"的桥梁。我们使用强类型的 JSON Schema 来定义工具。模型通过标准的 tool_calls 吐出需要调用的函数名和参数,宿主执行后再通过 tool_result 将物理世界的观测注入回上下文中。

这正是 Claude Code / Codex / Cursor 等 Coding Agent 的基石。

丰俭由人:选择你的学习深度

无论是 Story 1 还是后续更复杂的架构,本系列都提供完整的代码仓库和实操指引。你可以根据自己的时间精力选择"食用"方式:

深度 时间 适合
浅度浏览 ~20 分钟 阅读图文讲解和核心代码片段,快速补充认知
实践跟练 1~2 小时 Clone 仓库,切到对应 Tag,根据文档自己动手实现核心模块
深度学习 更多时间 阅读 Story 中的深度拓展内容,了解更多工程细节和产品实践

完全开源

本系列的所有代码、技术文档、知识总结和每一步迭代的变更记录,都同步开源在 GitHub 上。

你可以拉取代码在本地跟练实践,也可以在 GitHub 上直接阅读。

👉 GitHub 仓库:alienzhou/zero2agent


实践课程正在持续迭代中。第一课已上线,从最经典的 ReAct Loop 开始。

欢迎 Star 仓库追更,有问题评论区聊 🙌

相关推荐
代码搬运媛7 小时前
Jest 测试框架详解与实现指南
前端
counterxing8 小时前
我把 Codex 里的 Skills 做成了一个 MCP,还支持分享
前端·agent·ai编程
wangqiaowq8 小时前
windows下nginx的安装
linux·服务器·前端
之歆8 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
发现一只大呆瓜9 小时前
Vite凭什么这么快?3分钟带你彻底搞懂 Vite 热更新的幕后黑手
前端·面试·vite
Maimai108089 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
kyriewen10 小时前
产品经理把PRD写成“天书”,我用AI半小时重写了一遍,他当场愣住
前端·ai编程·cursor
humcomm11 小时前
元框架的工作原理详解
前端·前端框架
canonical_entropy11 小时前
Attractor Before Harness: AI 大规模开发的方法论
前端·aigc·ai编程
zhangxingchao12 小时前
多 Agent 架构到底怎么选?从 Claude Agent Teams、Cognition/Devin 到工程落地原则
前端·人工智能·后端