基于DeepAgents轻松构建AI Coding Agent
引言
在AI Agent发展得如火如荼的今天,Coding Agent几乎是各大厂商的必争之地。而作为个人,你是否也想过自己开发一个 Coding Agent?放在以前要开发这样的一个 Agent,确实不简单,但在 LangChain v1.0 发布后,其顺带也发布了一个基于 LangGraph & LangChain 的框架 DeepAgents,使得构建一个 Agent 的难度大大降低,包括开发 Coding Agent。因此,基于DeepAgents 这个框架,我轻松地开发了一个简单但却强大、功能全面的 Coding Agent,代码也已开源,详见https://github.com/hzhaoy/deep-code-agent。接下来,我就简单地介绍下使用 DeepAgents 开发的 deep-code-agent 这个项目。
一、项目概览
1.1 基本信息
- 仓库地址:https://github.com/hzhaoy/deep-code-agent
- 语言:Python(100%)
- 许可证:MIT
- 依赖框架:
1.2 核心理念
deep-code-agent 的目标是构建一个端到端的 AI 编码助手,通过模块化、可扩展的子智能体系统,为开发者提供从代码理解到优化的一站式服务。它不仅是一个“聊天机器人”,而是一个能直接操作本地代码库、执行终端命令、生成高质量输出的智能体。
二、核心功能详解
该项目包含五大核心子智能体,每个都针对特定开发任务进行优化:
2.1 代码审查(Code Reviewer)
- 功能:分析代码质量、识别潜在 bug、检查是否符合最佳实践。
- 应用场景:PR(Pull Request)前自动审查、团队代码规范检查。
- 技术特点:基于 LLM 的上下文理解能力,结合静态分析逻辑。
2.2 测试生成(Test Writer)
- 功能:自动生成高覆盖率的单元测试(如 pytest 或 unittest)。
- 优势:减少手动编写测试用例的时间,提升测试完整性。
- 输出示例:为函数
calculate_discount(price, rate)自动生成边界值、异常输入等测试。
2.3 文档生成(Documenter)
- 功能:自动生成 docstring、模块说明、README.md 等文档内容。
- 支持格式:Google Style、NumPy Style、Sphinx 等主流 Python 文档规范。
- 价值:解决“写代码不写文档”的痛点,提升项目可维护性。
2.4 调试助手(Debugger)
- 功能:根据错误日志或用户描述,定位问题并提出修复建议。
- 交互方式:支持多轮对话,逐步缩小问题范围。
- 安全机制:所有修改均需用户确认,避免误操作。
2.5 代码重构(Refactorer)
- 功能:优化代码结构、消除重复逻辑、提升性能与可读性。
- 典型操作:提取方法、重命名变量、简化条件判断等。
- 原则:保持语义不变的前提下提升代码质量。
三、技术架构剖析
3.1 整体架构图
deep-code-agent 的整体架构图如下:
值得一提的是,上面所提到的 5 个 SubAgent 其实是封装在一个名为 task 的工具中,当需要使用其中某个 SubAgent 解决任务时,就会以该 SubAgent 的名称为参数调用 task 工具。
3.2 关键组件
- 主Agent流程:使用 LangGraph 实现状态机驱动的工作流,协调各子智能体。
- LLM 集成层:通过
langchain_chat.py支持 OpenAI 或自定义模型(如本地 Llama、Qwen 等)。 - 文件系统后端:直接读写本地代码目录,支持
.py,.js,.md等多种格式。 - Terminal Tool:封装安全的命令执行接口(如
git status,pytest),防止危险操作。
3.3 扩展性设计
- 每个子智能体拥有独立的 system prompt 和工具集。
- 开发者可轻松添加新子智能体(如 “Security Auditor” 或 “Performance Profiler”)。
- 通过
pyproject.toml和uv.lock实现依赖隔离与快速安装。
四、快速上手指南
4.1 安装依赖
项目使用现代 Python 包管理器 uv(由 Astral 开发,Rust 编写,速度极快)进行虚拟环境、依赖包和项目的管理:
# 克隆仓库
git clone https://github.com/hzhaoy/deep-code-agent.git
cd deep-code-agent
# 安装依赖
uv sync
4.2 配置环境
复制模板并填写 API 密钥:
cp .env.example .env
.env 示例内容:
OPENAI_API_KEY=sk-xxxxxx
OPENAI_API_BASE=https://api.openai.com/v1
MODEL_NAME=gpt-4o-mini
✅ 支持自定义 LLM(只需实现 LangChain 兼容接口)以及任何兼容 OpenAI API 的大模型接口。
4.3 编程调用
from deep_code_agent import create_code_agent
agent = create_code_agent("path/to/your/codebase")
state = {
"messages": [{"role": "user", "content": "为 utils.py 添加单元测试"}]
}
config = {"configurable": {"thread_id": "1"}}
for step in agent.stream(state, config=config, stream_mode="values"):
step["messages"][-1].pretty_print()
4.4 命令行使用
python -m deep_code_agent
或者直接输入:
deep-code-agent
启动后可交互式输入指令,如:
- “审查最近修改的文件”
- “为 login 函数生成文档”
- “修复 test_login 失败的问题”
五、安全与注意事项
⚠️ 重要警告:该智能体会直接修改你的代码文件!
建议:
- 先备份代码库
- 在开发分支运行
- 仔细审查所有生成内容
- 不要在生产环境直接使用
项目已内置基础安全机制(如禁止 rm -rf 等危险命令),但仍需用户保持警惕。
结语
感谢整个开源社区和 AI 领域开发者的诸多工作,正是有这些为基础,笔者才能够很轻松地开发出 deep-code-agent,一个简单、但却功能强大、可扩展的 AI Coding Agent。
如果你对智能编程、Agent 架构或自动化开发感兴趣,强烈建议:
- ⭐ Star 该项目
- 🍴 Fork 并尝试贡献
- 💬 在 Issues 中提出建议
欢迎关注我的 CSDN 主页,获取更多 AI 与工程实践干货!
更多推荐


所有评论(0)