参赛赛道:Agent 赛道
核心定位:一个具备感知、规划、行动、反思、学习能力的自主智能体,用于复杂软件项目的端到端缺陷修复。
MetaFix Orchestrator 是一个自主决策型 AI Agent。给它一个 Issue 链接(或问题描述),它会:
- 自主分析:理解项目结构、Issue 上下文、历史修复经验。
- 自主规划:生成修复计划(包含步骤、所需技能、风险、成本预估),并展示给用户。
- 自主执行:动态获取或创建所需技能(从社区拉取),调用 MCP 工具(文件、Git、GitHub),完成代码修复、测试、审查、PR 提交。
- 自主反思:根据执行结果更新内部知识库,优化未来决策。
- 自主处理异常:遇到失败时回滚、重试、请求人工审批或切换策略。
- 固定工作流:A→B→C,无法适应变化。
- 本智能体:每次根据目标、上下文、历史经验,动态生成执行路径,并具备学习能力。
用户只需定义目标("修复 Issue #999"),智能体全权负责执行。仅在关键节点(如高危操作、计划确认)请求人工审批。
我们把整个系统视为一个智能体,其内部包含以下模块:
| 模块 | 对应能力 | 实现方式 |
|---|---|---|
| 感知模块 | 理解 Issue、项目结构、Wiki、规则 | issue-analyzer + codebase-navigator + RAG |
| 记忆模块 | 短期记忆(当前会话状态)、长期记忆(技能知识库、成功组合) | SharedMemory + SQLite + 向量库 |
| 规划模块 | 生成修复计划、动态拆解任务 | 五级优先级技能获取 + 自由编排引擎 |
| 行动模块 | 执行技能、调用 MCP 工具 | 临时子智能体 + 预置 MCP(filesystem, git, github, logging) |
| 反思模块 | 评估执行结果、更新知识库、调整策略 | 反思日志 + 技能成功率更新 |
| 安全与成本控制 | 技能校验、人工审批、token 预算 | 四阶段校验 + WorkBuddy 集成 + 成本估算 |
| 可观测性 | 日志、追踪、故障恢复 | 结构化日志 + 状态快照 + 重启恢复 |
┌─────────────────────────────────────────────────────────────┐
│ 用户输入目标(Issue #999) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 1. 感知:加载项目 Wiki、预定义规则,分析 Issue 根因 │
│ - 调用 codebase-navigator 理解代码结构 │
│ - 结合历史记忆(类似 Issue 的修复经验) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 2. 规划:生成修复计划 │
│ - 列出需要修改的文件、预计步骤、所需技能 │
│ - 预估 token 成本、风险点 │
│ - 展示给用户,等待确认 │
└─────────────────────────────────────────────────────────────┘
│
▼(用户确认)
┌─────────────────────────────────────────────────────────────┐
│ 3. 行动:按计划执行 │
│ - 对于每个步骤: │
│ a. 从本地/远程获取技能(若缺失则自动创建) │
│ b. 安全校验技能 │
│ c. 创建临时子智能体运行技能(通过 MCP 工具操作) │
│ d. 观察结果,记录日志 │
│ - 若某步失败: │
│ * 尝试重试(最多 3 次) │
│ * 若仍失败,触发回滚并重新规划 │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 4. 反思:评估整体结果 │
│ - 比较预期与实际 │
│ - 更新技能知识库(成功率、耗时) │
│ - 若发现更优的技能组合,存入组合知识库 │
│ - 生成反思日志供用户审阅 │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 5. 交付:提交 PR 并通知用户 │
└─────────────────────────────────────────────────────────────┘
关键点:每一步都是智能体自主决策的结果,而非硬编码流程。
- 项目 Wiki:
.meta-fix/wiki/下的 Markdown 文档(架构、常见问题)。 - 预定义规则:
.meta-fix/rules/下的 YAML 文件(编码规范、安全策略、模块偏好)。 - 历史记忆:技能知识库 + 组合知识库(从以往修复中学习)。
- 实时分析:调用 CodeBuddy API 增强根因定位。
智能体不依赖预置工作流,而是动态生成计划。例如 Issue #999(C++ 空指针):
- 感知到项目主要是 C++/Python 混合,根因在 C++ 层。
- 记忆库显示类似问题常用技能序列:
cpp-debug-skill→cpp-fix-skill→test-writer。 - 计划输出(见 4.3 示例)。
- 技能获取:按照优先级(预制子智能体 → 本地缓存 → 远程拉取 → 自动创建 → 组合)自主决策。
- MCP 集成:预置
filesystem,git,github,logging;技能可声明额外 MCP,智能体自动连接。 - 执行隔离:每个技能在临时子智能体中运行,避免相互污染。
- 每次修复后,智能体生成反思日志,包含:
- 哪些技能有效、哪些无效。
- 实际耗时与预估的偏差。
- 是否遇到意外情况(如依赖缺失)。
- 反思结果更新知识库,影响下次规划。例如:
cpp-fix-skill成功率从 0.8 降至 0.6,则未来会优先尝试其他技能。
- 安全:技能拉取时四阶段校验;高危操作触发人工审批。
- 成本:每次 LLM 调用前估算 token,累计超预算时暂停并请求用户干预。
| 标准 | 本智能体实现 |
|---|---|
| 自主决策 | 动态规划执行路径,而非固定工作流 |
| 环境交互 | 通过 MCP 读写文件、执行 Git、操作 GitHub |
| 目标驱动 | 给定 Issue,自动分解子目标 |
| 学习能力 | 反思机制更新知识库,优化未来决策 |
| 不确定性处理 | 失败时回滚、重试、重新规划 |
| 人机协同 | 关键节点请求审批,而非全自动 |
对比常见工作流引擎:工作流引擎是"如果 A 则 B",而本智能体是"我理解目标是 X,根据当前情况,我决定做 Y,因为之前 Z 成功了"。
- CodeBuddy:作为代码分析 API,增强感知层。
- WorkBuddy:计划确认、人工审批、日志通知。
- ClawPro:Agent 运行时底座,管理内部子智能体生命周期。
| 维度 | 本智能体得分点 |
|---|---|
| 场景价值与市场潜力 | 面向千亿级软件工程市场,任何有代码仓库的企业都需要自动化缺陷修复。 |
| 效能提升与价值可见度 | 模拟数据:4 小时 → 8 分钟;用户可对比前后耗时。 |
| 功能完整性与可用性 | 九层模块全覆盖,Demo 流畅(可模拟展示计划生成、技能拉取、审批、PR)。 |
| 创新性与技术深度 | 自主规划、反思学习、技能社区动态拉取、全链路安全与成本控制。 |
用户:
/fix https://github.com/vllm-project/vllm/issues/999
智能体思考(内部日志):
[感知] 加载项目 Wiki... 发现 vLLM 使用 Ascend CANN 后端。
[感知] Issue #999 描述:运行 long sequence 时随机 NaN。
[感知] 调用 CodeBuddy 分析代码,定位到 flash_attention.cpp:342 可能存在 FP16 溢出。
[记忆] 历史类似问题曾使用 cpp-debug-skill → cpp-fix-skill → test-writer 组合,成功率 0.92。
[规划] 生成计划:
- 步骤1:cpp-debug-skill 确认溢出点
- 步骤2:cpp-fix-skill 修改为高精度累加
- 步骤3:test-writer 生成 long_sequence_nan_test.py
- 步骤4:regression-guard 运行回归测试
- 风险:需修改 CMakeLists.txt(触发人工审批)
- 预估 token:1200,成本:$0.002
[行动] 展示计划给用户,等待确认...
用户确认。
[行动] 拉取 cpp-debug-skill(从 GitHub 社区)→ 安全校验通过 → 执行 → 定位到准确行号。
[行动] 拉取 cpp-fix-skill → 需要 filesystem MCP → 写补丁 → 需要 git MCP → 创建分支 → 提交。
[行动] 调用 test-writer(预制子智能体)→ 编写测试。
[行动] 调用 regression-guard → 全部通过。
[行动] 调用 pr-creator → 通过 github MCP 创建 PR。
[反思] 本次修复成功,cpp-fix-skill 成功率升至 0.93,记录组合。
[完成] 输出 PR 链接。
MetaFix Orchestrator 是一个自主决策型 AI Agent,而非简单的工作流编排。它具备感知、规划、行动、反思、学习、安全、成本等完整智能体特征,能够端到端解决复杂软件项目中的缺陷修复问题,完美契合 Agent 赛道要求。
git clone https://github.com/libra-sys/MetaFix-Orchestrator.git
cd MetaFix-Orchestrator
cp .env.example .env
# 编辑 .env 填写配置
docker-compose up -d
# 访问 http://localhost:3000下载 MetaFix-Orchestrator-Portable.zip 解压,双击 MetaFix-Orchestrator.exe 即可。
npm install --legacy-peer-deps
npm run build
npm start
# 访问 http://localhost:3000MetaFix Orchestrator/
├── cli/ # CLI 命令行工具
├── server/ # 后端服务(Express + TypeScript)
│ ├── index.ts # 主入口
│ ├── agents/ # Agent 核心模块(感知/规划/执行/反思)
│ ├── skills/ # 技能管理系统
│ ├── knowledge/ # RAG 知识库
│ ├── mcp/ # MCP 服务器管理
│ ├── cost/ # 成本控制
│ └── security/ # 安全与审批
├── src/ # 前端(React + TypeScript)
├── data/ # 数据目录(SQLite + 向量数据库)
├── Dockerfile
├── docker-compose.yml
└── start.bat / start.sh
| 模块 | 状态 | 说明 |
|---|---|---|
| 核心基础设施 | ✅ 100% | Controller、Perception、Planner、Executor、Reflector 完整实现 |
| 调度器 | ✅ 100% | orchestrator.ts 独立模块,完整实现感知→规划→执行→反思流程 |
| 数据库 | ✅ 100% | SQLite 完整 schema,包含 sessions、messages、skills、reflection_logs、fix_plans、agent_snapshots |
| MCP 集成 | ✅ 100% | filesystem、git、github、logging 全部可用 |
| API 服务器 | ✅ 100% | Express 完整实现,包含聊天、Agent、技能、反思日志等所有 API |
| 子智能体(8个) | ✅ 100% | issue-analyzer、codebase-navigator、upstream-tracker、test-writer、regression-guard、quality-gate、build-system-expert、pr-creator 全部实现 |
| 技能(12个) | ✅ 100% | receiving-code-review、deep-research、analytics-data-analysis、agent-browser、find-skills、create-skill、install-skill-dependency、docx、pdf、pptx、xlsx、content-research-writer 全部实现 |
| 预制数据初始化 | ✅ 100% | 自动初始化所有预制技能和子智能体到数据库 |
| 模块 | 状态 | 说明 |
|---|---|---|
| 前端 UI | 🚧 60% | React + TypeScript 基础框架存在,但需要完善 Agent 状态展示、技能管理界面 |
| 测试 | 🚧 0% | 缺少单元测试和集成测试 |
| 文档 | 🚧 70% | README 完整,但缺少 API 文档和开发者指南 |
| 模块 | 状态 | 说明 |
|---|---|---|
| 部署脚本 | ⏳ 待完成 | Docker 和 Windows 便携版需要完善 |
| 性能优化 | ⏳ 待完成 | 需要添加缓存、并发控制等 |
| 安全加固 | ⏳ 待完成 | 需要完善输入验证、权限控制 |
cd server
npm install
npm run build
npm startcurl http://localhost:3000/api/health
# 预期输出: {"status":"ok","timestamp":"..."}curl http://localhost:3000/api/agent/health
# 预期输出: {"status":"ok","activeAgents":0,"totalSessions":0}# 查看数据库
sqlite3 data/chat.db "SELECT name, version FROM skills;"
# 预期输出: 12 个预制技能
sqlite3 data/chat.db "SELECT name, type FROM sub_agents;"
# 预期输出: 8 个子智能体MIT