SWE-AF
一个 API 调用驱动的 AI 工程团队,自主完成从需求规划到 PR 创建的全流程软件工程
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
一个 API 调用驱动的 AI 工程团队,自主完成从需求规划到 PR 创建的全流程软件工程
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:凌晨两点,你的团队刚刚完成了一轮紧急功能迭代,有 10 个 Issue 需要在次日上班前完成代码评审和合并。按照传统流程,这需要 3 名工程师花费 6-8 小时。但 SWE-AF 可以在你提交一个自然语言目标后,自主完成从产品规划、架构设计、代码编写、测试验证到 Pull Request 创建的全流程——零人工干预。
SWE-AF(读作 "swee-AF",全称 SWE Autonomous Fleet)是 Agent-Field 团队推出的开源项目,旨在构建一个自主软件工程工厂,让 AI 代理组成的工程团队能够端到端地完成生产级别的代码开发任务。

图1:SWE-AF 自主工程舰队 Banner
SWE-AF 的诞生源于一个深刻的技术洞察:当前大多数 AI 编程工具都是"单代理循环"——一个 AI 模型接收指令、生成代码、完成任务。但真实世界的软件工程远比这复杂:需要产品经理理解需求、架构师设计方案、多个程序员并行开发、评审人员验证质量、测试工程师确保覆盖率。这不是一个 AI 模型能搞定的事情。
Agent-Field 团队认为,软件工程的本质是一个多角色协作的工厂流水线。因此 SWE-AF 没有选择单代理路线,而是构建了一个由 22 个专业角色组成的 AI 工程团队,每个角色(PM、架构师、程序员、评审员、QA、集成测试等)由专门的 AI 模型驱动,协同完成复杂任务。
SWE-AF 的入口极其简洁——一个 API 调用即可触发整个工程团队:
curl -X POST http://localhost:8080/api/v1/execute/async/swe-planner.build \
-H "Content-Type: application/json" \
-d '{"input": {"goal": "Add JWT auth to all API endpoints", "repo_url": "https://github.com/user/my-project"}}'
这个调用背后发生了什么?SWE-AF 使用三层嵌套控制循环来自适应任务难度:
| 控制层级 | 作用域 | 触发条件 | 动作 |
|---|---|---|---|
| 内层循环 | 单个 Issue | QA/评审失败 | 程序员重试,注入更清晰的上下文 |
| 中层循环 | 单个 Issue | 内层耗尽 | 问题顾问尝试新方案、拆分工作或接受债务 |
| 外层循环 | 剩余 DAG | 升级失败 | 重规划器重构剩余问题的依赖关系 |

图2:SWE-AF 系统架构图,展示了 AgentField 控制平面与 SWE-AF 节点之间的 DID/VC 治理关系
SWE-AF 构建在 AgentField 控制平面上,是一个注册为 swe-planner 的节点。整个构建流程分为六个阶段:
Phase 1 — Plan + Git Init(并行):规划链同时生成 PRD、架构文档和 Issue DAG,同时 Git 初始化设置集成分支。两路并行,互不阻塞。
Phase 2 — Execute Issue DAG:DAG 执行器按依赖层级调度 Issue,在层级内并行执行。单个大型构建可能产生 400-500 次以上的 AI 代理调用,大型构建可达数千次。隔离的 git worktree 允许并行开发而不会产生分支冲突。
Phase 3 — Verify-Fix Loop:验证代理检查 PRD 中的每条验收标准是否在代码库中得到满足。如果失败,修复生成器产出针对性的修复 Issue,重新注入执行器。这是一个自修正循环,最多运行 max_verify_fix_cycles + 1 次。
Phase 4 — Repo Finalize:清理构建产物、更新 .gitignore,确保工作树状态整洁。
Phase 5 — Push + Draft PR:推送集成分支,通过 gh 创建 Draft PR,PR 正文包含 PRD、架构总结和所有技术债务记录。
Phase 6 — BuildResult:输出包含计划输出、完整 DAGState、验证结果、成功标志、摘要和 PR 链接。
SWE-AF 不绑定特定 AI 提供商,支持三种主流运行时:
每个角色可以指定不同模型:例如 "coder": "opus", "qa": "opus", "default": "sonnet",实现成本与质量的精细平衡。
SWE-AF 包含一个独特的性能优化:使用 RustPython(Rust 实现的 Python 解释器)替代传统 CPython subprocess 来执行短代码片段。在 RustPython 编译基准测试中,相比 CPython subprocess 基线:
| 指标 | CPython subprocess | RustPython (SWE-AF) | 提升 |
|---|---|---|---|
| 稳态执行 | ~19ms | 优化后 | 88.3x-602.3x |
| 几何均值 | 1.0x 基线 | 253.8x | 253.8x |
| 峰值吞吐 | ~52 ops/s | 31,807 ops/s | ~612x |
这是系统为大规模 AI 代理调用场景专门做的工程优化:用预热池化的 RustPython 解释器替代反复 spawn 的 subprocess。
每个代理动作都通过 AgentField 的 DID/VC(去中心化身份 + 可验证凭证)治理链进行密码学证明。这意味着 AI 生成的每一行代码、每一次决策都有完整的审计轨迹,解决了 AI 工程流程中"谁做了什么、为什么这样做"的可追溯性难题。
SWE-AF 已经在生产环境中验证。PR #179(Agent-Field 官方 Go SDK DID/VC 注册功能)完全由 SWE-AF 自主构建:
| 指标 | 数值 |
|---|---|
| 完成 Issue 数 | 10/10 |
| 通过测试数 | 217 |
| 验收标准达成 | 34/34 |
| 代理调用次数 | 79 |
| 使用的模型 | claude-haiku-4-5 |
| 总成本 | $19.23 |
79 次代理调用、2070 轮对话轮次,规划代理负责范围界定和任务分解,程序员在隔离的 worktree 中并行开发,评审员和 QA 验证每个 Issue,合并器集成各分支,最终验证器对照 PRD 检查验收标准。
SWE-AF 提供三种部署路径:
Railway 一键部署(推荐):点击 Railway 按钮即可部署完整栈(AgentField 控制平面 + PostgreSQL + SWE-AF),只需配置 CLAUDE_CODE_OAUTH_TOKEN 和 GH_TOKEN 两个环境变量。
Docker Compose(自托管):提供完整的 docker-compose.yml,包含控制平面、swe-agent 和 swe-fast 三个服务,支持水平扩展。
本地开发:需要 Python 3.12+、AgentField 控制平面和 AI 提供商 API Key,通过 pip install -e . 安装后运行 af + python -m swe_af 启动。
硬件要求:无 GPU 依赖,4GB RAM + 10GB 磁盘即可运行,适合在标准云服务器上部署。
尽管 SWE-AF 展现了令人印象深刻的自主能力,仍有几个现实问题需要正视:
API Key 成本:每个构建的 token 消耗需要仔细评估,上述 $19.23 的案例使用的是 haiku 级模型,切换到 Sonnet/Opus 成本会显著上升。
长尾问题处理:三层控制循环虽然提升了复杂任务的处理能力,但某些边界情况(如框架级 breaking change、API 弃用)可能仍需要人工介入。
安全与权限:AI 代理在仓库中拥有写权限,自主创建分支和 PR,生产环境部署需要谨慎配置 GitHub Token 权限范围。
AgentField 依赖:SWE-AF 不是独立工具,需要搭配 AgentField 控制平面运行,增加了部署复杂度。
SWE-AF 代表了 AI 软件工程领域的一个重要方向:从"AI 辅助编程"到"AI 自主工程团队"的跃迁。在 GitHub Copilot 解决"单行代码补全"问题时,SWE-AF 已经在探索"整条流水线自动化"的边界。
实际意义在于:它让独立开发者和小团队也能拥有"AI 工程团队"的生产力——用自然语言描述目标,AI 负责剩下的所有工程细节。这不仅是效率工具的进化,更是对软件开发组织形式的一次重新定义。
随着模型能力的持续提升和 AgentField 生态的扩展,SWE-AF 这类自主工程系统有望从当前的"半自动化助手"逐步进化为真正可靠的生产级工程伙伴。
项目链接:https://github.com/Agent-Field/SWE-AF
Stars:869
License:Apache 2.0
主要语言:Python
依赖框架:AgentField、Pydantic、Claude Agent SDK