从0开发一个 Coding Agent(一):前言

大家好,我是小月,好久没写专栏系列教程了,距离上次写专栏的时候还是在上次。刚好最近离职了,有时间了,就趁着这个时间写一个专栏-从零开发一个Coding Agent。Agent也是当下最火的方向之一了,在自己学习的同时也分享给大家,同时也能和大家一起讨论相关的知识。

本专栏将带你从一个空目录开始,逐步开发一个真正可运行的 Coding Agent。我们不会只封装一次大模型 API 请求,而是完整实现模型接口、Agent Loop、工具调用、文件操作、命令执行、会话存储、上下文压缩、终端 UI、扩展系统和 RPC 等核心能力。

项目使用 TypeScript、Node.js、npm workspaces、Vitest 和 Biome,采用 npm workspaces 搭建 monorepo(单仓库多包)架构,将系统拆分为四个职责明确的软件包:

  • ai:定义统一的模型、消息、工具和流式事件契约,并适配不同的大模型 Provider。
  • agent:实现 Agent Loop,负责模型调用、工具执行、状态转换、错误传播和取消。
  • coding-agent:组合 CLI、文件工具、命令执行、会话管理和不同运行模式。
  • tui:提供独立可复用的终端输入、组件和差量渲染能力。

教程采用渐进式开发方式:先使用 faux provider 构建不依赖 API Key 的确定性测试,再接入真实大模型 Provider;先完成最小的命令行闭环,再逐步增加文件工具、会话恢复和交互式终端界面。该项目暂不接入LangChain或者LangGraph等第三方库,我觉得学习第三方框架之前应该先属性Agent本身是如何开发的。

项目完成后,你不仅会得到一个可以读取和修改代码、执行命令并持续对话的 Coding Agent,还能够理解一条用户提示词如何依次经过 CLI、Agent Loop、Provider、工具系统、会话存储和终端界面。

如果你对Agent开发也感兴趣,欢迎点赞收藏+关注。专栏:从零开发一个Coding Agent - 东方小月的专栏 - 掘金

项目地址:qddidi/di-code: 基于TypeScript、Node.js 和大语言模型,支持流式对话、工具调用、会话持久化和终端交互的编程智能体。

相关推荐
ACP广源盛139246256735 分钟前
硬件选型笔记|国产 PCIe4.0 交换芯片 IX8024@ACP,AI 边缘节点本地存储扩展方案探讨
人工智能·硬件架构·硬件工程·pcie·国产芯片
10年前端老司机9 分钟前
我用 Vue3 + LangGraph 做了个心理咨询 AI,踩了 9 个坑后总结出来的实战经验
前端·langchain·agent
数据掘金11 分钟前
A/B 实验分组参数回滚后还在生效?一次参数校验体系的重构复盘
前端
奈落2413 分钟前
规则引擎还是大模型?AI 工作流与传统自动化的分工边界:确定性流程照旧,‘每次都不太一样‘的知识型工作才交给 AI
运维·人工智能·自动化·大模型·工作流·ai 办公
声网18 分钟前
模思智能完成超 10 亿元 Pre-A轮融资,将推出全模态实时交互系统 MOSS Live;PhAI Labs 开源世界模型自我改进框架 RSI-Anythin
人工智能
科技之门20 分钟前
投包AI工作流解析:AI画布、素材资产与投流数据如何衔接
人工智能
loulanyue_22 分钟前
构建房产认知决策智能:Harness底座与AI自进化的技术实践——读贝壳首席算法科学家尹俊希2026云栖专场演讲
人工智能·算法
confiself23 分钟前
AI4Science
人工智能
YHHLAI29 分钟前
LangGraph 从入门到实战:构建有状态的 AI Agent 工作流
人工智能
会编程的吕洞宾33 分钟前
Spring AI 2.0 自校正结构化输出实战:让大模型稳定吐出合格 JSON
java·人工智能·后端·spring