2026-03-12 17:58:15 +08:00
2026-03-12 13:27:03 +08:00
fix
2026-03-12 17:58:15 +08:00
fix
2026-03-12 17:58:15 +08:00
2026-03-12 13:27:03 +08:00
2026-03-12 13:27:03 +08:00
fix
2026-03-12 17:58:15 +08:00
fix
2026-03-12 17:58:15 +08:00
2026-03-12 13:27:03 +08:00
fix
2026-03-12 17:58:15 +08:00
2026-03-12 13:27:03 +08:00
2026-03-12 13:27:03 +08:00
2026-03-12 13:27:03 +08:00
2026-03-12 13:27:03 +08:00
fix
2026-03-12 17:58:15 +08:00
2026-03-12 13:27:03 +08:00
2026-03-12 13:27:03 +08:00
fix
2026-03-12 14:16:27 +08:00
2026-03-12 13:27:03 +08:00
2026-03-12 13:27:03 +08:00
fix
2026-03-12 17:58:15 +08:00
2026-03-12 13:27:03 +08:00

AutoGen SDLC 多智能体协同系统

基于 Microsoft AutoGen + 阿里云 Qwen3.5-flash 的端到端软件交付协同网络。

🎯 项目概述

本系统实现了多智能体协同的完整 SDLC软件开发生命周期流程

  1. PM Agent - 产品经理:需求分析与 SRS 生成
  2. QA Agent - 测试工程师:测试用例设计与 TDD 实践
  3. Dev Agent - 开发工程师:代码实现与修复
  4. Orchestrator Agent - 协调器:流程调度与最终验证

🚀 快速启动

1. 环境准备

# Python 版本要求
Python >= 3.9

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

2. 配置 API Key

# Windows (PowerShell)
$env:DASHSCOPE_API_KEY="your_api_key_here"

# Linux/Mac
export DASHSCOPE_API_KEY="your_api_key_here"

获取 API Key: 阿里云 DashScope 控制台

3. 运行演示

方式 1: 命令行模式

python autogen_sdls_system.py

方式 2: Streamlit 前端界面

streamlit run frontend/streamlit_app.py

方式 3: 自愈功能演示

python autogen_self_healing_demo.py

📁 项目结构

project/
├── agents/                 # Agent 模块
│   ├── pm_agent.py        # 产品经理 Agent
│   ├── qa_agent.py        # 测试工程师 Agent
│   ├── dev_agent.py       # 开发工程师 Agent
│   └── orchestrator.py    # 协调器 Agent
├── config/                # 配置文件
│   └── llm_config.py     # LLM 配置与提示词模板
├── frontend/             # 前端界面
│   └── streamlit_app.py # Streamlit 实时聊天界面
├── utils/                # 工具类
│   ├── logger.py        # 日志记录
│   └── callback_handler.py # 回调处理
├── tests/                # 单元测试
│   └── test_agents.py
├── workspace/            # 工作目录Agent 输出文件)
├── logs/                 # 日志目录
├── autogen_sdls_system.py      # 主程序入口
├── autogen_self_healing_demo.py # 自愈演示
├── usage_examples.py     # 使用示例
└── requirements.txt      # 依赖包列表

💡 核心功能

1. 端到端自动化流程

用户需求 → PM 分析 → QA 设计测试 → Dev 编码 → 自动测试 → 验证输出

2. TDD测试驱动开发

  • QA Agent 先于代码生成测试用例
  • Dev Agent 编写代码确保测试通过
  • 测试失败时触发自动修复循环

3. 自愈能力

系统检测到测试失败时,自动:

  1. 分析错误日志
  2. 定位 bug 原因
  3. 生成修复代码
  4. 重新验证测试

4. 人机协同

关键节点支持人工确认:

  • SRS 文档审核
  • 测试用例评审
  • 最终代码验收

5. 实时可视化

Streamlit 前端提供:

  • 实时对话展示
  • Agent 状态监控
  • 工作流进度跟踪
  • 对话历史导出

🔧 配置说明

模型配置

config/llm_config.py 中配置:

DASHSCOPE_API_KEY = "your_api_key"
DASHSCOPE_BASE_URL = "https://dashscope.aliyuncs.com/compatible-mode/v1"

支持的模型

  • qwen3.5-flash (推荐,速度快)
  • qwen-max (最强性能)
  • qwen-plus (平衡性能和成本)
  • qwen-turbo (最快速度)

Agent 系统提示词

每个 Agent 都有专属的系统提示词,定义在 config/llm_config.py 中:

  • PM_PROMPT - 产品经理提示词
  • QA_PROMPT - 测试工程师提示词
  • DEV_PROMPT - 开发工程师提示词
  • ORCH_PROMPT - 协调器提示词

📖 使用示例

示例 1: 使用命令行

from autogen_sdls_system import AutoGenSDLCSystem

system = AutoGenSDLCSystem(api_key="your_key")

requirement = "开发一个电池健康状态预测 API"
result = system.run_workflow(requirement, max_round=15)

print(result["summary"])

示例 2: 单独调用 Agent

from agents import ProductManagerAgent

pm = ProductManagerAgent(api_key="your_key")
srs = pm.generate_srs("我需要一个车载蓝牙管理模块")
print(srs)

示例 3: 自定义配置

from config.llm_config import get_llm_config

llm_config = get_llm_config(
    model="qwen-max",
    temperature=0.5,
    max_tokens=4096
)

🎬 Workshop 演示脚本

场景:电池健康状态 (SOH) 预测 API

  1. 输入模糊需求

    "我需要一个电池健康预测功能"
    
  2. PM Agent 输出 - 完整 SRS 文档

    • 功能性需求
    • 非功能性需求
    • 验收标准
  3. QA Agent 输出 - Pytest 测试脚本

    • 测试函数
    • BDD 场景描述
  4. Dev Agent 输出 - 可运行的 API 代码

    • 核心业务逻辑
    • 错误处理
  5. 自动测试 - 展示测试执行和修复循环

  6. 最终输出 - 可部署的代码包 + 测试报告

演示亮点

  • 实时展示 Agent 协作对话
  • 人机协同确认节点
  • 测试失败→自动修复→通过的闭环
  • 符合汽车行业标准MISRA-C、ISO 26262

🐛 常见问题

Q1: API Key 无效

解决: 检查环境变量是否正确设置

# 验证环境变量
echo $DASHSCOPE_API_KEY  # Linux/Mac
echo %DASHSCOPE_API_KEY% # Windows CMD

Q2: 模型响应超时

解决: 增加超时时间或降低 max_tokens

llm_config = get_llm_config(timeout=180)

Q3: 测试执行失败

解决: 检查工作目录权限和 pytest 安装

pip install pytest
chmod +x workspace/

📊 日志与导出

对话日志

所有对话自动保存在 logs/ 目录:

  • JSONL 格式:session_YYYYMMDD_HHMMSS.jsonl
  • JSON 导出:conversation_*.json
  • Markdown 导出:conversation_*.md

导出方法

system.export_conversation("my_conversation.json")
system.export_report("my_report.md")

🔐 安全建议

  1. 不要硬编码 API Key - 使用环境变量
  2. 审查生成的代码 - AI 可能产生不安全代码
  3. 限制执行权限 - 禁用 Docker 或使用沙箱
  4. 定期清理 workspace - 避免敏感数据积累

📝 许可证

MIT License

🤝 贡献

欢迎提交 Issue 和 Pull Request

📧 联系方式

如有问题请提交 Issue 或联系开发团队。


🤖 Generated with AutoGen SDLC System

Description
No description provided
Readme 144 KiB
Languages
Python 83.7%
HTML 16.3%