산타 Augmentcode Intent Ep.4

발행: (2026년 3월 23일 PM 09:31 GMT+9)
12 분 소요
원문: Dev.to

Source: Dev.to

문제

초기 워크숍 시절, 모든 요정들은 하나의 큰 테이블을 공유했습니다. 효율적인 것처럼 보였지만—그렇지 않았습니다.

  • 징글이 바퀴를 갈고 있었을 때, 잔글이 그 바퀴를 잡으려 했습니다.
  • 트윙클의 페인트가 틱클의 기차 세트에 묻어버렸습니다.
  • 위대한 1889년 크리스마스 충돌 (말하고 싶지 않습니다).

돌이켜보면 해결책은 명확했습니다: 각 요정에게 자신만의 작업대—격리되고, 개인적이지만 같은 마스터 선물 목록에 연결된 것을 제공하는 것이었습니다.

Augment Intent도 같은 일을 합니다. 단지 워크스페이스라고 부릅니다.

여러 에이전트(또는 여러 사람)가 동시에 같은 파일 집합을 작업하면 충돌은 피할 수 없습니다.

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

두 에이전트 모두 상대가 존재한다는 것을 알지 못하므로 병합 충돌이 발생합니다.
이 충돌은 어느 에이전트의 논리 오류가 아니라 조정 실패—격리의 부재입니다.

Why Git’s Classic Workflow Falls Short

Git주로 순차적으로 작업하는 인간을 위해 설계되었습니다:

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

브랜치를 만들고 며칠 또는 몇 주 동안 작업한 뒤 병합합니다. 여기서 전제하는 바는 변화 속도가 인간 중심이라는 점입니다.

AI 에이전트는 인간 중심이 아닙니다. 이들은 몇 분 안에 수십 개의 파일을 수정할 수 있습니다. 병렬 다중 에이전트 실행 하에서는 충돌 발생 비율이 어느 팀이 수동으로 관리할 수 있는 수준보다 훨씬 빠르게 상승합니다.

Worktrees: Git의 내장 격리

IntentGit worktrees를 기반으로 한 격리된 작업 공간으로 이를 해결합니다.

worktree는 잘 알려지지 않은 Git 기능으로, 동일 저장소의 여러 브랜치를 동시에 각각 별도의 디렉터리에서 체크아웃할 수 있게 해줍니다.

  • 저장소의 객체 스토어를 공유하므로 데이터가 중복되지 않습니다.
  • 각 worktree는 자체 작업 트리와 인덱스를 가집니다.
# 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는 이 모든 과정을 자동화합니다. CoordinatorSpecialist를 생성하면, Intent는 해당 에이전트를 위해 전용 worktree를 자동으로 만듭니다. 엘프는 자신만의 작업대를 갖게 되고, 다른 엘프는 진행 중인 파일을 볼 수 없습니다. 파일은 Coordinator가 작업을 통합할 때까지 격리된 상태를 유지합니다.

Example: Three Specialist Agents

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)

각 워크트리는 엘프가 시작되는 시점에 해당 파일들의 복사본을 포함합니다.

auth-service/src/token-service.ts에서 Auth Token Elf가 만든 변경 사항은 Gateway Middleware Elf에게 명시적으로 통합될 때까지 보이지 않습니다—우발적인 덮어쓰기나 파일 쓰기 경쟁 상황이 없습니다.

코디네이터는 각 워크트리의 상태를 추적합니다. 두 구현 엘프가 모두 작업을 마치면, 코디네이터는 병합을 조정합니다—충돌을 스펙 수준에서 해결합니다(인터페이스 계약이 그곳에 선언되었기 때문에), 파일 수준에서 발견하는 것이 아니라.

시간 격리

산타클로스도 시간 격리를 중요하게 생각합니다: 밤에 작업장을 닫고 아침에 그대로 남겨두었던 상태를 찾을 수 있는 능력.

대부분의 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일에 돌아와서, 모든 요정이 작업대에서 선물을 반쯤 포장한 채 그대로 남겨둔 상태를 찾는 것을 의미합니다. 작업장은 절대 잊지 않습니다.

One‑Window Experience

Isolation은 분산을 의미하지 않습니다. Intent는 모든 것을 한 창에 표시합니다:

  • Code editor – 활성 에이전트의 파일을 보여줍니다.
  • Built‑in Chrome browserlocalhost 변경 사항을 실시간으로 미리 봅니다.
  • Terminal – 빌드, 테스트 및 스크립트를 실행합니다.
  • Git integration – 스테이징, 커밋 및 브랜치 관리를 처리합니다.

VS Code, iTerm, Chrome, SourceTree를 오갈 필요가 없습니다. 워크숍 플로어는 모든 것이 한 방에 있는 하나의 방입니다.

이는 에이전트 작업에 중요합니다. 에이전트는 결과를 즉시 확인해야 하기 때문입니다. React 컴포넌트를 수정하는 Specialist는 같은 창에서 브라우저 미리 보기를 열어 렌더링을 확인하고, 커밋하거나 조정할 수 있습니다—인간에게 검토를 넘겨줄 필요 없이.

SIPOC 개요

S – SuppliersI – InputsP – ProcessO – OutputsC – Customers
코디네이터, Git 저장소, 파일 시스템작업 할당, 브랜치 이름, 시작 파일 상태코디네이터가 에이전트를 생성 → Intent가 워크트리를 생성 → 에이전트가 격리된 환경에서 작업 → 자동 커밋이 진행 상황을 저장 → 코디네이터가 완료 시 통합에이전트당 격리된 브랜치, 충돌 없음, 재개 가능한 상태코디네이터, 개발자, CI/CD 파이프라인

워크숍 비유

요소비유
Father Christmas주요 장난감 금고
Elf assignment작업대 재료
Process산타가 작업대를 할당 → 엘프가 개인 재료를 받음 → 방해 없이 작업 → 선물을 안전하게 보관 → 산타가 통합

끝에서

충돌 없음, 깨진 선물 없음, 언제든 재개 가능
품질 관리, 수석 요정 페퍼, 스라이트

산타클로스는 작업대에 대해 하나의 확고한 규칙을 가지고 있습니다: 요정의 작업은 완료되고 검증될 때까지 그들의 작업대에 남아 있습니다. 조기 병합은 반쯤 만든 장난감이 메인 인벤토리에 나타나 다른 요정들을 혼란스럽게 합니다.

의도 측면에서

Coordinator는 전문가의 브랜치를 다음 조건이 모두 충족될 때까지 병합해서는 안 됩니다:

  1. 전문가가 완료를 보고했을 때.
  2. 검증 에이전트가 사양 준수를 확인했을 때.
  3. 다른 요정들과의 인터페이스 계약이 지켜졌을 때.

사양은 체크리스트입니다. 모든 항목에 체크가 되면 병합은 안전합니다.

Episode 5에서 산타클로스는 Spec‑Driven Development(사양 주도 개발)를 설명할 것입니다 — 살아있는 사양을 워크플로의 중심에 두고 모든 것이 크리스마스에 맞춰 완료되도록 보장하는 철학적 전환입니다. 이것이 지금까지 우리가 구축해 온 모든 것의 이유입니다.

정돈된 작업대는 조직된 마음의 표시이며, 조직된 작업장은 선물이 제때 도착한다는 표시입니다.

호 호 호! 🎅

Santa Augmentcode Intent 시리즈의 일부. dev.to 에서 the‑software‑s‑journey 조직 아래에 게시되었습니다.

0 조회
Back to Blog

관련 글

더 보기 »

프로그래밍 동시성

!프로그램 동시성 커버 이미지 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads...