“为学日益,为道日损。” — 《道德经》

首图

做 AI 编程自动化的,迟早会撞上这堵墙:

为什么同样的指令,AI 有时做得完美,有时却一塌糊涂?

今天我们来深度解析一个特殊的项目 —— Archon(16.8k stars,2025 年 2 月创建)。

它不是又一个 AI Agent 框架,也不是 Claude Code 的包装器。

它是一个工作流引擎,目标是让 AI 编程变得可重复、可预测、可交付


一、Archon 是什么

1.1 官方定位

The first open-source harness builder for AI coding.
Make AI coding deterministic and repeatable.

翻译过来:

Archon 是第一个开源的 AI 编程 harness 构建器。 让 AI 编程变得确定性和可重复。

1.2 类比理解

README 里有个精妙的类比:

Like what Dockerfiles did for infrastructure and GitHub Actions did for CI/CD - Archon does for AI coding workflows. Think n8n, but for software development.

翻译:

  • Dockerfiles 定义了基础设施的构建流程
  • GitHub Actions 定义了 CI/CD 的执行流程
  • Archon 定义了 AI 编程的工作流程

就像 n8n 用于自动化工作流,但 Archon 专为软件开发设计。


二、核心问题:AI 编程的”不确定性”

2.1 常规玩法的问题

当你让 AI Agent”修复这个 bug”时,会发生什么?

完全取决于 AI 的”心情”

  • 有时它会先做规划,有时直接开写
  • 有时会运行测试,有时忘记验证
  • 有时写的 PR 描述符合模板,有时完全忽略

每次运行都不一样。

这就是 AI 编程的根本问题 —— 不可预测性

2.2 现有解决方案的局限

方案 A:Prompt 工程

  • 写超长的系统提示,规定每一步该做什么
  • 问题:AI 仍然可能”忘记”或”跳过”步骤

方案 B:多 Agent 协作

  • 规划 Agent、编码 Agent、测试 Agent 各司其职
  • 问题:协调成本高,仍然缺乏确定性

方案 C:人工监督

  • 每一步都人工检查确认
  • 问题:失去了自动化的意义

Archon 选择了第四条路


三、Archon 的解决方案:工作流引擎

3.1 核心理念

把开发流程编码为 YAML 工作流。

工作流定义:

  • 阶段(planning, implementation, validation, review)
  • 验证关卡(tests must pass, human approval required)
  • 产出物(PR description, test results, code diff)

AI 只在需要智能的地方填充内容,流程结构由你完全控制。

3.2 工作流示例

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

  - id: implement
    depends_on: [plan]
    loop:                                      # AI 循环 - 迭代直到完成
      prompt: "Read the plan. Implement the next task. Run validation."
      until: ALL_TASKS_COMPLETE
      fresh_context: true                      # 每次迭代用新会话

  - id: run-tests
    depends_on: [implement]
    bash: "bun run validate"                   # 确定性步骤 - 不用 AI

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

  - id: approve
    depends_on: [review]
    loop:                                      # 人工审批关卡
      prompt: "Present the changes for review. Address any feedback."
      until: APPROVED
      interactive: true                        # 暂停等待人工输入

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

3.3 执行效果

用户输入:

Use archon to add dark mode to the settings page

Archon 执行:

→ 创建隔离工作树(分支:archon/task-dark-mode)
→ 规划阶段...
→ 实现阶段(任务 1/4)...
→ 实现阶段(任务 2/4)...
→ 测试失败 - 迭代中...
→ 测试通过(2 次迭代后)
→ 代码审查完成 - 0 个问题
→ PR 就绪:https://github.com/you/project/pull/47

四、Archon 的特殊之处

4.1 与常规 Agent 框架的对比

维度 常规 Agent 框架 Archon
控制方式 Prompt 约束 YAML 工作流定义
执行确定性 低(依赖 AI 发挥) 高(流程固定)
迭代机制 单次执行或手动重试 内置 loop 直到条件满足
人工介入 全程监督或完全放手 可定义审批关卡(interactive)
隔离性 共享工作区 每运行一次一个 git worktree
可组合性 有限 混合 AI 节点和确定性节点(bash/tests)

4.2 五大核心特性

1. 可重复(Repeatable)

同一工作流,同一顺序,每次都一样。

规划 → 实现 → 验证 → 审查 → PR

不会因为 AI 的”心情”而跳过任何步骤。

2. 隔离(Isolated)

每次运行都有独立的 git worktree。

可以并行运行 5 个修复,互不干扰。

3. 即发即忘(Fire and forget)

启动工作流,去做别的事。

回来时已经有一个带审查意见的完成 PR。

4. 可组合(Composable)

混合确定性节点和 AI 节点:

- id: run-tests
  bash: "bun run validate"    # 确定性 - 不用 AI

- id: review
  prompt: "Review changes"    # AI - 智能审查

AI 只在能增加价值的地方运行。

5. 可移植(Portable)

工作流定义在 .archon/workflows/,提交到仓库。

从 CLI、Web UI、Slack、Telegram、GitHub 都能用,行为一致。


五、技术架构

5.1 核心组件

┌─────────────────────────────────────────────────────┐
│                   Archon CLI                         │
│                   (Bun/TypeScript)                   │
└─────────────────────────────────────────────────────┘
                          │
        ┌─────────────────┼─────────────────┐
        │                 │                 │
        ▼                 ▼                 ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│  Workflow     │ │  Worktree     │ │  Platform     │
│  Engine       │ │  Manager      │ │  Integrations │
└───────────────┘ └───────────────┘ └───────────────┘
        │                 │                 │
        │                 │                 └── Claude Code
        │                 │                 └── GitHub CLI
        │                 │                 └── Slack/Telegram
        │                 │
        │                 └── 隔离执行环境
        │
        └── YAML 解析 + 节点调度

5.2 节点类型

AI 节点

- id: plan
  prompt: "Explore and create plan"

确定性节点

- id: run-tests
  bash: "bun run validate"

混合节点

- id: implement
  loop:
    prompt: "Implement next task"
    until: ALL_TASKS_COMPLETE
    bash: "bun run test"          # 每次迭代后运行

5.3 会话管理

关键特性:fresh_context

- id: implement
  loop:
    fresh_context: true    # 每次迭代用新会话

为什么重要?

AI 在长对话中会”忘记”早期指令,或被错误信息污染。

每次迭代用新会话,保持”头脑清醒”。


六、使用场景

6.1 适合的场景

重复性开发任务

  • 功能开发(按固定流程:规划→实现→测试→PR)
  • Bug 修复(复现→定位→修复→验证)
  • 代码重构(分析→重构→测试→对比)

需要审批的流程

  • 生产部署(自动执行 + 人工审批关卡)
  • 敏感修改(数据库变更、API 破坏性更新)

团队协作

  • 统一开发流程(新人也能按标准流程执行)
  • 知识沉淀(最佳实践编码为工作流)

6.2 不适合的场景

探索性任务

  • 技术调研(没有固定流程)
  • 原型设计(需要灵活试错)

一次性任务

  • 简单修改(直接让 AI 做更快)
  • 临时脚本(不需要工作流开销)

七、与竞品的本质差异

7.1 vs Cursor/Claude Code 原生

维度 Cursor/Claude Code Archon
定位 AI 编程助手 工作流引擎
确定性 低(每次对话不同) 高(流程固定)
适用场景 探索性/临时任务 重复性/标准化任务
学习成本 低(直接对话) 中(需定义工作流)
规模效应 弱(依赖个人能力) 强(流程可复制)

Archon 不是替代品,是补充层。

用 Claude Code 做探索,用 Archon 做交付。

7.2 vs AutoGen/CrewAI 等 Agent 框架

维度 AutoGen/CrewAI Archon
抽象层级 Agent 协作 工作流编排
配置方式 Python 代码 YAML 声明式
确定性 中(依赖 Agent 设计) 高(流程固定)
集成难度 高(需编写 Agent) 低(定义 Prompt)
目标用户 AI 开发者 软件开发者

Archon 更贴近软件开发者的思维模式。

不需要理解”Agent 协作”,只需要定义”开发流程”。

7.3 vs GitHub Actions

维度 GitHub Actions Archon
触发时机 代码推送/定时 用户指令
执行内容 CI/CD 脚本 AI + 脚本混合
智能程度 无(纯脚本) 有(AI 节点)
适用场景 自动化测试/部署 自动化开发

Archon 是”AI 时代的 GitHub Actions”。


八、局限性

8.1 学习曲线

需要学习:

  • YAML 工作流语法
  • Archon 节点类型和参数
  • 如何平衡 AI 和确定性节点

前期投入较大,但一次定义多次受益。

8.2 灵活性限制

工作流定义后,执行顺序固定。

对于需要灵活调整的任务,可能显得僵化。

解决方案:定义多个工作流,按场景选择。

8.3 生态依赖

强依赖:

  • Claude Code(主要 AI 执行引擎)
  • GitHub CLI(代码托管集成)
  • Bun(运行时)

如果这些工具变化,Archon 需要适配。


九、总结

Archon 的特殊之处在于:

它不试图让 AI 更聪明,而是让 AI 的输出更可靠。

这不是一个技术问题,是一个工程问题。

就像:

  • 我们不需要更聪明的编译器,需要可预测的构建系统
  • 我们不需要更聪明的测试工具,需要可重复的 CI/CD
  • 我们不需要更聪明的 AI,需要可交付的工作流

Archon 是 AI 编程从”玩具”走向”工程”的基础设施。

它可能不是最性感的 AI 项目,但可能是最实用的之一。

开源仓库见 Archon on GitHub(约 16.8k stars,2025-02 创建,MIT,TypeScript + Bun),文档站点 archon.diy。数据为撰文时检索,以后以仓库为准。

璞奇启示

  1. Archon 把不确定的模型输出收进可重复的工作流,学习侧同理,可重复的练习系统比依赖当天状态更可靠。
  2. 把「最佳实践」写成 YAML 与把有效学习路径做成可执行的练习模板,都是流程即知识
  3. 关键节点保留人工审批(interactive)比追求全自动化更贴近真实提效,重复劳动交给 AI,关键决策留给人