跳转到内容
全部开发指南

AI 编程每次结果都不一样?用 Archon 的 YAML 工作流把流程固定下来

AIGoCode发布于 更新于

AI 编程每次结果都不一样?用 Archon 的 YAML 工作流把流程固定下来 封面

让 AI 编程助手修一个 bug,结果常常看运气:有时它先读代码再动手,有时直接改了再说;有时跑了测试,有时跳过;PR 描述也未必照着团队模板写。同一个 prompt 跑五次,可能得到五种做法。

Archon 想解决的就是这件事。它是一个给 AI 编程 Agent 用的开源工作流引擎,用 YAML 把开发流程写下来:先规划、再实现、跑校验、做审查、开 PR。AI 在每一步里负责需要判断和创造的部分,但步骤的顺序和关卡由你决定。

这篇适合已经在用 Claude Code 或 Codex、想让 AI 编程结果更稳定、也想把团队开发规范固化下来的开发者。下面依次讲 Archon 是什么、一个 YAML 工作流长什么样、两类节点怎么分工、内置工作流和 worktree 隔离,以及安装使用和需要注意的地方。

Archon 原文配图 1

Archon 是什么:给 AI 编程加一层确定的流程

Archon 的定位是「AI 编程 Agent 的工作流引擎」。官方的比喻很好懂:Dockerfile 让基础设施可重复,GitHub Actions 让 CI/CD 可重复,Archon 想让 AI 编程的流程可重复。

它不去改善模型本身的稳定性,而是在 AI 外面套一层确定的框架:该读代码就必须读,该跑测试就必须跑,该等人审批就必须等。AI 在框架里发挥,框架本身是固定的。项目采用 MIT 许可证,截至 2026 年 10 月,GitHub star 数已超过 2 万。

Archon YAML 工作流长什么样

下面是官方 README 里的示例工作流 build-feature(按项目当前版本整理,审批节点的写法和早期版本不同):

# .archon/workflows/build-feature.yaml
nodes:
  - id: plan
    prompt: "Explore the codebase and create an implementation plan"

  - id: implement
    depends_on: [plan]
    loop:                                      # AI loop - iterate until done
      prompt: "Read the plan. Implement the next task. Run validation."
      until: ALL_TASKS_COMPLETE
      fresh_context: true                      # Fresh session each iteration

  - id: run-tests
    depends_on: [implement]
    bash: "bun run validate"                   # Deterministic - no AI

  - id: review
    depends_on: [run-tests]
    prompt: "Review all changes against the plan. Fix any issues."

  - id: approve
    depends_on: [review]
    loop_group:                                # Repeat until approved
      max_iterations: 5
      until_bash: 'decision=$ask.output.decision; [ "$decision" = approve ]'
      nodes:
        - id: revise
          prompt: "Address this feedback, if any: $LOOP_PREV.ask.output.text"
        - id: ask
          depends_on: [revise]
          wait:                                # Pauses until you approve or reject
            attention: "Review the changes. Approve, or reject with what to change."
            form: approval

  - id: create-pr
    depends_on: [approve]
    prompt: "Push changes and create a pull request"

依赖关系一眼能看清:

  • plan 完成后才进入 implement;
  • implement 是一个循环,直到所有任务完成,fresh_context: true 让每轮迭代都开新会话,避免上一轮的上下文越积越乱;
  • run-tests 是纯 bash 节点,跑的是你自己的测试脚本,不是 AI 说「测试通过了」就算通过;
  • review 之后是人工审批:ask 节点暂停等你批准或驳回,驳回意见会交给 revise 节点修改,最多来回 5 轮;
  • 批准后才执行 create-pr。

Archon 原文配图 2

两类节点:AI 节点和确定性节点

Archon 设计里最值得借鉴的一点,是把工作流拆成两类节点:

节点类型写法适合做什么
AI 节点prompt规划改动、生成代码、审查改动等需要判断的工作
确定性节点bash 等跑测试、lint、git 操作等结果必须确定的工作

很多 AI 编程工具把所有事情都交给 AI 决定,包括要不要跑测试、要不要看相关文件。Archon 的思路相反:流程由人定义,AI 只在需要它的环节介入。这和在 Claude Code 里先写测试、再让 Agent 去让测试变绿的做法是一个方向,可以参考 Agentic Engineering 怎么落地?Simon Willison 的 Claude Code 子 Agent 与 TDD 用法。

Archon 原文配图 3

内置工作流:从 17 个旧模板换成 sdlc 工作流包

原文写的是 Archon 自带 17 个工作流(如 archon-fix-github-issue、archon-idea-to-pr、archon-smart-pr-review)。项目现在已经调整:这些旧的 archon-* 工作流不再随版本发布,取而代之的是一个覆盖软件开发生命周期的 sdlc 工作流包:

工作流做什么
archon-ship从 issue 或需求出发:分诊 → 调查或规划 → 交付一个审查过的 PR
archon-triage对照当前代码检查 issue,判断下一步需要什么
archon-investigate查清 bug 或问题的根因并写报告
archon-plan把已确定的需求变成可执行的计划
archon-implement实现到项目自己的检查全部通过,只提交不开 PR
archon-pr为当前分支上已提交的改动开 PR
archon-deliver实现 → 草稿 PR → 审查 → 修复 → 校验 → CI → 待审
archon-review用多个并行的专项视角审查 PR 或当前改动
archon-validate跑项目自己的检查并给出结构化结论
archon-upkeep按审查流程更新一个依赖

用 archon workflow list 可以查看;也可以直接描述需求,由路由自动挑选合适的工作流。还想用旧工作流的,官方说明可以从 v0.11.1 版本的 .archon/workflows/defaults/ 里复制到自己项目。

自定义工作流同样放在仓库的 .archon/workflows/ 下,提交后整个团队跑同一套流程;与内置工作流同名的文件会覆盖默认版本。新人不用先读十页流程文档,工作流文件本身就是标准流程。

每个任务独立的 git worktree

让 AI 同时改几处代码,常见问题是互相踩脚。Archon 可以让仓库工作流运行在独立的 git worktree 里(也可以复用已有的 worktree):独立分支、独立工作目录,几个任务并行跑,互不干扰,做完各自开 PR,到 GitHub 上审查即可。

这也是官方说的「fire and forget」:启动一个工作流去做别的事,回来时 PR 已经开好,并附带审查意见。

Archon 原文配图 4

Archon 安装与使用

官方给了两条路:完整安装(带设置向导和 Web 控制台),或者只装 CLI。

完整安装需要先准备 Bun、GitHub CLI 和 Claude Code,然后:

git clone https://github.com/coleam00/Archon
cd Archon
bun install
claude

在 Claude Code 里说「Set up Archon」,向导会带你完成 CLI 安装、凭据配置、平台选择,并把 Archon 的 Skill 复制到目标项目。

只装 CLI(已经装好 Claude Code 的情况):

# macOS / Linux
curl -fsSL https://archon.diy/install | bash

# 或者 Homebrew
brew install coleam00/archon/archon

二进制版本不自带 AI 提供方:快速安装脚本会询问装 Claude、Codex 还是 Pi;用 Homebrew 安装后,需要运行 archon setup 或 archon provider add <claude|codex|pi> 添加。使用 Claude 时还需要另外装好 Claude Code。

装好后,在你的项目目录里启动 Claude Code,直接用自然语言调用:

cd /path/to/your/project
claude
Use archon to fix issue #42
What archon workflows do I have? When would I use each one?

注意要在目标项目里启动 Claude Code,而不是在 Archon 仓库里。需要图形界面时运行 archon serve 打开 Web 控制台,可以查看运行记录、事件日志和工作流图。想远程触发,还可以接入 Telegram、Slack、Discord 或 GitHub Webhooks。

使用 Archon 前要注意的地方

  • x64 机器的兼容性:macOS/Linux 快速安装在 x64 上需要 CPU 支持 AVX2,不支持的需要从源码安装;ARM64 不受影响。
  • 匿名统计:Archon 默认会发送匿名使用事件(工作流名称仅限内置工作流、运行结果等,官方说明不含个人信息和提示词内容),可以设置 DO_NOT_TRACK=1 关闭,用 archon telemetry status 查看当前状态。
  • 流程定得越细,越要维护:工作流固定的是步骤,不是质量。测试脚本本身不可靠,run-tests 节点也只能如实反映这一点。
  • 版本变化较快:内置工作流和节点写法在近几个月都改过,按官方文档的当前版本为准。

总结

AI 编程结果不稳定,大多数人的应对办法是多跑几次挑最好的。Archon 换了个思路:把「先规划、再实现、必须跑测试、必须人工批准」写进 YAML,让 AI 只在需要智能的步骤里发挥。

如果你的团队已经有比较明确的开发规范,先从内置的 archon-ship 或 archon-review 试起,再把自己的流程写成工作流提交到仓库,比反复调 prompt 更省心。

想在自己的项目里跑这类工作流,可以在 AIGoCode 上直接使用 Claude Code 和 Codex。

参考链接

AI 编程每次结果都不一样?用 Archon 的 YAML 工作流把流程固定下来