01
1. Ouroboros는 무엇인가
Ouroboros는 AI 코딩 작업의 요구사항 정리, 실행, 평가, 기록을 관리하는 오픈소스 도구입니다.
1.1 정의
Ouroboros는 코드를 직접 작성하지 않습니다. 코드는 Claude Code나 Codex 같은 AI 코딩 도구가 작성합니다. Ouroboros는 그 앞뒤에서 요구사항을 확정하고, 실행을 맡기고, 결과를 검증하고, 과정을 기록합니다.

1.2 사용자가 입력하는 것
사용자는 만들고 싶은 기능이나 고칠 문제를 문장으로 입력합니다. 잘 다듬은 명세를 준비할 필요는 없습니다. 빠진 결정은 Ouroboros가 질문으로 확인합니다.
| 입력 | 예 |
|---|---|
| 아이디어 한 줄 | "할 일을 추가하고 완료 표시하는 웹앱" |
| 질문에 대한 답 | "새로고침해도 목록이 남아야 해요" |
| 기존 저장소(선택) | 이미 있는 프로젝트 폴더 |
1.3 역할 분담
Ouroboros와 AI 코딩 도구는 하는 일이 다릅니다. Ouroboros는 관리 계층이고, AI 코딩 도구는 실행 계층입니다. Ouroboros에서는 실행 계층을 runtime이라고 부릅니다.
| 주체 | 하는 일 |
|---|---|
| 사용자 | 아이디어 입력, 질문에 답변, Seed 승인, 결과 확인 |
| Ouroboros | 질문(Interview), 작업 기준 작성(Seed), 실행 관리, 평가, 기록 |
| runtime (Claude Code 등) | 파일 작성, 코드 수정, 명령 실행, 테스트 수행 |
Seed는 두 계층을 잇는 작업 기준 문서입니다. 목표, 제약, 완료 기준이 YAML 파일로 저장되고, runtime은 이 파일을 기준으로 작업합니다. Seed는 6장에서 자세히 봅니다.
1.4 작업이 끝나면 남는 것
코드만 남지 않습니다. 아래 다섯 가지가 함께 남습니다.
| 결과물 | 내용 | 위치 |
|---|---|---|
| 코드 | runtime이 작성한 파일과 테스트 | 작업 폴더 |
| Seed | 이번 실행에 사용한 작업 기준 | ~/.ouroboros/seeds/ |
| 테스트 결과 | lint, build, test 통과 여부 | 평가 출력 |
| 평가 결과 | 완료 기준 충족 여부 판정 | 평가 출력 |
| 실행 기록 | 모든 실행 이벤트 | ~/.ouroboros/ouroboros.db |
실행 기록이 남기 때문에 중단된 작업을 다시 찾을 수 있고, 무엇을 왜 실행했는지 나중에 확인할 수 있습니다.
1.5 사용 전후의 차이
AI 코딩 도구만 쓰면 요청, 코드, 결과 확인이 모두 대화 안에서 흘러갑니다. Ouroboros를 쓰면 요구사항은 Seed 파일로, 실행 과정은 기록으로, 완료 여부는 평가 결과로 남습니다. 왜 이 차이가 중요한지는 2장에서 설명합니다.
