Santa Augmentcode Intent 第4集

发布: (2026年3月23日 GMT+8 20:31)
9 分钟阅读
原文: Dev.to

Source: Dev.to

问题

在早期的 Workshop 时期,所有精灵共享一张大桌子。它 看似 高效——直到并非如此。

  • Jingle 正在打磨一个轮子,Jangle 正好伸手去拿。
  • Twinkle 的油漆弄到了 Tinkle 的火车模型上。
  • 那场伟大的 1889 年圣诞碰撞(我不想提起)。

事后看来,解决方案显而易见:给每个精灵一张自己的工作台——隔离、私有,但仍连接到同一份主礼物清单

Augment Intent 做的事情相同,只是把它们称为 工作区

当多个代理(或多个人类)同时在同一套文件上工作时,冲突是不可避免的。

Agent A modifies auth-middleware.ts at line 47
Agent B modifies the same file at line 52

两个代理都不知道对方的存在,于是出现了合并冲突。
冲突并不是任一代理推理的错误;它是 协调失效——缺乏隔离。

为什么 Git 的经典工作流不足

Git 设计用于人类主要串行工作:

# Classic git workflow (one checkout)
git checkout feat/jwt-auth
# … work, commit, push

一个分支被打开,工作数天或数周,然后合并。假设变更的节奏是人类节奏

AI 代理不是人类节奏。它们可以在几分钟内修改数十个文件。在并行多代理执行下,冲突率上升得比任何团队手动管理的速度都快。

工作树:Git 的内置隔离

Intent 通过 Git 工作树 实现了这种隔离工作区。

工作树(worktree)是 Git 的一个不太为人所知的特性,允许你 同时检出同一仓库的多个分支,每个分支都有自己的目录。

  • 它们共享仓库的对象存储(没有重复的数据)。
  • 每个工作树都有自己的工作目录和索引。
# Git worktree (multiple simultaneous checkouts)
git worktree add ../api-gateway-worktree   feat/jwt-auth
git worktree add ../auth-service-worktree  feat/auth-service
# Both directories exist simultaneously, sharing one .git object store

Intent 会自动完成上述全部操作。当 Coordinator 启动一个 Specialist 时,Intent 会为该代理自动创建一个专用的工作树。精灵拥有自己的工作台;其他精灵看不到其进行中的文件。文件保持隔离,直到 Coordinator 将工作合并。

示例:三位专职精灵

Workshop Floor
├── Auth Token Elf          → worktree: feat/auth-token-service
├── Gateway Middleware Elf → worktree: feat/gateway-middleware
└── Test Suite Elf         → worktree: feat/integration-tests (waiting)

每个 worktree 都包含在该精灵启动时对应文件的副本。

Auth Token Elfauth-service/src/token-service.ts 中所做的更改对 Gateway Middleware Elf 是不可见的,除非显式集成——不存在意外覆盖,也没有文件写入的竞争条件。

协调者会跟踪每个 worktree 的状态。当两个实现精灵都完成后,它会协调合并——在 规范层面 解决任何冲突(因为接口契约在此声明),而不是在文件层面才发现冲突。

时间隔离

圣诞老人同样重视 时间隔离:能够在夜间关闭车间,并在早晨发现它正如你离开时的样子。

在大多数 AI 工具中,关闭窗口就结束会话——上下文会丢失,代理会忘记之前的内容。

Intent 的工作空间是可恢复的。当你关闭应用程序并在第二天早上重新打开时,每个代理都正好停留在之前的位置。规范保持不变,工作树完好无损,进行中的提交也安全无虞。

工作原理: Intent 使用 自动提交——当代理完成工作单元时,它们的更改会自动提交到各自的分支。持久化状态就是 Git 历史本身,它能够在任何重启后仍然存在。

Intent workspace state on close:
├── spec: JWT auth — 6/9 tasks complete
├── Auth Token Elf: feat/auth-token-service — all commits saved
├── Gateway Middleware Elf: feat/gateway-middleware — all commits saved
└── Test Suite Elf: feat/integration-tests — waiting to start
Intent workspace state on reopen (next morning):
└── [identical to above — nothing lost]

对圣诞老人而言,这意味着在 12 月 23 日离开,24 日返回时,仍能看到每个小精灵在工作台前,手中的礼物半包装好,正如离开时的状态。车间从不遗忘。

单窗口体验

Isolation 并意味着碎片化。Intent 将所有内容显示在单个窗口中:

  • 代码编辑器 – 显示活动代理的文件。
  • 内置 Chrome 浏览器 – 实时预览 localhost 的更改。
  • 终端 – 运行构建、测试和脚本。
  • Git 集成 – 处理暂存、提交和分支管理。

您无需在 VS Code、iTerm、Chrome 和 SourceTree 之间切换。Workshop 的工作区就是一个包含所有工具的房间。

这对代理工作很重要,因为代理需要立即看到结果。修改 React 组件的专家可以在同一窗口打开浏览器预览,验证渲染效果,然后直接提交或调整——无需交给人工检查

SIPOC 概览

S – 供应商I – 输入P – 过程O – 输出C – 客户
协调者、Git 仓库、文件系统任务分配、分支名称、起始文件状态协调者生成代理 → Intent 创建工作树 → 代理在隔离环境中工作 → 自动提交保存进度 → 完成后协调者进行集成每个代理的独立分支,无冲突,可恢复的状态协调者、开发者、CI/CD 流水线

车间类比

元素类比
圣诞老人主要玩具库
精灵任务工作台材料
过程圣诞老人分配工作台 → 精灵获取私人材料 → 无中断地工作 → 礼物安全存放 → 圣诞老人整合

At End

没有冲突,没有损坏的礼物,始终可恢复
Quality Control, Head Elf Pepper, the Sleight

Father Christmas 对工作台有一条铁规:精灵的工作必须留在他们的工作台上,直到完成并经过验证。过早的合并会导致半成品玩具出现在主库存中,令其他精灵困惑。

用 Intent 表述

协调者 不应 合并专家的分支,除非满足以下条件:

  1. 专家已报告完成。
  2. 验证代理已确认符合规范。
  3. 与其他精灵的接口约定已得到遵守。

规范即检查清单。当所有项目都勾选后,合并才是安全的。

第 5 集 中,Father Christmas 将解释 Spec‑Driven Development —— 这一哲学转变把活的规范置于工作流的中心,并利用它确保一切在圣诞节前完成。这就是我们迄今为止所构建一切的 why

整洁的工作台是有序思维的标志,而有序的车间则意味着礼物准时送达。

Ho ho ho! 🎅

本篇是 Santa Augmentcode Intent 系列的一部分。发表于 dev.tothe‑software‑s‑journey 组织下。

0 浏览
Back to Blog

相关文章

阅读更多 »

编程并发

封面图片:Programing Concurrency https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads...