Loop Engineering에서 Graph Engineering으로: AIOS는 로컬 퍼스트 Agent Harness¶
빠른 답변: "Loop Engineering은 죽었다, Graph Engineering이 영원하다"는 거짓된 이분법입니다. Graph Engineering 실전 매뉴얼이 스스로 첫 번째 철칙으로 내세우는 것은——그래프를 짜기 전에 먼저 단일 루프 하나를 안정적으로 돌려라입니다. AIOS는 두 레이어를 모두 갖춘 드문 로컬 퍼스트 Agent Harness입니다. 루프 도구(검증기, 종료 조건, 상태 파일)와 그래프 구성 요소(노드, 엣지, 공유 상태, 실패 라우팅)가 모두 준비되어 있어, 먼저 단일 루프를 안정화하고 작업이 실제로 필요해질 때 루프들을 그래프로 연결할 수 있습니다.
2주 전의 화두는 Loop Engineering이었고, 이번 주는 Graph Engineering입니다. 벌써 옛 단어가 죽었다고 외치는 사람도 있습니다. 하지만 어느 편에 서기 전에, 그래프 실전 매뉴얼의 진짜 주장을 확인하세요. 가장 중요한 전제는——이미 안정적인 단일 루프를 가지고 있는가입니다. 없다면 그래프를 만들지 마세요. 그래프는 루프의 조직 방식이지, 루프의 대체재가 아닙니다.
바로 여기가 AIOS의 위치입니다. AIOS는 로컬 퍼스트 Agent Harness——기존 코딩 클라이언트(codex, claude, gemini, opencode, hermes, grok) 아래에 놓이는 레이어로, 먼저 단일 에이전트 루프를 신뢰할 수 있게 만들고, 그다음 많은 루프를 그래프로 연결하는 프리미티브를 제공합니다. 그리고 데이터는 머신 밖으로 나가지 않습니다.
레이어 1——루프 도구: 먼저 하나의 루프를 안정화하기¶
매뉴얼이 정리한, 2년간 멀티에이전트 협업의 지렛대는 다음 세 가지입니다: 더 나은 검증기, 더 안정적인 종료 조건, 더 깨끗한 상태 파일. AIOS가 그래프 이전에 먼저 단단히 만드는 것도 바로 이것들입니다.
| Graph Engineering 루프 도구 | AIOS가 제공하는 것 |
|---|---|
| 더 나은 검증기 | 증거 게이트——verification-before-completion, doctor 검사, 계약 검증이 있는 테스트 증거. 노드의 산출물은 에이전트가 "끝났다"고 말한다고 끝난 것이 아니라, 결정적 검사를 통과해야 합니다. |
| 안정적인 종료 조건 | Workflow Policy가 위험도에 따라 각 요청을 direct / guarded / planned으로 분류하고, aios plan auto-gate가 런타임에 경로를 선택합니다. 루프는 라우트 계약이 정한 지점에서 멈추지, 예산이 소진될 때까지 돌지 않습니다. |
| 더 깨끗한 상태 파일 | ContextDB가 프로젝트 기억(memo, checkpoint, 검색 가능 팩)을 디스크에 저장합니다. pull-based이므로 루프가 죽어도 세션 전체를 재생하지 않고 중단 지점에서 재개할 수 있습니다. |
여기에 aios harness run --objective "..." --worktree를 더하면, 중단에도 복구되는 장기 루프가 완성됩니다: 상태를 checkpoint하고, 마지막으로 수용된 증거부터 재개하며, 실행 중인 파일은 git worktree로 격리합니다.
이것이 "루프"의 절반이며, 대부분의 팀이 실제로 서 있는 자리이기도 합니다. 그들은 아직 그래프가 필요하지 않습니다——조용히 표류하지 않는 루프 하나가 필요합니다.
레이어 2——그래프 도구: 루프를 그래프로 연결하기¶
작업이 정말로 역할로 분해되고, 진짜 병렬 서브태스크나 실패 분기가 있을 때, AIOS는 Graph Engineering의 4가지 핵심 구성 요소를 직접 제공합니다. 오케스트레이션 프레임워크를 직접 만들 필요가 없습니다.
| Graph Engineering 구성 요소 | AIOS 대응물 |
|---|---|
| 노드——1노드 = 1루프, 계약 포함 | rex-harness 노드: 각 Capability가 Fact → Capability → Evidence 사이클을 실행하며 입출력에 경계가 있습니다. 스킬 자체도 계약을 가집니다. |
| 엣지——확인 결과로 라우팅, 감이 아님 | Workflow Policy 엣지: direct / guarded / planned 전환에 더해, aios plan auto-gate --dry-run이 구조화된 작업 설명에서 엣지를 선택합니다. |
| 공유 상태——모두가 읽고 쓰는 하나의 데이터 | ContextDB: 모든 노드가 같은 프로젝트 기억(memo, checkpoint, 검색 가능 팩)을 읽고 씁니다. 하류 노드가 소비하는 것은 상류 노드가 커밋한 필드입니다. |
| 실패 라우팅——재시도가 소진된 뒤 제어권은 어디로 | 증거 게이트와 종료 결정: 검증 실패는 명확한 blocked 결과가 되어 명시적으로 라우팅됩니다(재계획, 에스컬레이션, 중지). 조용한 무한 루프가 되지 않습니다. |
공짜로 얻는 토폴로지¶
실전 매뉴얼에서 가장 가치 있는 토폴로지는 AIOS에서는 개념이 아니라 명령어입니다.
- 팬아웃 / 팬인(
parallel()) →aios team 3:codex "...": N개의 독립 노드를 한 번에 파견하고, 배리어에서 대기한 뒤 전체 결과 집합을 수집하고 실패를 필터링합니다(여기서도.filter(Boolean)은 한 줄입니다). - 다이아몬드: 파견 → 환원 → 합성 → team 실행 후 증거 환원 병합 단계: HUD가 에이전트별 상태를 보고하고, 합성 노드는 수집된 증거만 봅니다. 모두의 전체 컨텍스트를 짊어지지 않습니다.
- 대항적 검증 → 증거 감사: doctor, 계약 테스트, 검증 게이트는 어떤 "완료" 주장이 받아들여지기 전에 그것을 반박하려 시도하는 것 자체가 목적입니다.
- 격리(
git worktree) →aios harness run --worktree: 병렬로 쓰는 에이전트는 각자 자신의 워크트리에서 작업해 서로를 밟지 않습니다. - 모델 계층화 →
model-router: 경계가 있고 반복적인 작업(추출, 분류)은 저렴한 계층으로, 합성 노드는 강한 모델 유지——토큰은 습관이 아니라 판단력을 따라 쓰입니다. - 동적 워크플로(모델이 그래프를 그리게 하기) →
aios plan auto-gate: 목표를 기술하면 런타임에 경로가 선택된 계획이 반환됩니다——매뉴얼의 "자기 라우팅" 단계입니다.
로컬 퍼스트가 해자¶
두 엔지니어링 스타일 모두 토큰과 컨텍스트를 소모합니다. AIOS는 루프도 그래프도 로컬에 유지합니다:
- 엔진 자체가 내 머신에서 실행(원격 에이전트 클라우드 없음);
- ContextDB 기억은 프로젝트 디렉터리에 남음;
- RTK / Caveman / Headroom이 프로세스 내·로컬에서 토큰 흐름을 압축;
- 브라우저와 프라이버시 가드도 로컬에서 실행.
그래프가 읽기 쉬운 이유는, 그것이 읽고 쓰는 상태가 눈에 보이는 곳——.aios/context-db/, memo, 증거 영수증——에 놓여 있고, 누군가의 원격 세션 로그 속에 있지 않기 때문입니다.
결론¶
Loop Engineering은 죽지 않았습니다. 그것은 Graph Engineering의 노드 정의가 되었습니다. 진짜 발전 경로는: 루프 하나를 안정화 → 계약 부여 → 조건부 엣지로 연결 → 상태 공유 → 실패 라우팅입니다. AIOS는 이 경로를 로컬 퍼스트 Agent Harness로 구현합니다: aios harness가 루프를, aios team과 aios plan auto-gate가 그래프를, ContextDB가 공유 상태를, 증거 게이트가 실패 라우팅을 담당하며, 모두 이미 사용 중인 코딩 클라이언트 아래에서 동작합니다.
아직 "불안정한 루프 하나" 단계라면 거기서 시작하세요: aios init --all, 그리고 aios doctor --native --verbose. 루프가 안정되면 그래프는 여전히 원래 자리에서 당신을 기다립니다.
FAQ¶
Loop Engineering은 죽었나요? 아닙니다——그것은 Graph Engineering의 노드 정의가 되었습니다. 그래프 실전 매뉴얼은 그래프를 짜기 전에 안정적인 단일 루프를 요구하며, AIOS는 바로 그 루프를 먼저 단단히 만듭니다(검증기, 종료 조건, 상태 파일).
그래프가 필요한가요? 작업이 명확한 역할로 분해되고, 진짜 병렬 서브태스크가 있으며, 실패 라우팅 비용을 감당할 수 있을 때만 필요합니다. 그렇지 않으면 안정적인 루프가 더 저렴하고 빠릅니다——게다가 AIOS는 두 레이어를 모두 제공합니다.
AIOS는 데이터를 클라우드로 보내나요? 아닙니다. 엔진, ContextDB 기억, 토큰 압축(RTK / Caveman / Headroom), 브라우저, 프라이버시 가드가 모두 로컬에서 동작하며, 데이터는 머신 밖으로 나가지 않습니다.
어떻게 시작하나요?
aios init --all을 실행한 뒤 aios doctor --native --verbose를 실행하세요. 먼저 안정적인 루프 하나로 시작하고(aios harness run --objective "..."), 작업이 실제로 분해되면 팀을 추가하세요(aios team). 전체 Graph Engineering 매핑은 아키텍처 문서를 참조하세요.