在 AI 编码代理(AI Coding Agent)快速演进的今天,一个核心问题始终困扰着开发团队:如何让 AI 的编码行为变得可预测、可度量、可重复?传统的 AI 对话式编程依赖模型的「情绪」—— 这一次它可能跳过规划步骤,下一次它可能忘记运行测试,每次执行的结果都存在显著差异。Archon 作为首个开源的 AI 代码评测 Harness 框架,通过结构化的 YAML 工作流定义、隔离的执行环境与可组合的验证节点,为这一问题提供了工程化的解决方案。

核心定位:从「不可预测」到「确定性」

Archon 的核心理念是将软件开发流程抽象为可定义、可复现的工作流。与其让 AI 自由发挥,不如为它划定明确的阶段边界、验证门禁和产出物规范。AI 在每个阶段提供智能决策能力,但整体结构由用户自主定义。这种设计哲学与 Dockerfile 对基础设施的抽象、GitHub Actions 对 CI/CD 的抽象一脉相承 ——Archon 则试图对 AI 编码工作流进行类似的标准化。

当开发者向 AI 代理发出「修复这个 Bug」的指令时,传统方式下的执行路径充满随机性。模型可能直接开始写代码而跳过规划阶段,可能忘记运行测试验证,甚至可能忽略团队既定的 PR 模板。每次运行都是一次「黑箱实验」。Archon 通过将开发流程编码为工作流来解决这一痛点:工作流定义明确的阶段序列、验证门禁和产物规范,AI 在每个步骤中填充智能部分,但整体结构是确定性的且由开发者掌控。

YAML 工作流与节点设计

Archon 的工作流以 YAML 格式定义,存放于项目的.archon/workflows/目录下。每个工作流由多个节点(Node)组成,节点之间通过依赖关系形成有向无环图(DAG)。节点类型分为两类:确定性节点(bash 脚本、测试执行、Git 操作)和 AI 节点(规划、代码生成、代码审查)。这种混合设计确保 AI 仅在其真正产生价值的环节介入,而将可预测的任务交给确定性代码执行。

一个典型的功能开发工作流可能包含以下节点序列:首先是一个规划节点(plan),AI 探索代码库并创建实现计划;然后是实现节点(implement),在一个循环中迭代执行直至所有任务完成;接着是测试节点(run-tests),通过 Bun 运行验证命令;之后是审查节点(review),AI 对照计划审查所有变更;随后是审批节点(approve),等待人工反馈;最后是创建 PR 节点(create-push),推送变更并创建拉取请求。每个节点可以配置循环条件(如ALL_TASKS_COMPLETEAPPROVED)、是否使用新鲜上下文(fresh_context)、是否为交互式(interactive)等参数。

隔离执行环境:Git Worktree 的力量

Archon 的另一项核心设计是执行隔离。每个工作流运行都在独立的 Git Worktree 中进行,这意味着可以并行启动 5 个修复任务而不会产生任何冲突。这一设计从根本上解决了多任务并行执行时的状态污染问题。在传统 CI/CD 流程中,并行任务通常需要复杂的容器隔离配置;而 Archon 利用 Git 原生的 Worktree 机制,以极低的开销实现了任务级别的隔离。

工作流的执行是「触发即忘」(Fire and Forget)模式:开发者发起一个工作流后可以去处理其他任务,工作流会在后台自动执行,最终返回一个包含审查意见的完整 PR。这种模式极大地提升了开发效率,将人类开发者从重复性的流程追踪中解放出来。

预置工作流与可扩展性

Archon 开箱即用提供了 17 个预置工作流,覆盖了常见的开发场景:archon-fix-github-issue处理从 issue 分类到 PR 创建的完整流程;archon-idea-to-pr从功能想法出发,经过规划、实现、验证、PR 创建和 5 个并行审查;archon-smart-pr-review根据 PR 复杂度分类并运行针对性的审查代理;archon-resolve-conflicts检测合并冲突、分析双方变更、解决并验证。这些工作流既可以直接使用,也可以作为模板进行定制。

工作流的可移植性体现在:定义一次工作流后,可以提交到项目的.archon/workflows/目录中,团队成员从 CLI、Web UI、Slack、Telegram 或 GitHub 等任何平台都能以相同的方式执行。相同的流程定义确保了团队内部的开发标准统一。

技术架构概览

Archon 的架构分为四层。最上层是平台适配器,包括 Web UI、CLI、Telegram、Slack、Discord 和 GitHub Webhooks 等接入方式;第二层是编排器(Orchestrator),负责消息路由和上下文管理;第三层包含命令处理器(Slash 命令)、工作流执行器(YAML 解释)和 AI 助手客户端(Claude/Codex);底层是 SQLite 或 PostgreSQL 数据库,包含 7 张表存储代码库、会话、工作流运行、隔离环境、消息和工作流事件等数据。

这种分层架构使得 Archon 可以独立扩展接入渠道,而不影响核心执行逻辑。工作流执行器作为架构的核心组件,负责解析 YAML 定义、管理节点依赖、控制循环逻辑并与 AI 客户端交互。

实践建议与监控要点

在生产环境中部署 Archon 时,有几个关键参数值得关注。首先是工作流超时设置:建议根据任务复杂度为不同节点设置差异化的超时策略,规划节点可设置较长超时(30 分钟),而确定性测试节点应设置较短超时(5 分钟)以快速失败。其次是并发控制:虽然 Git Worktree 提供了隔离,但建议将并发工作流数量限制在 CPU 核心数的 50% 以内,以避免资源竞争。第三是验证门禁设计:每个工作流应在关键节点设置验证门禁(如测试通过、代码审查通过),只有通过验证才能进入下一阶段。

监控层面应关注工作流成功率、平均执行时间、节点失败分布和 AI token 消耗等指标。Archon 的 Dashboard 提供了任务状态的实时监控能力,可以按项目、状态和时间筛选历史工作流。这些数据对于持续优化工作流定义和 AI 提示词至关重要。

与传统评测 Harness 的差异

传统 AI 代码评测 Harness(如 SWE-bench)侧重于在固定数据集上评估模型解决软件工程问题的能力,关注的是模型本身的性能指标。而 Archon 作为 Harness Builder,聚焦于构建可定制的工作流框架,让团队能够定义自己的开发流程并对其进行持续评测。换言之,SWE-bench 是「考卷」,Archon 是「考场管理系统的框架」—— 它不关心具体考什么,但确保考试过程公平、可重复、可监控。

这种定位使 Archon 特别适合需要建立内部 AI 开发标准的组织。团队可以将既有的开发规范编码为工作流,然后对不同 AI 模型或同一模型的不同配置进行 A/B 测试,持续优化流程效率。


资料来源:本文技术细节主要参考 Archon 官方 GitHub 仓库(coleam00/Archon)及文档站点(archon.diy)。