DocAgent-9 是一个基于 多智能体系统(Multi-Agent System) 的自动化工具,旨在为 Python 代码仓库 自动生成 标准化代码注释(如函数、类、方法的 docstring)。
通过多个智能体的协作,DocAgent-9 能够像团队成员一样协同工作,逐步理解代码、补充上下文信息,并生成高质量的文档。
- 自动化文档生成:从代码分析到注释生成,无需人工干预。
- 多智能体协作:五个智能体分工明确,支持复杂场景的代码理解和注释生成。
- 迭代优化:通过循环迭代,不断完善文档质量。
- 适配大型仓库:支持复杂项目,能够处理大型上下文并进行裁剪优化。
- 标准化输出:输出符合 Google Style 或 Numpy Style 的 docstring。
DocAgent-9 包含五个智能体(Agent),目前 Reader、Searcher、Writer、Verifier 已实现,Orchestrator 正在开发中。
负责分析目标代码组件,判断生成文档所需的上下文信息,并生成信息请求,包括:
- 内部依赖:函数或类调用的关系,以及目标组件被调用的位置(使用场景)。
- 外部知识:领域知识或第三方库的背景信息。
Reader 会多次评估信息是否充分,不足时会发起新一轮请求。
接收 Reader 的信息请求并进行检索,主要分为两类:
- 内部代码分析:检索仓库中的源码、调用位置和依赖结构。
- 外部知识检索:查询第三方知识库,补充领域信息。
Searcher 将收集到的信息返回给 Reader,并支持多轮交互。
根据目标代码和上下文信息生成标准化的代码注释,支持以下结构:
函数/方法:
- Summary
- Description
- Args
- Returns
- Raises
- Example(可选)
类:
- Summary
- Description
- Args
- Attributes
- Example
对生成的注释进行验证,检查其:
- 信息完整度
- 细节准确性
- 结构规范性
若注释存在问题:
- 可直接与 Writer 交互进行修正。
- 或通知 Reader 请求更多上下文信息,触发新一轮循环。
负责管理整个流程,协调各个智能体的交互,并实现迭代优化。
未来将支持自适应上下文裁剪,以应对大型项目。