Agent-Field/CodeAF

Open-Source Software factory for Open Models

CodeAF – 用于 LLM 编码的开源“软件工厂”

它是什么 – CodeAF 是一款基于 Go 的命令行工具,让您可以在机器上的所有存储库中运行由 LLM 驱动的编码代理。它提供了一个单一的“首页”窗口,列出每个项目、其活动对话、待处理任务和支出。从那里,您可以在标签页中打开项目,提交自然语言请求,系统会自动执行以下操作:

  1. 规划工作,将其拆分为独立任务,并为每个任务创建一个分支。
  2. 运行工作,由三个模型角色(规划者、执行者、检查者)组成的团队负责,这些模型选自开放权重模型池(DeepSeek、Qwen、GLM、Kimi、MiniMax、Ollama 等)。
  3. 检查结果,根据可配置的测试进行验证,并仅合并通过的变更。
  4. 提示您,仅在需要决策时(例如:“我们应该使用哪个支出账本?”)。

结果是一个可以同时处理多个错误、功能或重构的“工厂”,而您只需在需要判断时进行干预。


关键概念

概念 功能
首页 / 标签页 一个终端窗口显示每个存储库、其任务和成本。您可以在项目之间跳转,无需打开新的终端。
对话 → 任务 编写自然语言请求;CodeAF 将其解析为独立任务,每个任务都在自己的分支上。
子工具 (Sub-harnesses) 用于重复性工作的专业代理(例如:PR 审查、依赖项分类)。它们拥有自己的模型规划、检查和类型化 I/O。
团队 / 席位 每个任务自动选择三个模型角色:规划者(设计计划)、执行者(编写代码)、检查者(运行测试)。您可以将模型固定到特定席位。
模型池 该工具会测量您安装中每个模型的延迟、成本和成功率,并使用该数据为特定席位选择最便宜/最快的模型。
无头模式 codeaf do … 从脚本/CI 运行一次性请求,返回 JSON 和退出代码。
远程 / 任何地方 UI 在本地运行,而对话则保留在拥有代码的机器上。您可以透过 SSH 从笔记本电脑、台式机或手机连接。
遥测 默认发送匿名使用计数(版本、操作系统、Token 频段、错误);可通过设置或环境变量禁用。

安装与使用

curl -fsSL https://agentfield.ai/get/codeaf | bash   # 安装单一二进制文件 (~53 MB)
codeaf                                            # 启动 UI

使用 VERSION=<tag> 固定版本 或从源代码构建 (make build)。

典型工作流程:

  1. codeaf home – 查看所有项目。
  2. enter <project> – 为存储库打开标签页。
  3. 输入请求,例如 fix the flaky test that fails 1/5 runs。
  4. UI 创建任务树;您批准/拒绝个别子任务。
  5. 接受的变更会进入新分支;准备好后合并。

基准测试与性能

  • DeepSWE 基准测试 – 内置的 /senior-dev 子工具在 DeepSeek V4 Flash 上解决了 113 个真实 GitHub 问题中最高比例 (54.9%) 的问题,且每个已解决问题的成本最低,击败了 Claude Code、Codex、Kilo 等。
  • 资源占用 – 单一二进制文件 53 MB,每个会话约 27 MB RAM,16 个闲置会话使用约 0.5 GB。这比竞争对手的代理小 4-21 倍。

完整的基准测试详细信息位于 docs/benchmarks/ 下。


何时使用 CodeAF

  • 多存储库开发 – 需要在多个服务中处理错误、功能和 CI 的团队。
  • 注重成本的 LLM 使用 – 自动选择符合质量要求的最便宜模型。
  • 自动化 – 可从 CI 管线调用无头 codeaf do … 来应用大量修复(例如:依赖项升级)。
  • 可扩展性 – 您可以为特定领域任务编写自己的子工具。

限制(截至早期预览版)

  • 仍处于快速开发阶段 – 预期会遇到粗糙之处和偶尔的崩溃。
  • 大多数模型需要 OpenRouter 或提供者 API 密钥;Ollama 可在本地运行。
  • 遥测默认开启(可禁用)。
  • UI 是基于终端的;尚未整合图形化 IDE。

总结 – CodeAF 是一个真正的开源项目,将 LLM 转变为协调的多项目编码助手,强调成本效益、任务自动化和单窗口工作流程。它旨在帮助那些希望利用开放权重模型,而无需处理多个终端或手动提示工程的开发人员。

相关

  • 项目
  • 项目
  • 项目
  • 项目