Skip to content

About

基于 MS-Agent 框架的智能深度代码研究系统,实现从需求到代码的自动化生成。

Resources

Stars

14 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DeepCodeResearch

🔬 基于 MS-Agent 框架的智能深度代码研究系统,实现从需求到代码的自动化生成。


📝 项目介绍

DeepCodeResearch 是一个基于 MS-Agent 框架的智能代码生成系统,实现了从需求到代码的自动化生成。系统采用多 Agent 协作的架构,通过11 个专业 Agent 分工协作,完成从需求分析到代码生成再到测试优化的完整流程。

项目背景

随着人工智能技术的飞速发展,代码生成和自动补全已经成为软件开发领域的重要研究方向。本项目旨在通过深度学习技术,实现从需求描述到代码生成的自动化过程,提高软件开发效率,降低人力成本。

项目目标

  • 实现从需求描述到代码生成的自动化过程。

🏗️ 系统架构

整体架构图

DeepCodeResearchWorkflow

分析阶段:

analysis_phase

生成阶段:

generate_phase

审查阶段:

review_phase

核心组件

组件 说明
11 个专业 Agent 分工明确,各司其职,通过产物链式协作,统一继承 BaseAgent
工作流引擎 基于 MS-Agent 的 ChainWorkflow,支持迭代执行和会话管理
产物管理系统 ArtifactStore + 文件系统,统一管理所有产物,支持按会话和迭代分类
路径管理器 PathManager 统一管理所有输出路径,支持按会话分类,Skills 常驻
配置处理器 ConfigHandler 统一处理配置生命周期,自动设置 session 目录
工具函数模块 agent_utils 提供公共逻辑(消息提取、映射处理等)
Mock 系统 支持快速测试,无需调用真实 LLM

🚀 快速启动

1. 环境准备

# 创建 Conda 环境(推荐 Python 3.12)
conda create -n deep-code python=3.12
conda activate deep-code

# 安装依赖
pip install -r requirements.txt

2. 配置 API Key

创建 .env 文件:

# ModelScope API 配置(必需)
MODELSCOPE_API_KEY=your_api_key
MODELSCOPE_BASE_URL=https://api-inference.modelscope.cn/v1

# 输出目录配置(可选,默认 ./output)
OUTPUT_DIR=./output

# 工作流配置(可选,默认 src/config/workflow.yaml)
WORKFLOW_CONFIG=src/config/workflow.yaml

# 是否信任远程代码(可选,默认 true)
TRUST_REMOTE_CODE=true

💡 提示:ModelScope API Key 可在 ModelScope 控制台 获取

3. 准备输入文档(可选)

将需要研究的文档放入 output/{session_id}/uploads/ 目录(首次运行会自动创建会话目录):

output/{session_id}/uploads/
├── requirement.pdf      # 需求文档
├── architecture.docx    # 架构设计文档
├── reference.pptx       # 参考资料
└── screenshot.png       # 界面截图

💡 提示:会话 ID 会在工作流启动时自动生成(12 位十六进制字符串),也可以通过环境变量 SESSION_ID 手动指定。

4. 启动服务

方式一:命令行直接运行

python -m src.main "请帮我生成一个贪吃蛇小游戏"

方式二:Python API 调用

from src.main import run_workflow
import asyncio

result = asyncio.run(run_workflow(
    query="实现一个 REST API 服务器,支持用户注册和登录",
    files=["path/to/document.pdf"]
))

📁 项目结构

源代码结构

deep-code-research-new/
├── src/                              # 源代码目录
│   ├── agents/                       # Agent 实现
│   │   ├── _base_agent.py           # Agent 基类(统一代码模式)
│   │   ├── mixins.py                # Mixin(MockMixin, ArtifactStoreMixin)
│   │   ├── analysis/                # 分析阶段 Agent(6个)
│   │   │   ├── requirements.py
│   │   │   ├── tech_research.py
│   │   │   ├── architecture.py
│   │   │   ├── risk.py
│   │   │   ├── spec_gen.py
│   │   │   └── evolution.py
│   │   ├── generate/                # 生成阶段 Agent(3个)
│   │   │   ├── planning.py
│   │   │   ├── coding.py
│   │   │   └── testing.py
│   │   └── review/                  # 审查阶段 Agent(2个)
│   │       ├── reflecting.py
│   │       └── summary.py
│   │
│   ├── config/                      # 配置文件
│   │   ├── config_handler.py        # 配置生命周期处理器
│   │   ├── workflow.yaml            # 工作流配置
│   │   ├── agents/                  # Agent 配置
│   │   │   ├── _base.yaml          # 基础配置(可复用)
│   │   │   ├── analysis/           # 分析阶段配置
│   │   │   ├── generate/            # 生成阶段配置
│   │   │   └── review/              # 审查阶段配置
│   │   └── mocks/                   # Mock 文件(测试用)
│   │
│   ├── tools/                        # 工具模块
│   │   ├── document/                # 文档处理(PDF/PPT/DOCX/TXT)
│   │   ├── spec/                    # SpecKit 工具
│   │   ├── tracker/                 # Spec-Code 关联追踪
│   │   ├── code/                    # 代码处理工具
│   │   └── ...
│   │
│   ├── workflows/                    # 工作流实现
│   │   └── deepcode_workflow.py
│   │
│   ├── callbacks/                    # 回调函数
│   │   ├── artifact_callback.py     # 产物保存回调
│   │   ├── spec_metadata_callback.py # SpecKit 元数据回调
│   │   └── workflow_callback.py     # 工作流回调
│   │
│   └── utils/                        # 工具函数
│       ├── agent_utils.py           # Agent 工具函数(提取公共逻辑)
│       ├── artifact_store.py        # 产物存储
│       ├── path_manager.py         # 路径管理
│       ├── path_resolver.py         # 路径解析
│       ├── workflow_manager.py     # 工作流管理
│       └── encoding_patch.py       # 编码补丁(修复 Windows 编码问题)

输出目录结构

output/
├── skills/                           # Agent Skills(常驻,所有会话共享)
│   └── skill_*.md
│
└── {session_id}/                     # 按会话分类(会话 ID 为 12 位十六进制字符串)
    ├── artifacts/                    # 文本产物(按迭代分类)
    │   └── iteration_{N}/
    │       ├── requirements.md
    │       ├── tech_research.md
    │       ├── architecture.md
    │       ├── spec_gen.md
    │       ├── planning.md
    │       ├── coding.md
    │       ├── testing.md
    │       ├── reflecting.md
    │       └── summary.md
    │
    ├── repo/                         # 生成的代码仓库
    │   ├── src/
    │   ├── tests/
    │   ├── README.md
    │   ├── requirements.txt
    │   ├── files.json                # 文件列表
    │   └── spec_code_mapping.json    # Spec-Code 映射关系
    │
    ├── spec_kit/                     # Spec Kit 文档
    │   ├── constitution.md           # 项目章程
    │   ├── spec.md                   # 功能规范
    │   ├── plan.md                   # 实现计划
    │   ├── tasks.md                  # 任务分解
    │   └── spec_metadata.json       # Spec Kit 元数据
    │
    ├── memory/                       # 记忆存储(JSON/YAML)
    │   ├── requirements.json
    │   ├── requirements.yaml
    │   ├── tech_research.json
    │   └── ...
    │
    ├── uploads/                      # 用户上传文档
    │   └── ...
    │
    └── rag_index/                    # RAG 索引
        └── ...

路径说明:

  • 按会话分类:每个会话的所有文件都保存在 output/{session_id}/ 下,会话之间完全隔离
  • Skills 常驻:output/skills/ 目录所有会话共享,用于存储可复用的 Agent Skills
  • Artifacts 按迭代:文本产物保存在 output/{session_id}/artifacts/iteration_{N}/ 下,支持多轮迭代
  • Memory 按会话:记忆文件(JSON/YAML)保存在 output/{session_id}/memory/ 下,不会创建全局的 output/memory/ 目录

🛠️ 技术栈

类别 技术
框架 MS-Agent 1.5.0
LLM Qwen3 / Qwen2.5(通过 ModelScope API)
配置管理 OmegaConf
Web 框架 FastAPI + Uvicorn(待实现)
文档处理 Docling, python-docx, python-pptx
RAG LlamaIndex
向量数据库 Qdrant / ChromaDB
记忆管理 Mem0
搜索 Exa, SerpAPI

🤝 贡献

欢迎提交 Issue 和 Pull Request!


📄 许可证

详见 LICENSE


🙏 致谢

参考文献

About

基于 MS-Agent 框架的智能深度代码研究系统,实现从需求到代码的自动化生成。

Resources

Stars

14 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages