소크라테스를 자처한 에이전트
"문서를 개선해줘"라고 시켰을 뿐인데, ralph evolve 4세대쯤 에이전트는 스스로 '소크라테스'를 자처하며 요청에 없던 자동 툴 감지·문서 감사 시스템을 짓고 있었습니다.
단일 프롬프트의 한계에서 오픈소스 Agent OS까지.
실패 사례에서 시작해, 8개 런타임을 붙이며 내린 판단과
오픈소스로 이 층을 만들어 온 과정을 이야기합니다.
구현법이 아니라 실제 실패 사례로 이해하는 단일 프롬프트의 한계.
인터페이스·상태·파일 시스템·권한·실행 환경, 그리고 그때의 판단.
메타하네스와 self-improving, 그리고 에이전트 메모리라는 트렌드.
피드백·이슈·신뢰·릴리즈, 그리고 실패한 설계를 버리는 일.
마지막 10분은 QnA로 진행합니다. 중간 질문도 환영합니다.
"AI 코딩은 출력이 아니라
입력에서 실패한다."
AI가 실행을 대신하기 시작하자 질문 하나가 남았습니다 —
그러면 우리는 AI에게 무엇을, 어떻게 시켜야 하는가.
서울대학교 디자인씽킹 강연에서 Double Diamond를 다시 보다, deliver 이전의 세 단계가 진짜 일이라는 걸 깨달았습니다. 소크라테스의 문답법과 허버트 사이먼의 철학이 겹치며 "입력을 잘해야 한다"로 수렴했습니다.
"문서를 개선해줘"라고 시켰을 뿐인데, ralph evolve 4세대쯤 에이전트는 스스로 '소크라테스'를 자처하며 요청에 없던 자동 툴 감지·문서 감사 시스템을 짓고 있었습니다.
리뷰 봇이 zcode runtime PR에서 실제 zcode CLI에 없는 --model 플래그를 승인했습니다. 라이브 검증 없이 Codex의 관성을 그대로 옮긴 판단이었습니다.
릴리즈 직전, fat-harness 검증기가 멀쩡한 실행을 FABRICATION으로 오판했습니다. 안전장치가 정상 실행까지 막을 수 있는지를 검증하지 못한 것입니다.
대화가 끝나면 의도도 함께 사라집니다. 다음 세션은 처음부터 다시 설명해야 합니다.
에이전트의 자기 보고 외에는 완료를 판정할 장치가 없습니다.
무엇을 해도 되고 무엇은 안 되는지가 문장 속 부탁으로만 존재합니다.
같은 입력을 다시 만들 방법이 없어, 성공도 실패도 일회성입니다.
이 네 가지 결핍을 코드로 메우는 층 — 그것이 하네스입니다.
같은 workflow spec이 여덟 런타임에서 돌아야 합니다. 문제는 기능이 아니라 차이였습니다.
| Surface | 런타임마다 갈린 지점 | 우리가 내린 판단 |
|---|---|---|
| 인터페이스 | subagent를 Claude는 RPC로 부르고, Codex는 명시 기능이 없어 자연어로 지시 | 어댑터 뒤로 숨기고 workflow spec은 하나로 유지 |
| 상태 관리 | resume으로 세션을 잇는 툴과, 매번 새로 시작하는 툴이 섞여 있음 | 상태의 소유자는 런타임이 아니라 event store |
| 파일 시스템 | 작업 디렉토리·샌드박스·경로 규칙의 차이 | 파일 변경은 evidence로 정규화해서 기록 |
| 권한 | 자동 승인·프롬프트 승인·스코프 모델이 상이 | 권한은 policy에 선언하고 런타임은 집행만 |
| 실행 환경 | 설치 경로·모델 카탈로그·플랫폼 제약 | setup에서 감지해 capability로 노출 |
Claude Code의 코드가 유출됐을 때, 모델에게 툴을 'capability'로 설명하는 방식에서 힌트를 얻었습니다. 여기에 DDD의 유비쿼터스 언어를 겹쳐, ouroboros 능력마다 통용 이름을 붙이고 런타임별로 번역했습니다.
| Ouroboros capability | Claude Code | Codex | capability가 없을 때 |
|---|---|---|---|
| askUser | AskUserQuestion | requestUserInput | 질문을 자연어로 본문에 삽입 |
| subagent | RPC call | 명시 기능 없음 · 자연어 지시 | 단일 세션에서 순차 처리 |
capability가 있으면 각 런타임의 네이티브 기능으로, 없으면 자연어로 설명하는 fallback. 통용 언어를 만들어 런타임 전체에 전파했습니다.
런타임은 갈아 끼우는 부품이 되고,
계약만이 남는다.
여덟 런타임을 붙이고 나서야 알게 됐습니다.
하네스의 본체는 실행기가 아니라, 실행기들 사이에서 변하지 않는 약속이라는 것을요.
에이전트에게 필요한 건
더 긴 지시가 아니라 계약과 환경이다.
사람에게 좋은 온보딩이 문서 더미가 아니라 명확한 역할·권한·평가 기준이듯,
에이전트에게도 같은 것을 줄 수 있습니다.
Interview에서 모호함이 0.2 이하로 떨어지면 Seed는 immutable로 고정됩니다. 각 단계를 서로 다른 하네스(Codex·Omx·CC·Hermes)가 맡아도 Seed Contract는 그대로고, 모든 기록은 event store로 내려가 다음 세대의 입력이 됩니다.
Interview → Seed → AC Tree → Execute → Evaluate ↻ Wonder · Reflect — 발표 화면 캡처
사람이 매번 지시를 새로 씁니다. 성공은 우연에 가깝습니다.
실행 루프·검증·권한이 코드로 고정됩니다. 성공이 재현 가능해집니다.
하네스가 하네스를 구성합니다. 에이전트가 자신의 스킬·설정·워크플로를 만듭니다.
실행 기록이 판정을 거쳐 다음 실행의 입력이 됩니다. 단, 자기개선에는 배포 규율이 붙습니다.
봇은 열되 머지하지 않습니다 (bot opens, never merges). human merge가 safety valve이고, 머지 가능한 diff는 PR·새 capability는 Issue로, rollback은 분·초 단위로 되돌릴 수 있게.
배포 규율 출처: ICML 2026 "Self-Improving Tool Agents" 발표 구조
지금 이 턴의 컨텍스트 창. 프롬프트가 다루던 유일한 기억.
지난 실행들의 기록. event journal과 replay가 여기에 해당합니다.
반복에서 추출된 사실. 출처가 박힌 ledger 항목으로 남습니다.
일하는 방식 자체의 갱신. 스킬과 하네스 설정이 진화합니다.
실전 사례 — ouroboros bot: 메모리 프로필을 스스로 갱신하며 성장하고 회고하는 메인테이너 봇. PR 리뷰, 이슈 체크, 직접 PR 작성까지 합니다.
한 유저가 "나를 조사해봐"라고 하자, 봇은 시키지 않았는데도 조사 범위의 경계를 먼저 선언했습니다 — 공개 footprint만 보고, 실명·위치·연락처는 추적하지 않겠다고. 계약이 사람의 감시가 아니라 봇의 판단으로 지켜지는 순간이었습니다.
ouroboros bot — Discord, 2026-07-13
유저가 원하는 걸 계약으로 만들고,
어떤 하네스가 올라가도 상관없게.
공동 메인테이너 나정환 님과의 대화에서 비전이 잡혔습니다 — OS가 시스템콜과 리소스를 추상화해 인터페이스만 맞으면 어떤 프로그램이든 띄우듯이.
에이전트의 모든 행동을 로그로 남기고 검증할 수 있다면, 그것이 새로운 agent era의 OS입니다.
11.7k 스타, 1k 포크. 숫자만 보면 성공한 프로젝트입니다. 그런데 마지막 커밋이 7개월 전에 멈춰 있었습니다. 스타를 다 받고 멈춘 레포는, 결국 죽은 레포더군요.
11.7k stars · 1k forks · 마지막 커밋 7개월 전 — GitHub, 2026-07 캡처
GitHub API, 2026-07-15 조회. 오픈소스의 진짜 지표는 스타 수가 아니라 — (1) 유저가 이슈를 얼마나 잘 올려주는가, (2) 실제 다운로드 수, (3) 버전별 다운로드로 유저가 업데이트를 따라오는지입니다.

ouroboros-ai 패키지 일일 다운로드 · 1월 말 0에서 피크 약 3만/일 — pypistats, 2026-01-26 – 07-13
fat skill을 OS에 넣으려다 뺐습니다.
core에는 퍼스트레벨 프로그램만 남기고, 무거운 스킬은 plugin으로 분리했습니다.
릴리즈 직전, 봇은 자기가 놓친 것들을 스스로 회고했습니다 — 존재하지 않는 --model 플래그를 승인한 일, 정상 실행을 위조로 오판한 일. 그리고 앞으로 어떻게 기준을 바꾸겠다고 먼저 적었습니다. 봇이 먼저 gate하고, 사람은 정리된 것만 봅니다.
봇의 공개 릴리즈 게이트 회고 — Discord, 2026-07-07
임팩트는 스타 수가 아니라,
누군가의 워크플로가 바뀌는 순간이다.
오픈소스는 AI 씬의 기본값을 바꾸는 가장 빠른 방법입니다. 좋은 계약은 복제됩니다.
빌더 개인에게 공개된 설계 판단의 기록은 어떤 이력서보다 강한 증명이 됩니다.
기여자와 사용자의 피드백 루프가 혼자서는 도달할 수 없는 완성도를 만듭니다.
하네스, 런타임, 오픈소스 운영 —
무엇이든 질문해 주세요.
실패는 입력에서 시작되고,
계약은 실행을 재현 가능하게 만들며,
그 기록이 에이전트의 기억이 됩니다.
별 하나, 이슈 하나가 이 프로젝트를 움직입니다.