Skip to content

实战案例:文档自动生成

用 AI 自动生成技术文档,包括 API 文档、README、注释等。

功能目标

  • 根据代码自动生成 API 文档
  • 生成 README.md
  • 补充函数注释
  • 生成使用示例

场景一:根据代码生成 API 文档

用 AI 分析代码并生成文档

python
from openai import OpenAI

client = OpenAI()

def generate_api_doc(code, language):
    """根据代码生成 API 文档"""

    prompt = f"""
分析以下 {language} 代码,生成完整的 API 文档(Markdown 格式)。

要求:
1. 列出所有公开接口(URL、HTTP 方法)
2. 每个接口的请求参数(类型、是否必填、说明)
3. 响应格式(JSON 示例)
4. 错误码说明
5. 使用示例(curl 命令)

代码:
```{language}
{code}

输出格式(Markdown):

API 文档

接口列表

GET /api/users

描述:获取用户列表

请求参数

参数名类型必填说明
pageint页码

响应示例

json
{{}}

错误码

错误码说明
401未授权
"""
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": prompt}]
)

return response.choices[0].message.content

使用

java_code = open("UserController.java").read() doc = generate_api_doc(java_code, "java") print(doc)


## 场景二:生成 README.md

```python
def generate_readme(project_path):
    """根据项目结构生成 README"""

    # 1. 收集项目信息
    files = []
    for root, dirs, filenames in os.walk(project_path):
        for f in filenames:
            if f.endswith(('.java', '.py', '.js', '.md')):
                files.append(os.path.join(root, f))

    # 2. 读取关键文件
    key_files = []
    for f in ['pom.xml', 'package.json', 'README.md', 'src/main/java/...']:
        if os.path.exists(os.path.join(project_path, f)):
            key_files.append(open(os.path.join(project_path, f)).read())

    # 3. 让 AI 生成 README
    prompt = f"""
根据以下项目信息,生成一个完整的 README.md:

项目文件列表:
{chr(10).join(files[:50])}  # 只取前 50 个,避免超限

关键文件内容:
{chr(10).join(key_files)}

README 应包含:
1. 项目标题和描述
2. 功能特性
3. 技术栈
4. 快速开始(安装、运行)
5. 项目结构
6. 如何贡献
7. License

使用中文,格式用 Markdown。
"""

    # 调用 AI...

场景三:补充函数注释

python
def add_docstring(code):
    """为没有注释的函数补充文档注释"""

    prompt = """
为以下代码中的每个函数添加文档注释(JavaDoc / JSDoc 风格)。

要求:
- 描述函数功能
- 描述每个参数
- 描述返回值
- 如果有异常,描述异常

代码:
```java
{code}

只输出补充了注释的代码,不要解释。 """

# 调用 AI...

## 场景四:生成使用示例

```python
def generate_usage_examples(api_doc, language):
    """根据 API 文档生成使用示例"""

    prompt = f"""
根据以下 API 文档,生成使用示例代码。

要求:
- 每种主要功能都给出示例
- 使用 {language}
- 包含请求和响应处理
- 包含错误处理

API 文档:
{api_doc}
"""

    # 调用 AI...

集成到构建流程

package.json / pom.xml 中添加生成文档的脚本:

json
// package.json
{
  "scripts": {
    "gen-docs": "node scripts/generate-docs.js"
  }
}
bash
# 运行
npm run gen-docs

工具推荐(开箱即用)

工具说明
Docusaurus文档网站生成
Swagger/OpenAPIAPI 文档自动生成
JSDocJS 文档生成
Cursor / CopilotAI 辅助写注释

用 AI 生成初稿,再人工润色,效率最高。

相关资源