Ouroboros — 패러다임과 약점
Q00이 만든 한국 개발자 사례. 5 reference와 결정적으로 다른 위치 — meta-layer (Claude Code/Codex/OpenCode/Hermes 위에 얹는 Agent OS). "Stop prompting. Start specifying." — Karpathy retire 흐름의 한국 implementation. Python ≥3.12, MIT License, PyPI에
ouroboros-ai로 배포.
Ouroboros가 서있는 가정들
| 가정 | 표현 |
|---|---|
| AI coding의 bottleneck = output이 아니라 input | "It is not AI capability — it is human clarity" |
| Spec 부재가 진짜 문제 | "Stop prompting. Start specifying." (Karpathy retire 그대로) |
| Vague prompt → AI가 추측 → rework | Socratic interview로 code 전에 가정 노출 |
| Architecture drift는 spec 없어서 | Immutable seed spec이 intent를 lock |
| "Looks good"은 verification 아님 | 3-stage automated gate (Mechanical → Semantic → Multi-Model Consensus) |
| Harness는 runtime 위 layer다 | Claude Code/Codex/OpenCode/Hermes를 engine으로 다룸. 한 spec, 다른 engine |
| Math가 ready를 결정 | Ambiguity ≤0.2, Convergence ≥0.95 — 사람의 "준비됐다" 느낌이 아닌 수치 |
핵심: "Harness가 곧 product가 아니라, harness가 기존 runtime 위에 얹는 OS layer". Goose는 자체 runtime, Claude Code는 자체 product, Ouroboros는 그것들을 capability로 사용.
추상적 작동 구조
핵심 메커니즘 — 진화 loop:
Interview → Seed → Execute → Evaluate
↑ |
+----- Evolutionary Loop ----+
각 cycle은 반복이 아니라 진화. evaluation 결과가 다음 generation의 seed input.
수학적 gate:
- Ambiguity ≤0.2 (Goal 40% + Constraint 30% + Success 30%) → seed 생성 가능
- Convergence ≥0.95 (name overlap 50% + type match 30% + exact 20%) → loop 중단
Ralph 통합:
ooo ralph = Geoffrey Huntley의 Ralph Loop pattern을 세션 경계 넘어 실행. EventStore가 stateless step으로 lineage 재구성.
이 패러다임의 강점
- 명제의 정확함: AI coding bottleneck = input 부재라는 이미 산업 컨센서스에 정렬 (Karpathy retire, Matt thesis, Anthropic 입장 모두)
- Cross-runtime abstraction: Claude Code/Codex/OpenCode/Hermes를 interchangeable engine으로. 같은 spec, 다른 실행
- Socratic Interview: Matt의 grill-me와 같은 통찰을 PyPI 패키지로 implementation
- Ralph Loop 통합: 12% production pattern을 standard feature로 흡수
- 수학적 verification: "Looks good" 대신 Ambiguity score · Convergence similarity. Subjective 제거
- MCP-first: installer가 자동으로 MCP server 등록 → ecosystem 즉시 통합
- PAL Router: 1x/10x/30x cost tier 자동 escalation/downgrade — 학내 quota 환경과 정렬
- EventStore + replay: stateless step → resume 가능. Anthropic Virtualized Filesystem 패턴과 정렬
- Specification-first 철학의 implementation: "Stop prompting" 명제가 마케팅 카피가 아니라 실제 mechanism
- Plugin marketplace: Claude Code plugin으로 배포 (
claude plugin install ouroboros@ouroboros)
약점 — 어디서 균열이 보이는가
1. Meta-layer의 복잡도 추가
Ouroboros를 쓰면 Claude Code 위에 layer 하나 더. 사용자가:
- 두 가지 mental model (Claude Code + Ouroboros)
- 두 가지 명령 체계 (
claude ...+ooo ...) - 두 가지 config·debugging path
→ meta-layer 가치 > 학습 비용이어야 채택 가능. 학습 곡선 있음.
2. Python ≥3.12 stack lock
PyPI 패키지로만 배포. Rust/Go/Node 사용자는 추가 Python 환경 필요. Cold start 비용. 학내 학생이 Python 환경 setup 못 하면 진입 차단.
3. 수학적 gate가 학습 비용
Ambiguity 0.2·Convergence 0.95 같은 수치가 비개발자에겐 추상. "왜 0.19가 ready이고 0.21이 not ready인가"가 직관적이지 않음. 학내 segment의 비개발자에겐 진입 장벽.
4. Specification-first의 trade-off
매 작업마다 Socratic interview → seed → execute. 가벼운 throwaway 작업에는 over-engineering. vibe coding의 정반대 극에 있음.
Karpathy의 원래 vibe coding 정의: "forget that the code even exists" — 가벼운 prototyping에 fit. Ouroboros는 그 반대 — production-grade 작업에 fit. 학내 학생 작업 중 어느 비율이 production-grade인가가 매우 중요한 decision input.
5. 단일 maintainer 거버넌스
Q00 개인 maintainer. pi-mono와 같은 약점 (단일 maintainer = bus factor 1).
6. Benchmark 주장의 검증 어려움
사용자가 언급한 *"Claude plan보다 benchmark 우위"*는 공개 자료에서 직접 확인 어려움. 다만:
- "Claude Mythos (Claude Code 설정) 92.1% vs Codex CLI 77.3%" — harness 차이 16 percentage points (Mind Studio benchmark)
- "harness tuning matters as much as model quality" — 산업 명제
- → Ouroboros가 Claude Code 위에 얹은 결과는 plain Claude Code보다 좋을 가능성. 다만 Claude plan과 직접 비교는 부정확 (Ouroboros는 plan을 대체가 아니라 enhance)
7. 9 agents · Double Diamond · 5단계 cycle = cognitive load
Nine Minds (9 personas) + Interview/Seed/Execute/Evaluate/Evolve (5 phase) + Double Diamond (4 sub-phase) — 사용자가 모든 mechanism을 인지해야 왜 이 결과인지 이해 가능. deep module의 정반대.
이 약점들을 깨려는 흐름들 — meta-layer 카테고리
Ouroboros는 meta-layer Agent OS 카테고리의 한 사례. 같은 카테고리 다른 시도들:
A. AGENTS.md 표준화 운동
- agent definition을 표준으로
- Ouroboros의 seed.yaml과 같은 spec-first 정신
- vendor neutral
B. ACP (Agent Client Protocol)
- agent ↔ client 표준
- Ouroboros가 Claude Code/Codex 위에 layer 한 것과 비슷한 추상화
- 더 lightweight (protocol만)
C. Aider 외 spec-driven agent
- spec → code workflow
- 다만 vendor specific
D. Hermes (Ouroboros가 지원하는 runtime 중 하나)
- Ouroboros와 같이 spec-first 흐름
E. Anthropic Skills 패턴
- skill을 declarative spec으로
- Ouroboros의 seed와 비슷한 정신 (다만 더 작은 단위)
F. WebRL / AutoSkill (학술)
- spec → skill 자동 생성
- Ouroboros의 진화 loop와 같은 paradigm
→ Ouroboros는 meta-layer Agent OS 시도의 가장 완성된 사례. 다만 Python only + cognitive load 약점.
v1.0이 흡수할 인사이트
(코드가 아니라 철학 단위로)
- "Spec 부재가 bottleneck": input clarity가 핵심. 학내 segment에서 학생이 모호한 작업 요청을 자주 한다면, spec gate가 가치 있음
- 수학적 gate: subjective verification 대신 quantified gate. 12% production pattern의 automated evaluation과 정렬
- Cross-runtime abstraction: 사용자가 어느 runtime을 쓰든 같은 spec 사용. v1.0이 specific runtime에 lock 되지 않게 design
- PAL Router (cost tier): 학내 quota 환경에 결정적. cheap model 우선, 실패 시 escalate 패턴은 v0.x에서 채택 가치
- Ralph Loop를 standard feature로: 12% pattern 흡수. v1.0의 resume-able stateless step
- Specification-first + Socratic interview: Matt의 grill-me 패턴과 정렬. v0.5 skill로 채택
- Plugin marketplace 형식:
claude plugin install같은 config 한 줄 진입
v1.0이 다르게 갈 가설
- Layer 갯수 줄이기: Ouroboros의 9 agents + 5 phase + Double Diamond는 deep module의 반대. v1.0은 surface 작게
- Cognitive load 낮추기: 수학적 gate는 background에서 작동, 사용자에겐 직관 표시 (Ousterhout의 information hiding)
- Rust 단일 binary: Python 의존성 회피
- Specification-first의 옵션화: 가벼운 작업은 spec 없이, production-grade는 spec 강제. Karpathy의 vibe coding과 Ouroboros의 spec-first를 use case별 분리
- Meta-layer 위치는 채택: v1.0이 meta-layer Agent OS인지 standalone harness인지는 사용자가 결정해야 할 새 가정
새 가정 추가 — paradigm-comparison 매트릭스
paradigm-comparison에 새 가정 13번 추가 가능:
| # | 가정 | Ouroboros 답 |
|---|---|---|
| 13 | meta-layer Agent OS인가, standalone harness인가? | meta-layer ✅ |
이게 사용자 v1.0이 결정해야 할 새 axis. 자세히 → paradigm-comparison 갱신 필요.
메타 통찰 — Ouroboros가 산업에 남기는 것
"AI coding fails at the input, not the output."
이 명제는 Karpathy retire + Matt thesis + Anthropic 입장과 정확히 같은 흐름의 한국 개발자 implementation. 다른 점:
| Reference | 같은 명제의 다른 표현 |
|---|---|
| Matt Pocock | "사람=strategic, AI=tactical" |
| Karpathy | "vibe coding retire → agentic engineering" |
| Anthropic | "fundamentals double down" |
| Simon Willison | "review/audit 시작 = agentic engineering" |
| Q00 (Ouroboros) | "Stop prompting. Start specifying." + meta-layer Agent OS로 implementation |
→ Ouroboros는 명제를 mechanism으로 옮긴 implementation 사례. 다른 reference는 명제 + 자체 product, Ouroboros는 명제 + 기존 product 위에 얹는 OS.
이게 학내 segment에서 가치 있을 수 있는 자리: 학생들이 이미 Claude Code/Codex/Cursor 등을 쓰고 있다면, v1.0이 그것들 위에 얹는 학내 layer가 될 수도 있음.
관련
-
- paradigm-comparison — 새 가정 13번 추가 candidates
- references-claude-code · references-codex · references-pi-mono · references-goose · references-gemini-cli — Ouroboros가 위에 얹는 5 reference
- research-to-production-gap — Ralph Loop의 12% pattern (Ouroboros가 통합)
- software-fundamentals-thesis — Matt thesis (Ouroboros가 implementation)
- fundamentals-lineage — Karpathy retire 흐름 (Ouroboros가 한국 변종)
- tool-vs-mcp-research — Ouroboros의 MCP-first 채택
Sources
- Q00/ouroboros GitHub
- ouroboros README
- ouroboros CLAUDE.md
- ouroboros Releases
- PyPI — ouroboros-ai
- Mind Studio — Agent Harnesses Beat Model Upgrades: 5 Benchmarks — harness 차이 정량 데이터
- thoughts.jock.pl — AI Coding Harness 비교
- HKUDS/OpenHarness — 비슷한 meta-layer 시도
- Chachamaru127/claude-code-harness — 다른 Claude Code harness 사례