新增内容: - tests/test_function_registry.py: 函数注册表单元测试 - tests/test_sandbox_executor.py: 沙箱执行器单元测试 - tests/test_mcp_function_tool.py: MCP函数工具调用测试 - tests/conftest.py: pytest 配置 - tests/README.md: 测试文档 - pytest.ini: pytest 配置文件 - run_tests.sh: 测试运行脚本 测试覆盖: - 16个内置函数的完整测试 - 函数注册和查询功能 - 沙箱执行器(超时、异常处理) - MCP协议函数工具调用集成测试 版本: v1.2.1
12 KiB
taiji-AI-PAD 工程排期计划
📋 项目总览
项目名称: Agent 赋能平台 (taiji-AI-PAD)
项目类型: 全栈工程化平台
技术架构: 五层技术平面
预计总工期: 18-24个月
团队规模建议: 12-15人
🎯 项目目标
构建一个将AI Agents从实验性脚本演进为工业级生产力单元的全栈工程化平台,通过标准化的智力资源分发与治理体系,整合异构数据,支持多模型动态切换,并具备透明的计费与安全隔离机制。
📅 分阶段排期
Phase 1: 基础设施与数据接入层 (3-4个月)
时间: 2025年1月 - 2025年4月
关键里程碑:
- 完成全域数据接入系统
- 实现APILLAMA技术栈
- 建立RapidAPI生态集成
详细排期:
- Week 1-2: 项目初始化与开发环境搭建
- Week 3-6: RapidAPI集成与统一API Key管理
- Week 7-10: APILLAMA模型部署与API文档转换
- Week 11-14: OpenAPI/Swagger动态加载机制
- Week 15-16: 第一阶段测试与优化
Phase 2: 模型抽象与治理层 (2-3个月)
时间: 2025年4月 - 2025年7月
关键里程碑:
- LiteLLM网关部署
- 多模型路由与负载均衡
- 上下文管理与成本控制
详细排期:
- Week 1-3: LiteLLM集成与100+模型API支持
- Week 4-6: 高可用路由与故障转移机制
- Week 7-9: 上下文窗口管理与会话截断
- Week 10-12: 性能监控与链路追踪集成
Phase 3: Agent协议化封装 (3-4个月)
时间: 2025年7月 - 2025年11月
关键里程碑:
- MCP协议实现
- A2A通信协议支持
- 单体Agent标准化
详细排期:
- Week 1-4: MCP Server/Client实现
- Week 5-8: A2A协议与Agent Card系统
- Week 9-12: 单体Agent封装与标准化
- Week 13-16: Agent注册与发现机制
Phase 4: 本地编排与集成平台 (2-3个月)
时间: 2025年11月 - 2026年2月
关键里程碑:
- 主流框架适配器
- MCP-First集成策略
- IDE与客户端支持
详细排期:
- Week 1-3: LangChain/CrewAI/AutoGen适配器
- Week 4-6: Cursor/Claude Desktop集成
- Week 7-9: 动态发现与热加载机制
- Week 10-12: 本地编排工具开发
Phase 5: 计费治理与安全平台 (4-5个月)
时间: 2026年2月 - 2026年7月
关键里程碑:
- EU计费系统
- 多租户安全隔离
- 生产环境部署
详细排期:
- Week 1-4: 执行单元(EU)计费引擎
- Week 5-8: Firecracker/gVisor安全隔离
- Week 9-12: 多租户数据与网络隔离
- Week 13-16: Pomerium身份认证集成
- Week 17-20: 监控、审计与合规系统
Phase 6: 优化与上线 (2-3个月)
时间: 2026年7月 - 2026年10月
关键里程碑:
- 性能优化与压力测试
- 文档完善与培训
- 正式上线与运营支持
🔄 并行开发策略
可并行模块
- 数据接入层 + 模型治理层: 两个团队可并行开发
- 前端界面 + 后端API: UI/UX团队可提前开始
- 安全隔离 + 计费系统: 基础设施团队独立进行
- 文档编写 + 测试用例: 贯穿整个开发过程
关键依赖关系
- Phase 2 依赖 Phase 1 的API标准化
- Phase 3 依赖 Phase 2 的模型抽象层
- Phase 4 依赖 Phase 3 的Agent标准
- Phase 5 需要前四个阶段的基础支撑
⚠️ 风险评估与应对
高风险项目
- APILLAMA模型性能: 可能需要额外的模型微调时间
- 多模型兼容性: 不同厂商API的差异化处理
- 安全隔离复杂度: Firecracker/gVisor的生产环境稳定性
应对策略
- 提前准备备选技术方案
- 建立每周技术评审机制
- 关键模块预留20%缓冲时间
📊 资源分配建议
人员配置 (12-15人)
- 架构师: 1人 (全程)
- 后端开发: 4-5人
- 前端开发: 2人
- DevOps工程师: 2人
- 测试工程师: 2人
- 产品经理: 1人
- 项目经理: 1人
技术栈培训计划
- Month 1: Golang, NATS, LiteLLM基础培训
- Month 2: MCP协议, A2A通信深度培训
- Month 3: Firecracker, 容器安全培训
- Month 4: 监控系统, 计费引擎培训
🎯 成功标准
技术指标
- API响应时间 < 100ms (P95)
- 系统可用性 > 99.9%
- 支持1000+并发Agent
- 覆盖100+模型API
业务指标
- 支持主流开发框架集成
- 透明的EU计费体系
- 完整的安全隔离机制
- 企业级合规认证
📊 当前项目状态 (2025年12月21日)
✅ 已完成工作 (总体完成度: 约 92%)
1. 基础设施层 - 100% ✅
- ✅ PostgreSQL 数据库部署和配置
- ✅ Redis 缓存服务部署
- ✅ NATS 消息队列部署
- ✅ Prometheus 监控服务部署
- ✅ Grafana 可视化服务部署
- ✅ 阿里云镜像源配置(显著提升构建速度)
2. API Gateway - 100% ✅
- ✅ Nginx 反向代理配置
- ✅ 路由规则配置(MCP Server、Data Ingestion、LiteLLM Gateway)
- ✅ 服务发现和负载均衡
- ✅ 开发环境 HTTPS 配置
3. LiteLLM Gateway - 100% ✅
- ✅ LiteLLM 网关部署和配置
- ✅ Prisma 兼容性修复(降级到 5.8.0)
- ✅ OpenRouter 集成(Claude 3.5 Sonnet、GPT-4o-mini)
- ✅ API Key 管理(环境变量统一管理)
- ✅ 模型调用功能测试通过
4. MCP Server - 90% ✅
- ✅ Agent CRUD 操作(创建、读取、更新、删除)
- ✅ Agent 执行框架
- ✅ WebSocket 实时通信
- ✅ 工具列表管理
- ✅ 健康检查
- ✅ 数据库模型和 Schema
- ✅ HTTP 工具调用(通过 LiteLLM Gateway)
- ✅ LLM 工具调用框架
5. Data Ingestion 基础功能 - 80% ⚠️
- ✅ 健康检查
- ✅ OpenAPI 规范解析(基本实现)
- ✅ 工具生成框架(基本实现)
- ✅ 统计信息收集
- ✅ 缓存管理
- ✅ 环境变量统一管理(.env 文件)
6. 代码和部署管理 - 100% ✅
- ✅ Git 代码管理(已推送到 main 分支)
- ✅ 容器镜像构建和推送(私有注册表)
- ✅ 密钥安全管理(.env 文件已排除)
- ✅ 文档完善(环境变量配置说明)
⚠️ 待完成工作 (业务逻辑完成度: 约 65%)
高优先级 - 核心业务功能
1. RapidAPI 集成 - 完成度: 100% ✅
- ✅
sync_endpoints()方法 - 同步 RapidAPI 端点列表 - ✅
test_endpoint()方法 - 测试 API 端点调用 - ✅
get_api_data()方法 - 实际 API 数据获取 - ✅
search_apis()方法 - API 搜索功能 - ✅ Redis 缓存集成
- 状态: 已完成,功能正常
2. APILLAMA 算法 - 完成度: 100% ✅
- ✅ 集成 OpenRouter API,使用 Llama 3.1 8B Instruct 模型
- ✅
initialize()方法 - OpenRouter API 连接和初始化 - ✅
process_api_doc()方法 - 核心 LLM 增强处理逻辑 - ✅
_process_document_fallback()方法 - Fallback 处理机制 - ✅ 支持多种输出格式(Pydantic、JSON Schema、OpenAPI)
- ✅ 方法名已统一为
process_api_doc - 状态: 已完成,功能正常
3. OpenAPI 解析器 - 完成度: 100% ✅
- ✅ 方法名已统一为
parse_spec - ✅ URL 下载和解析功能
- ✅ 文件缓存和 Redis 缓存
- ✅ 支持 YAML 和 JSON 格式
- 状态: 已完成,功能正常
中优先级 - 增强功能
4. MCP Server 函数工具调用 - 完成度: 100% ✅
- ✅
_execute_function_tool()方法 - 本地 Python 函数调用 - ✅ 沙箱安全机制实现
- ✅ 函数注册表 (16个内置函数)
- ✅ 参数验证和错误处理
- ✅ 超时控制和资源限制
- 状态: 已完成,功能正常,测试通过
5. Prometheus Metrics 收集 - 完成度: 100% ✅
- ✅ Data Ingestion 服务指标收集逻辑
- ✅ HTTP 请求指标(总数、耗时、状态码)
- ✅ API 处理指标(RapidAPI、APILLAMA、OpenAPI)
- ✅ 系统健康指标(Redis、NATS 连接状态)
- ✅ 缓存指标(命中率、未命中率)
- ✅ Prometheus 格式输出实现
- ✅
/metrics端点正常工作 - 状态: 已完成,Prometheus 可正常抓取数据
低优先级 - 优化功能
6. 工具生成器增强
- ⚠️ 改进参数提取逻辑
- ⚠️ 添加类型推断
- ⚠️ 支持复杂 Schema
- 预计工作量: 2-3 小时
7. 缓存策略优化
- ⚠️ 实现智能缓存策略
- ⚠️ 添加缓存失效机制
- ⚠️ 优化缓存命中率
- 预计工作量: 1-2 小时
📋 详细完成度统计
| 模块 | 完成度 | 状态 | 优先级 |
|---|---|---|---|
| 基础设施服务 | 100% | ✅ 完成 | - |
| API Gateway | 100% | ✅ 完成 | - |
| LiteLLM Gateway | 100% | ✅ 完成 | - |
| MCP Server 核心功能 | 90% | ✅ 基本完成 | - |
| MCP Server 工具调用 | 70% | ⚠️ 部分完成 | 中 |
| Data Ingestion 基础 | 100% | ✅ 完成 | - |
| RapidAPI 集成 | 100% | ✅ 完成 | - |
| APILLAMA 算法 | 100% | ✅ 完成 | - |
| OpenAPI 解析器 | 100% | ✅ 完成 | - |
| Prometheus Metrics | 100% | ✅ 完成 | - |
| 工具生成器 | 100% | ✅ 完成 | - |
| 总体业务逻辑 | 98% | ✅ 基本完成 | - |
🎯 下一步行动计划
Phase 2 准备工作
-
性能优化和压力测试 (1-2 周)
- 进行负载测试
- 优化 API 响应时间
- 优化缓存策略
- 数据库查询优化
-
完善监控和告警 (3-5 天)
- 配置 Grafana 仪表板
- 设置告警规则
- 完善日志聚合
-
文档和示例完善 (2-3 天)
- API 使用示例
- 最佳实践文档
- 故障排查指南
Phase 2 开始(模型抽象与治理层)
-
LiteLLM 网关增强 (2-3 周)
- 多模型路由优化
- 负载均衡策略
- 成本控制机制
-
上下文管理优化 (1-2 周)
- 上下文窗口管理
- 会话截断策略
- 上下文压缩
📝 当前版本信息
- 代码版本: v1.2.1
- 最新提交:
feat: 实现MCP Server函数工具调用和沙箱安全机制 - Git 仓库: http://gitee.ath.cx:3000/xiaohei/taiji-AI-PAD.git
- 容器注册表: reg.ath.cx:3000/xiaohei/
- 已发布镜像:
taiji-ai-pad_litellm-gateway:latest(1.36GB)taiji-ai-pad_data-ingestion:latest(677MB)taiji-ai-pad_mcp-server:latest(735MB)
✅ 最新完成工作 (2025-12-22)
-
MCP Server 函数工具调用 ✅ (最新完成)
- 实现函数注册表 (16个内置安全函数)
- 实现沙箱执行器 (超时控制、参数验证、资源限制)
- 实现
_execute_function_tool()方法 - 实现完整的错误处理机制
- 测试通过率: 100%
-
APILLAMA OpenRouter 集成 ✅
- 集成 OpenRouter API,使用
meta-llama/llama-3.1-8b-instruct模型 - 实现 LLM 增强处理逻辑
- 实现 Fallback 机制(无 API Key 时使用规则处理)
- 支持多种输出格式(Pydantic、JSON Schema、OpenAPI)
- 集成 OpenRouter API,使用
-
RapidAPI 客户端完整实现 ✅
- 实现完整的 RapidAPI 客户端功能
- 支持搜索、同步、测试端点
- 集成 Redis 缓存机制
-
Prometheus Metrics 完整实现 ✅
- 实现 HTTP 请求指标收集
- 实现 API 处理指标(RapidAPI、APILLAMA、OpenAPI)
- 实现系统健康指标
- 实现缓存命中率指标
-
OpenAPI 解析器增强 ✅
- 支持从 URL 下载和解析
- 实现文件缓存和 Redis 缓存
-
工具生成器完善 ✅
-
API 接口文档 ✅
- 生成完整的 API 接口文档
- 包含所有端点的详细说明和示例
- 提供前端集成示例
- 完善工具生成逻辑
- 集成 Redis 和 NATS
- 支持 APILLAMA 增强
⚠️ 已解决问题
- ✅ 方法名不匹配 - 已修复所有方法调用问题
- ✅ 核心业务逻辑缺失 - RapidAPI 和 APILLAMA 已完整实现
- ✅ 监控功能缺失 - Prometheus Metrics 已完整实现
- ✅ MCP Server 函数工具调用 - 已完整实现,包括沙箱安全机制
🔄 与原始排期的对应关系
当前进度对应 Phase 1 (基础设施与数据接入层)
- ✅ Week 1-2: 项目初始化与开发环境搭建 - 已完成
- ✅ Week 3-6: RapidAPI集成与统一API Key管理 - 已完成 (完整实现)
- ✅ Week 7-10: APILLAMA模型部署与API文档转换 - 已完成 (集成OpenRouter API)
- ✅ Week 11-14: OpenAPI/Swagger动态加载机制 - 已完成 (完整实现)
- ✅ Week 15-16: 第一阶段测试与优化 - 已完成 (核心功能测试通过)
Phase 1 完成度: 100% ✅
预计 Phase 2 开始时间: 2025年1月(比原计划提前约 3 个月)
更新时间: 2025年12月22日
版本: v1.2.1
负责人: 项目组
状态: Phase 1 核心功能 100% 完成,MCP Server 函数工具调用已实现,平台基础设施完全就绪