引言

在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 基本信息

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 的整体架构图如下:

__start__

model
tools
SummarizationMiddleware.before_model
PatchToolCallsMiddleware.before_agent

__end__

值得一提的是,上面所提到的 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.tomluv.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 失败的问题”

五、安全与注意事项

⚠️ 重要警告:该智能体会直接修改你的代码文件

建议:

  1. 先备份代码库
  2. 在开发分支运行
  3. 仔细审查所有生成内容
  4. 不要在生产环境直接使用

项目已内置基础安全机制(如禁止 rm -rf 等危险命令),但仍需用户保持警惕。


结语

感谢整个开源社区和 AI 领域开发者的诸多工作,正是有这些为基础,笔者才能够很轻松地开发出 deep-code-agent,一个简单、但却功能强大、可扩展的 AI Coding Agent。

如果你对智能编程、Agent 架构或自动化开发感兴趣,强烈建议:

  • ⭐ Star 该项目
  • 🍴 Fork 并尝试贡献
  • 💬 在 Issues 中提出建议

GitHub 地址https://github.com/hzhaoy/deep-code-agent


欢迎关注我的 CSDN 主页,获取更多 AI 与工程实践干货!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐