多智能体开发系统

一个分层的多智能体系统,用于软件开发、研究和分析,具有前端开发、机器学习、R分析等专业智能体,集成了向量存储和全面验证功能。

  • by bmcgauley
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 bmcgauley/PM-Agents

使用说明

综合多智能体开发系统

用于软件开发、研究和分析的分层多代理系统。具有用于前端开发(React/Next.js)、ML/DL(PyTorch)、R分析等的专用代理,具有集成的向量存储和全面的验证功能。

架构概述

该系统实现了 协调者→ 规划师→ 主管→ 专家 等级制度:

业务流程层

  • 代理程序:高层协调和决策

规划层

  • 规划师代理:战略规划和任务分解

管理层

  • 监督代理:专业人员的战术管理和协调

专业代理

开发代理:

  • 规格试剂盒代理:使用“指定”进行项目初始化
  • 前端编码器代理:React/Next.js/TypeScript/Supabase/Payload CMS
  • Python ML/DL代理:PyTorch/TensorBoard/Jupyter
  • R分析代理:tidyverse/ggplot2/R Markdown/闪亮

基础设施代理:

  • Qdrant载体剂:代码库和文档矢量存储

质量代理商:

  • TypeScript验证代理:类型安全、测试、调试

研究代理:

  • 研究代理:技术研究和最佳做法
  • 浏览器代理:网页浏览和自动化
  • 记者代理:文件和报告

主要特点

✅ 分层多代理架构:协调员→ 规划师→ 主管→ 专家 ✅ 专业开发代理:前端、Python ML/DL、R分析 ✅ 矢量驱动知识:Qdrant集成用于代码库搜索 ✅ 模型上下文协议(MCP):标准化工具集成 ✅ 质量验证:TypeScript安全、测试和调试 ✅ 项目初始化:使用Specific(规格套件)自动设置 ✅ 多个技术栈:React/Next.js、PyTorch、R、Supabase、Payload CMS ✅ 综合文档:自动报告和文件


快速开始

先决条件

必需:

  • Python 3.10+
  • Node.js 18+或20+
  • Docker(适用于Qdrant)
  • 无烟煤API键

可选的 (适用于专业代理):

  • R 4.x(适用于R分析代理)
  • Git和GitHub令牌

安装

看 claudcodesetup.md 有关完整的设置说明。

快速安装:

# 1. Clone repository
git clone <your-repo-url>
cd PM-Agents

# 2. Install Python dependencies
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt

# 3. Install Node dependencies (for MCP servers)
npm install -g @modelcontextprotocol/server-filesystem
npm install -g @modelcontextprotocol/server-github
npm install -g @modelcontextprotocol/server-brave-search

# 4. Start Qdrant (vector database)
docker run -p 6333:6333 qdrant/qdrant

# 5. Set environment variables
export ANTHROPIC_API_KEY="your-key"
export GITHUB_TOKEN="your-token"
export BRAVE_API_KEY="your-key"

实施1:克劳德代码(拟人)

设置

  1. 获取Anthropic API密钥

    • 注册地址:https://console.anthropic.com/
    • 从您的帐户设置生成API密钥
  2. 设置环境变量

    export ANTHROPIC_API_KEY='your-api-key-here'
    

    或者在Windows上:

    set ANTHROPIC_API_KEY=your-api-key-here
    

用法

from pm_coordinator_agent import PMCoordinatorAgent

# Initialize coordinator
coordinator = PMCoordinatorAgent()

# Define your project
project = "Develop an AI-powered customer service chatbot for e-commerce platform"

# Execute project management
result = coordinator.manage_project(project)

# View results
print(result)

运行示例:

python pm_coordinator_agent.py

实施2:Ollama Gemma3(当地)

设置

  1. 安装Ollama

    • 下载自https://ollama.ai/
    • 按照操作系统的安装说明进行操作
  2. 拉动Gemma2模型 (或Gemma3(如有))

    ollama pull gemma2
    
  3. 启动Ollama服务器

    ollama serve
    

    运行代理时保持此终端打开。

用法

from pm_ollama_agents import OllamaCoordinator

# Initialize coordinator (Ollama must be running)
coordinator = OllamaCoordinator()

# Define your project
project = """
Develop an AI-powered project management assistant that helps teams 
automate task scheduling, resource allocation, and risk monitoring.
"""

# Execute project management
result = coordinator.manage_project(project)

# Results are automatically saved to pm_project_results.json

运行示例:

# Make sure Ollama is running first!
python pm_ollama_agents.py

系统工作流

User Request
     ↓
Coordinator Agent (Analyzes request, determines strategy)
     ↓
Planner Agent (Creates detailed plan, assigns agents)
     ↓
Supervisor Agent (Manages execution, coordinates specialists)
     ↓
┌────────────┬────────────┬────────────┬────────────┬────────────┐
│ Spec-Kit   │ Frontend   │ Python ML  │ R          │ Qdrant     │
│ Agent      │ Coder      │ Agent      │ Analytics  │ Vector     │
└────────────┴────────────┴────────────┴────────────┴────────────┘
     ↓            ↓            ↓            ↓            ↓
     └────────────┴────────────┴────────────┴────────────┘
                              ↓
                    TypeScript Validator
                    (Reviews code quality)
                              ↓
     ┌────────────┬────────────┬────────────┐
     │ Research   │ Browser    │ Reporter   │
     │ Agent      │ Agent      │ Agent      │
     └────────────┴────────────┴────────────┘
                              ↓
                    Final Deliverables
                              ↓
                    Back to Coordinator
                              ↓
                    User receives results

示例流程:Web应用程序项目

  1. 用户请求:“构建一个具有身份验证和仪表板的客户门户”
  2. 协调者:分析→ 确定它是一个全栈web项目
  3. 规划师:创建计划:
    • 使用Spec Kit初始化项目
    • 使用Qdrant索引代码库
    • 使用Next.js/Supabase实现前端
    • 验证TypeScript的安全性
    • 与记者一起记录
  4. 主管:将任务委托给专家
  5. 专家执行:
    • Spec Kit:创建Next.js项目结构
    • Qdrant:索引样板和文档
    • 前端编码器:实现组件、身份验证、仪表板
    • TypeScript验证器:审查代码,运行测试
    • 报告者:生成文档
  6. 结果 通过主管回流→ 规划师→ 协调者
  7. 用户 接收完整的、经过测试的、有文件记录的应用程序

代理通信模式

A2A(代理对代理)通信

# Coordinator → Planner
analysis = coordinator.analyze_request(user_request)
plan = coordinator.delegate_to_planner(analysis)

# Planner → Supervisor
execution_plan = planner.create_detailed_plan(analysis)
results = planner.delegate_to_supervisor(execution_plan)

# Supervisor → Specialists
for task in execution_plan.tasks:
    specialist = supervisor.get_specialist(task.agent_type)
    result = specialist.process_task(task)
    supervisor.aggregate_result(result)

# Results flow back up the hierarchy

MCP(模型上下文协议)集成

代理使用MCP服务器进行专门操作:

  • 文件系统MCP:文件操作(读、写、编辑)
  • GitHub MCP:存储库操作(克隆、PR、问题)
  • 勇敢搜索MCP:网络研究
  • Qdrant MCP (自定义):矢量存储和语义搜索
  • Supabase MCP (自定义):数据库和身份验证操作
  • TensorBoard MCP (自定义):机器学习可视化

所有通信包括:

  • 任务:详细的任务描述
  • 上下文:项目状态和依赖关系
  • 工具:可用的MCP工具
  • 响应格式:预期交付结构

文档

核心文件

  1. AGENT_ARCHITECTURE.md:全面的代理规格

    • 详细的代理人职责
    • 沟通模式
    • 技术栈
    • 质量门
    • 用例和示例
  2. MCP_SETUP.md:MCP服务器配置指南 新

    • 基本与可选MCP服务器
    • 用户级(全局)配置
    • Qdrant自定义MCP服务器设置
    • 按项目收集策略
    • 服务与MCP澄清
  3. 建议_代理.md:代理扩展建议 新

    • 高优先级代理添加(DevOps、数据库、安全、API)
    • 中等优先级添加(代码审查、依赖关系管理、性能)
    • 专业代理(移动、桌面、数据科学)
    • 实施模板和优先事项
  4. claudcodesetup.md:完成初始设置指南

    • 逐步安装MCP服务器
    • Qdrant矢量数据库设置
    • 代理实现代码
    • 技术栈配置
    • 验证和故障排除
  5. 建筑学.drawio:可视化架构图

    • 分层代理结构
    • 通信流
    • 代理关系
    • 使用Draw.io打开(https://app.diagrams.net/)
  6. TOOLS.md:完整的工具安装清单

    • 所有必需的软件和软件包
    • 安装命令
    • 验证步骤
    • 快速安装脚本
  7. CLAUDE.md:Claude Code的项目说明

    • 概述和快速参考
    • MCP服务器指南
    • 发展模式
    • 故障排除提示

关键架构概念

  1. 分层多智能体系统

    • 四层架构:协调员→ 规划师→ 主管→ 专家
    • 明确区分关注点
    • 双向反馈回路
    • 阻断者的升级路径
  2. 专业代理角色

    • 发展:前端(React/Next.js)、Python ML/DL、R分析
    • 基础设施:Qdrant矢量存储规格套件
    • 质量:TypeScript验证器
    • 研究:研究、浏览器、报告代理
  3. MCP集成

    • 标准化工具协议
    • 自定义MCP服务器(Qdrant、Supabase、TensorBoard)
    • 文件系统、GitHub、Web搜索集成
  4. 矢量驱动知识

    • Qdrant用于语义代码搜索
    • 自动代码库索引
    • 文献检索
    • 情境感知建议

故障排除

Claude代码问题

问题:“无效的API密钥”

  • 解决方案:验证ANTHROPIC_API_KEY环境变量设置是否正确

问题:“超出费率限制”

  • 解决方案:等待几分钟或升级您的Anthropic计划

Ollama问题

问题:“拒绝连接到本地主机:11434”

  • 解决方案:确保Ollama正在运行 ollama serve

问题:“找不到型号:gemma2”

  • 解决方案:先用 ollama pull gemma2

问题:“响应缓慢”

  • 解决方案:Ollama在本地运行-性能取决于您的硬件。考虑使用较小的模型或云替代方案。

比较:克劳德代码与Ollama

功能 克劳德代码 Ollama Gemma3
部署 云API 本地
成本 按令牌付费 免费(设置后)
速度 快速(云服务器) 取决于硬件
隐私 数据发送到Anthropic 完全私密
模型质量 克劳德·十四行诗4.5(非常高) 杰玛2(好)
设置复杂性 低(仅API密钥) 中(安装Ollama)
最适合 生产,高品质 开发,隐私

项目结构

PM-Agents/
├── README.md                          # This file
├── AGENT_ARCHITECTURE.md              # Detailed agent specifications
├── claudcodesetup.md                  # Complete setup guide
├── TOOLS.md                           # All required tools and installation
├── architecture.drawio                # Architecture diagram (open in Draw.io)
├── requirements.txt                   # Python dependencies
├── package.json                       # Node.js dependencies (MCP servers)
│
├── agents/                            # Agent implementations
│   ├── base_agent.py                  # Base agent class
│   ├── coordinator/
│   │   └── coordinator_agent.py
│   ├── planner/
│   │   └── planner_agent.py
│   ├── supervisor/
│   │   └── supervisor_agent.py
│   └── specialists/
│       ├── speckit/                   # Project initialization
│       ├── qdrant/                    # Vector storage
│       ├── frontend/                  # React/Next.js development
│       ├── python_ml/                 # PyTorch ML/DL
│       ├── r_analytics/               # R statistical analysis
│       ├── ts_validator/              # TypeScript validation
│       ├── research/                  # Research tasks
│       ├── browser/                   # Web automation
│       └── reporter/                  # Documentation
│
├── configs/                           # Configuration files
│   ├── mcp_config.json                # MCP server configuration
│   └── agent_prompts.json             # Agent prompt templates
│
├── tools/                             # Utility scripts
│   ├── init_qdrant.py                 # Initialize Qdrant collections
│   └── index_codebase.py              # Index project code
│
├── templates/                         # Project templates
│   ├── nextjs-supabase/               # Frontend template
│   ├── pytorch-ml/                    # ML project template
│   └── r-analysis/                    # R analysis template
│
└── examples/                          # Example projects
    ├── web_app_example/
    ├── ml_pipeline_example/
    └── analytics_dashboard_example/

参考文献

  1. 项目管理知识体系指南 (第7版)-项目管理学会
  2. AI代理、MCP和A2A通信 -崔博士,CSUF
  3. 克劳德人类学文献 - https://docs.anthropic.com/
  4. Ollama文件 - https://ollama.ai/
  5. 模型上下文协议 -人体MCP规范

许可证

学术作业的教育用途。

作者

为信息系统课程作业创建-多代理项目管理系统

联系

有关此实现的问题,请联系您的课程讲师。