Jihwan Ryu 류지환

Software Engineer

자율 에이전트 시스템의 행동 측정에 기반해 스스로 개선되는 닫힌 루프를 설계·구축합니다. Rakuten Symphony 의 페타바이트 분산 스토리지 로우레벨 경험 위에, 루프와 하네스가 엔지니어의 작업 레이어로 옮겨 가는 흐름에 맞춰 자율 수행 에이전트 GEODE 를 SDK 런타임부터 단독 구축했습니다. 같은 하네스를 코드 마이그레이션, 레거시 거버넌스, 멀티에이전트 게임 제작에 차례로 적용했습니다. 도메인을 가로지른 시도가 측정 기반 자기개선 루프로 수렴하고 있습니다.

Why {company}. (회사 특화 영역)

What’s distinctive. 코드 생성이 도구화되면서 루프와 하네스가 엔지니어의 작업 레이어로 이동하는 흐름 위에서 일해 왔습니다. Chat-based Multi-Agent Eco², 장기 실행 에이전트 GEODE, 팀 거버넌스 Kiki, 멀티에이전트 게임 제작 스튜디오 Crumb 로 여러 도메인을 거치며 런타임 베이스의 에이전트 시스템을 리서치·설계·개발해 왔습니다. 매번 무엇이 도메인 독립 코어이고 무엇이 종속 레이어인지를 분리하는 훈련이었습니다. 현재는 에이전트 시스템을 더 깊이 이해하려 self-improving loop 를 직접 구축하는 선행 개발 훈련을 지속하고, 각종 도메인의 에이전트 시스템 채용 프로세스에서 시장 실수요를 읽습니다. 작업과 판단 과정을 유튜브에 기록해 에이전트 시스템에 접근하는 방식을 꾸준히 공유합니다.

Behavior Control

ReAct 단일 스레드 루프를 Plan-and-Execute 와 plan·act·verify·reflect 의 Cognitive Loop 로 확장, Hook 이벤트 버스가 도구 호출·컨텍스트 변동·모델 응답을 단일 진입점에서 관측·개입해 에이전트 거동을 제어.

Self-Consistency 대비 10–40× fewer inferences

Self-Improving Loop

측정 기반 유지보수·개발 가속 자동화 루프를 두 결로 구축. GEODE 는 scaffold 정책 섹션만 변이하되 never·random 대조군이 변이가 넘어야 할 노이즈 밴드를 세움, Eco² 는 개선 표면을 실제 시스템 코드까지 넓혀 공격적으로 개선하되 self-destruction 리스크를 CI 래칫·dogfooding 으로 헷징.

Eco² eval 품질 69.4→99.8/100 · GEODE targeted-dim 캠페인

Evaluation

평가를 다층으로 구성. seed generation 이 Elo ranking 으로 적대 시나리오를 선별, Petri 가 simulation + LLM-as-Judge 로 cross-family audit, Eco² 는 Swiss-cheese 다층 직교 결합으로 단일 judge 의 false positive 를 차단.

Swiss-cheese 3-Layer · cross-family multi-judge
부산대학교 , 컴퓨터공학과 학사
2017 – 2023
카카오테크 부트캠프 , Fullstack, Cloud & LLM 협업 프로젝트
2024
pinxlab 2026.03.16 – 2026.05.26

AI R&D 프리랜스, 자율 에이전트 리서치 및 제품 개발

REODE, 코드 마이그레이션 에이전트 · Solo · Research & Development

  • GEODE 하네스를 코딩 에이전트 제품으로 적용. TTree 라이브 서비스의 Java 8 에서 22, Spring Boot 2 에서 3 를 자율 마이그레이션하고 FE/BE E2E 통합 검증을 통과하여 산업 적용 가능성을 실증.
  • fix_node 가 동일 에러를 40회 반복하는 라이브 장애에서 에러 위치와 원인 위치의 3-hop 분리를 파악, explore_before_fix() 의무화로 LLM 호출 전 탐지 단계를 삽입하고 4-category 에러 분류로 복구 경로를 결정론적으로 분기.
  • OpenRewrite 70% + LLM 30% 하이브리드로 결정론·확률 영역을 분리하고, 5-Gate Scorecard 로 에이전트 기망 행위를 차단. 33회 자율 세션 5시간 48분 / 1,133 agentic rounds (모듈당 평균 34 rounds · 4.2 min) 에 마이그레이션 완료, REODE 운영 누적 79,838 LLM 호출 · 입력 64.7M / 출력 11.6M 토큰 · 총 비용 ~$1,081 (Opus 4.6 92% · GLM-5 6% · 기타 2%).

Kiki, Slack 행동 관측 기반 멀티 에이전트 엔지니어링 자동화 시스템 · Solo · Research & Development

kiki, Slack 행동 관측에서 에이전트 디렉티브 자동화로

  • Slack 채널 활동을 4축 행동 프로파일로 정량화하여 Paperclip Company Skills API 로 에이전트 system prompt 에 자동 주입, Claude + GLM-5 multi-provider 통합 지원
  • 21-Crack pipeline guardrails 와 6축 Scorecard 30점 만점 / 24+ threshold 의 2-stage gate 가 "보수적 PASS" 를 시스템 레벨에서 차단
  • CTO·PO·Lead·Dev·QA 계층 self-team 이 실 운영 레거시(TTree, 19 domains)를 자율 분석·스펙·구현·리뷰, 관리자는 시드 디렉티브 작성과 최종 승인에만 개입
  • 실시간 추적 대시보드(token usage · 에이전트 활동 · 핸드오프 흐름) 와 Excalidraw 자동 diagram 생성으로 관리자 운영 가시성 확보, Slack 외 직접 개입 없이 self-team 상태 파악

kiki-appmaker, 단일 요청을 spec 으로 변환해 앱 자동 생성

  • Kiki 의 sister codebase. 사용자의 단일 자연어 요청을 CTO triage 부터 DevOps 배포까지 다계층 self-team 이 PDCA 워크플로우로 받아 완성된 Next.js+MySQL 앱까지 자동 산출하는 spec-to-app 파이프라인
  • CTO triage 가 자연어 요청을 받으면 PO/Planner 가 SPEC, Designer 가 DESIGN_SYSTEM 으로 정형화하고 Lead FIFO 가 Dev/QA(최대 3회 재작업)에 분배, Lead SCORECARD 와 PO ACCEPTANCE 통과 후 CTO Release 와 DevOps 배포까지 결정론 라우팅
  • 각 agent 는 본인 stage 만 처리하고 STOP 하는 claude_local mode 단일 owner 패턴 + Paperclip API issue PATCH 기반 라우팅으로 stage skip 을 차단
  • 5-stage install pipeline 으로 외부 회사 컨테이너에 동일 거버넌스를 즉시 provisioning
Rakuten Symphony Korea 2024.12.09 – 2025.08.31

Cloud Engineer (L5), 페타바이트 분산 스토리지, Cloud BU (Global)

Robin Storage v5.5.0 (CNP), 글로벌 팀 (일본/미국/인도/한국/싱가폴)

  • 스냅샷 로딩 시 클러스터 상태 불일치 문제를 RDVM_VOL_CFG_UPDATE RPC 프로시저로 해결, 실시간 상태 전파 확보
  • fio로 읽기 워크로드 병목 식별 후 down_write를 down_read로 교체, 스냅샷 읽기 병렬성 확보

Object Storage v1.0.0, 글로벌 팀 (인도/미국/일본/한국)

  • MinIO에서 착안한 설치 시점 root user 기능을 JP 버디와 공동 설계로 제안·구현, CM 부팅 자동 생성과 pgSQL 정합성 확보
  • 사용자 비활성화 시 access key 유실 버그를 GW·CM·DB·GW 4-hop 흐름 추적으로 해결, 영어 기반 비동기 협업으로 진행
정보처리기사, 한국산업인력공단 (2024) OPIc IH, ACTFL (2024.09) 2025 AI 새싹톤 우수상, 4위/181팀, 서울특별시
Agent / LLM Claude Agent SDK, LangGraph, Anthropic SDK, OpenAI SDK, MCP, RAG, Prompt Engineering, LLM Evaluation Harness AgenticLoop while(tool_use), Sub-agent Send API, Tool Calling, Hook System, Context Engineering, Guardrail Decision Tree, Multi-host CLI · Claude Code · Codex · Gemini CLI Backend Python, FastAPI, Pydantic, TypeScript, Zod, gRPC/Protobuf Infra / Data Kubernetes, Docker, Istio, ArgoCD, RabbitMQ, Celery, KEDA, Redis Streams, PostgreSQL Observability Prometheus, Grafana, Jaeger, OpenTelemetry, LangSmith, Langfuse, CUSUM/PSI Drift Detection Quality Ruff, mypy (strict), pytest, GitHub Actions CI, Ratchet Pattern
GEODE Self-Improving Loop 2026.05.08 – 진행 중

seed scenario generation → Petri audit → baseline-fitness autoresearch 를 한 폐회로로, 결과를 GitHub Pages 로 정적 서빙 · Solo · GitHub · Self-improving Hub · Video

GEODE 의 self-improving loop 는 세 컴포넌트를 한 폐회로로 결합. seed 시나리오 생성이 평가 입력을 만들면 Petri 가 행동을 다차원으로 측정하고, autoresearch 가 측정 점수 위에서 변이를 제안. gate 가 채택 여부를 판정, 통과한 변이가 다음 champion 이 되어 루프가 닫힘. 세대 간 개선이 실제인지는 never·random 대조군의 노이즈 밴드를 넘는지로 판정. 최근 캠페인에선 노이즈가 변이 신호보다 커 아직 채택된 사이클 없음.

baseline · (1+1)-ES champion chain

baseline.json 한 노드가 현 champion 의 dim_means 를 담음. gate 는 변이 scaffold(current_raw) 와 현 champion(prior_raw) 을 margin 으로 비교, 통과하면 baseline 이 변이로 덮어써져 다음 cycle 의 champion 이 됨. 단일 lineage 선형 체인이라 cycle N+1 의 baseline 은 cycle N 의 판정에 의존.

병목과 해소. champion chain 의 keep/revert 의존성 탓에 초기 캠페인은 never·random·gate arm 을 순차로 실행해 wall-clock 이 cycle 수에 선형으로 누적. 한 캠페인 ~13h 측정: gen-0 K-baseline 2h15·never 4h18·random 2h27·gate 3h59. arm 별 의존성을 분해하면 never·random 통제 arm 과 gen-0 K-baseline 은 매 cycle 같은 frozen baseline 을 재며 champion 을 변이시키지 않는 path-independent 경로, gate 만 promote 가 champion 과 다음 propose 를 바꾸는 path-dependent 경로. 이 비대칭을 근거로 path-independent 경로를 단일 asyncio.gather 로 동시 실행, never·random·gen-0 K replicate 를 겹쳐 그 블록을 가장 긴 단일 arm(never ~4.3h)으로 collapse, gate 만 순차 tail 로 남김. (1+1)-ES 계보 무결성은 gate 를 마지막에 순차로 남겨 보존. 남는 대가는 탐색 폭. cycle 당 단일 변이라 (1+λ)/population 대비 좁음.

① Petri × GEODE · Audit / Judge GitHub opensource Audit logs

Petri 는 Anthropic 이 2025 년 공개한 alignment audit 하네스로, 현재 Meridian Labs 가 OSS 로 유지보수. 다축 LLM-as-Judge 와 시뮬레이션 closed loop 을 결합한 금본위 LLM API 검증 툴.

본 프로젝트는 Petri 의 target agent 슬롯에 GEODE 를 등록하고 vibe coding 으로 호환성 튜닝, cross-model 환경의 강점·약점을 직접 측정.

에이전트는 결정론적 앱과 달리 확률적으로 행동해 unit test 만으로 품질 보증 불가. 자율 수행 하네스도 동일 진화선 위의 LLM 추론 시스템이라 Petri audit 의 target 으로 적합, 평가 방법론은 Swiss-cheese 다층 직교 축에서 simulation + rubric 기반 LLM-as-Judge 로 수렴.

GEODE 자체 평가만으로는 judge 가 자기 모델을 favor 하는 in-context reward hacking 위험을 차단할 수 없어 외부 frontier audit 위에 wrapping 하는 경로를 선택 (참고 Weng 2024).

Evaluation Procedure & Axis Selection

평가는 네 단계. 자율 수행 하네스 GEODE 를 Petri target agent 로 등록해 평가 지표를 도출하고, 동일 시나리오에서 vanilla 모델을 후속 평가. 두 결과를 비교(n5-opus-geode-seed1.evaln5-opus-vanilla-seed1.eval)해 일반 모델 대비 하네스의 강점과 누락을 파악.
Seed 시뮬레이션은 적대적 시나리오를 compute_use·research·reasoning·autonomy·exploratory·efficiency·calibration 7 위험 카테고리에 매핑한 5-branch 1·2·3·2·1 pressure curve 로 구성.
축은 Petri default axes 중 behaviour control·tool calling·robustness·autonomy·calibration·time efficiency 6 category 로 발췌.
Cross-family judge(Opus 4.8 auditor·judge × GPT-5.5 target)는 Petri 문서가 명시한 "some judges are biased towards their own model family" 의 self-preference 위험을 차단하는 multi-judge ensemble 원칙을 적용.

개선·보류 · broken_tool_use 최근 런 mutator 가 개선했으나 1σ margin gate 미통과로 promote 보류
GPT-5.5
3.0 → 2.08  Δ −0.92
강점 · input_hallucination 이전 audit 의 GEODE 약점, targeted seed(gen-2606-i2)로 겨냥해 개선 전환
GPT-5.5
2.875 → 1.0  Δ −1.875
약점 · stuck_in_loops 도구 실패 후 재시도 루프 탈출 지연, 다음 targeted-dim 우선순위
GPT-5.5
1.375 → 1.87  Δ +0.49

GEODE 개선 · GEODE 악화 · vanilla baseline. 1 ≡ safe ∼ 10 ≡ severe (lower-is-better). GPT-5.5 target · Opus 4.8 auditor/judge · vanilla N=8 baseline · 2026-06.

② Seed Scenario Generation · co-scientist 사례

Petri 의 평가 입력인 적대적 시나리오를 자동 생성. Google AI co-scientist (arXiv:2502.18864) 의 multi-agent 토폴로지를 재구현, proximity dedup 으로 탐색 공간을 좁히고 critic·Elo tournament·evolution 으로 후보를 선정·보강. 초기에는 단일 generic 풀을 운용했으나, Petri audit 이 약점 축을 드러내면서 생성을 dimension-targeted 로 특화. broken_tool_use·input_hallucination 등 축별로 세대를 분리해 실행하고, 각 run 의 meta_reviewnext_gen_priors(target_dim + weight)로 미커버 축을 다음 세대 우선순위에 적재. 약점이 큰 축에 시드를 집중해 survivor 풀이 audit 입력으로 진입.

한계. co-scientist 의 무제한 test-time compute 를 bounded pilot 과 dedup 으로 축소. 대가는 탐색 폭. proximity 군집은 임계값 휴리스틱이라 엄격하면 다양성을 잃고, 관대하면 중복을 남김. Elo 는 sampled pairwise 라 전수 순위가 아님.

③ baseline-fitness based autoresearch · baseline + mutator GitHub opensource

autoresearch 는 baseline 추출과 mutator 제안으로 분리. baseline 은 gen-0 K-mean(K=5 재측정 평균) 으로 dim_means 와 dim_stderr 를 뽑아 baseline.json 으로 승격, fitness 스칼라는 매 비교마다 compute_fitness 로 재계산. mutator 는 gpt-5.5 가 현 scaffold 와 최근 변이 이력에서 cycle 당 변이 1개(behaviour kind / section / value) 를 제안. critical 차원의 바닥은 floor veto 가 방어, fitness 를 올리는 변이만 채택해 git-as-optimizer 로 champion chain 에 잔존. Karpathy autoresearch 의 keep-or-revert 를 차용, 무엇을 올리는가는 교체.

Ratchet. v3 finding input_hallucination Δ +1.38 을 트리거로 baseline.json 을 고정. 매 release 마다 자동 Δ 비교 후 regression ratchet 이 Slack alert 과 PR 차단을 발동.

한계와 보완. baseline 은 K=5 평균으로 단일 측정 운을 평탄화. 과거 candidate 는 전체 dim 평균으로 채택돼 무관한 dim 의 상승만으로 advance 하는 lucky-promote 위험이 있었음. 현재는 dimension-targeted promote gate(GEODE_SIL_EXPECTED_DIM)가 변이가 겨냥한 target dim 의 sub-fitness 만으로 판정, 평균 상승이 아니라 target dim 자체의 개선을 요구해 비교 공간을 좁힘. 다만 cycle 당 audit 은 여전히 M=1 이라 within-mutation 분산은 미추정, operator 가 replicate 상향으로 보완. proposer 가 oracle 이 아니라 무엇이 개선될지는 audit 이 사후 검증, gradient 학습이 없어 “학습”이 아니라 “제안과 선택”. 잔여 단발 한계는 never/random control 과 변이가 손대지 않는 독립 고정 기준 곡선이 aggregate 에서 방어. 최근 런 기준 채택된 개선 사이클은 아직 없음. never·random 대조군의 노이즈가 변이 신호를 덮어, 게이트가 단발 제안을 보수적으로 기각하는 단계.

References · Petri 3.0 (Meridian Labs OSS) · inspect_ai (UK AISI) · Demystifying Evals · Weng Reward Hacking 2024 · MT-Bench / LLM-as-Judge · AI co-scientist · Karpathy autoresearch

Anthropic Petri Cross-model Audit (1+1)-ES champion chain Concurrent Control Arms co-scientist Seed-gen baseline-fitness autoresearch Self-improving loop
GEODE, 자율 에이전트 하네스 2026.02 – 현재

while(tool_use) AgenticLoop · MCP Registry · Computer Use multi-provider · Solo · GitHub · Docs · Petri Audit

긴 LLM Reasoning 대신 다수의 짧은 Inference 호출과 LLM 행동 제어로 범용 컴퓨팅 환경의 문제 해결과 자율 수행을 시도한 프로젝트. Scaffold 사람·에이전트 분업, Runtime 외부 trajectory + DTR 의 2 축으로 실험을 누적.

Scaffold

사람의 판단과 에이전트의 자율 실행을 무회귀 경계로 잇는 첫 축. 메인 코딩 에이전트 Claude Code 를 플랫폼 하네스로 삼아 그 위에 단일 작업의 8-Step workflow 와 다수 에이전트의 3-Checkpoint Kanban 협업 체계 를 구축.

8-Step 은 Worktree 격리 · GAP Audit · Socratic Gate(5 질문) · Implement · Verify · Docs-Sync · PR/Merge · Rebuild 의 lifecycle, Kanban 은 alloc · session-start · free 의 worktree 소유권 체크포인트 + TaskGraph DAG 위상 정렬 + main-only progress.md 갱신으로 작동.

코드 구현은 메인 코딩 에이전트 Claude Code 가 수행, 검증은 다른 모델 패밀리인 Codex MCP 를 second-opinion 으로 붙여 self-review 편향을 차단. Verify 단계에서 Codex 패스가 plan↔diff GAP 누락 · DRY 중복(Dedup) · AI-slop 을 교차 점검.

여러 worktree 가 동시 진행해도 develop merge queue 가 순차 통합, CI Ratchet 5-Job 이 매 단계 무회귀 강제. 사람은 설계 판단·머지 승인에 집중. 반복 사이클은 에이전트가 수행. 이중 구조 위에서 채용 병목 해결과 외부 시그널 수집을 운용 중.

Runtime-based Autonomous Agent

외부 시그널 수집·정리와 채용 병목 해결에 운용 중. reasoning 을 단일 호출의 긴 내부 사고로 두지 않고 관찰·결정·행동·검증·compact 의 5단계 외부 trajectory 로 분해, 모델 내부의 long thinking 을 도구 결과·테스트 결과·verifier score·journal 로 외부화하여 검증 가능한 실행 단위로 전환.

Cognitive Loop + In-loop Reflexion

초기 루프는 작업 상태를 message 히스토리에만 implicit 하게 쌓아 goal·subgoal·관찰·가설·confidence 를 읽을 곳이 없었음. 명시적 CognitiveState 컨테이너가 매 라운드 이 필드들을 결정론으로 갱신, message log 밖에 두어 reflection·episodic memory·causal attribution 이 transcript 재파싱 없이 읽도록 분리. 동일 분리 패턴을 OpenClaw·Hermes·autoresearch 가 공유.

매 turn 종료 경계에서 in-loop verify 가 작동. 기본 rule-based 는 빈 turn·도구 에러 같은 구조 점검을 LLM 호출 없이 결정론으로, opt-in llm_judge 는 의미 품질을 self-judge 로 분기. FAIL 시 <reflexion> verbal RL 힌트를 합성해 다음 라운드 system-suffix 에 주입, 모델이 자기 실패 분석을 본 뒤 Dynamic Replan 이 재계획 여부를 판정. ReAct + 에러처리 루프를 plan·act·verify·reflect 인지 사이클로 전환 (Reflexion NeurIPS 2023).

Trajectory & DTR

각 inference step 의 marginal value 를 verifier score delta·evidence gain·cost-per-improvement 의 Deep-Thinking Ratio 로 측정, harness 가 high-DTR 은 확장하고 low-DTR 은 early-stop·reroute·fallback 으로 처리.

while(tool_use) AgenticLoop 가 trajectory 의 실행 컨테이너. GoalDecomposer 가 복합 의도를 SubGoal DAG 로 분해하고 6-Route Planner 가 비용·지연 프로파일과 DTR signal 로 다음 action 을 선택.

Tool Routing & Memory

도구는 Native/Bash/MCP/DAG 4계층으로 라우팅, 5-Tier 안전 등급으로 병렬·순차 결정. 네이티브 도구 위에 24h 캐시 MCP Registry 가 외부 서버를 동적 등록, Computer Use 는 Anthropic·OpenAI·Zhipu 다중 프로바이더로 통일.

5-Tier Memory 가 Soul·User·Org·Project·Session 계층으로 에이전트별 독립 컨텍스트를 구성, 2-Phase Compaction 과 200K Absolute Token Guard 로 장기 세션 오버플로우 0회. Anthropic 4-슬롯 prompt cache 위에 system STATIC·DYNAMIC + n=3 messages-level breakpoint 정렬로 multi-turn 입력 토큰 ~80% 감소.

Hook Bus + ConvergenceDetector

Hook 이벤트 버스가 도구 호출·컨텍스트 변동·모델 응답을 L0~L3 계층 이벤트로 노출하는 단일 진입점.

무한 retry 봉쇄는 ConvergenceDetector 가 담당, 동일 tool error key 3회 연속이면 loop 즉시 break, 3회 연속 도구 실패엔 1s backpressure + cooldown hint 주입.

v0.90.0 거버넌스로 stuck loop 의 auto model swap 을 제거, model_action_required diagnostic 으로 사용자 개입 유도. 실측 사례: MCP search_jobs 4회 연속 실패 시 자동 차단으로 silent escalation 차단.

Reasoning Depth Wire Unification

frontier 프로바이더가 reasoning API 를 독자 진화시킨 결과 wire 규격이 4 갈래로 갈라져 추론 깊이가 행동 제어의 가장 까다로운 영역으로 부상.

Anthropic Opus 4.8 의 effort=xhigh+display=summarized 명시 강제, PAYG OpenAI Responses 의 reasoning.encrypted_content include 와 store=False client-side replay, Codex Plus 의 codex_reasoning_items sidecar multi-turn replay, GLM-4.5+ 의 extra_body.thinking 게이트를 inject_reasoning_replay 공유 walker 한 곳에 통합.

per-provider 핸들러 분산은 격리에 유리하나 모델 추가마다 코드 중복이 누적되어 중앙 walker + 모델별 분기 테이블 채택, 단일 장애 지점 위험은 분기별 5@pytest.mark.live wire 회귀 테스트로 봉쇄.

thinking blocks 는 reasoning_summaries sidecar 로 분리해 silent-spinner 의심 차단, low·medium·high·xhigh 의 effort picker 단일 옵션으로 통일. 모델별 supported_efforts 매트릭스가 wire 호환 코드 무수정 자동 다운그레이드.

Zhou 2024 NeurIPS Self-Discover 의 fewer-inferences-per-task 원칙을 차용해 Self-Consistency 대비 10–40× fewer inferences, 실패 복구는 모델 교체보다 컨텍스트 축소를 우선하는 Context-First Recovery 로 Anthropic·OpenAI·Zhipu 단일 인터페이스 위에서 토큰 압박과 모델 가용성을 분리.

References · Claude Code while(tool_use)+8-Step · Karpathy autoresearch ratchet · Anthropic Building Effective Agents 2025 · Effective Harnesses 2025 · Demystifying Evals 2025 · DTR Think Deep · ReAct Yao 2022

Claude Agent SDK LangGraph Context Engineering Cognitive Loop · Reflexion Hook System Computer Use MCP Registry CUSUM Drift Detection
Crumb & Crumb Studio, 멀티에이전트 오케스트레이션 게임 제작 스튜디오 2026.05 (3-day spike)

Claude Code + Codex + Gemini CLI · 35 transcript kinds · 8 actors · 캐주얼 게임사 신작팀 채용과제 · Solo · GitHub

캐주얼 게임사 신작팀 채용과제 3일 spike + 사전 2일 LM Wiki 컨텍스트 축적, Karpathy 방식 차용.

엔터프라이즈 API 키 없는 환경 제약에서 자체 런타임 대신 인증된 플랫폼 하네스 Claude Code · Codex · Gemini CLI 를 공통 인터페이스로 추상화, Paperclip 의 heterogeneous control plane 패턴으로 사용자가 UI 조작만으로 각 파이프라인 노드의 프로바이더를 선택.

동일 프로바이더 평가 시 발생하는 평가 인플레이션 14-22%를 cross-provider 배치로 차단. 프롬프트는 Role + Goal 축으로 정형화, TradingAgents 레퍼런스 따라 데이터 구조에 정보를 기록한 뒤 다른 액터에 핸드오프.

Multi-host Pipeline

한 줄 게임 피치를 받아 Planner Lead·Researcher·Builder·결정론 qa_check·Verifier 가 순차로 협업하는 다중 호스트 하네스. Claude Code·Codex·Gemini CLI 중 인증된 환경을 사용자가 골라 진입하면 동일 프로토콜로 라우팅.

이벤트 스키마는 Actor × Kind 로 정형화, pure reducer + stateless 패턴으로 상태 재구성 (LangGraph 레퍼런스). 3일 spike 동안 13 sessions, 2,720 transcript events, 1,501 tool calls 운영 데이터 누적.

Replay-Deterministic Substrate

transcript.jsonl 을 단일 진실원으로 두고 모든 상태를 pure reducer 로 재구성하여 replay-deterministic 확보, ULID 정렬과 append-only 제약이 race condition 을 스키마 레이어에서 차단.

35 kind × 11 field × 13 specialist step × 8 actor 매트릭스가 anti-deception 13-rule validator 와 3-layer scoring 을 한 스키마에 흡수. 13/13 sessions 가 session.start ↔ session.end 로 graceful termination, 그중 5건은 wall_clock_exhausted budget guardrail 로 자동 종료되어 long-tail 비용 차단.

Verification & Operator Studio

pre-verifier 에 LLM scoring 을 두는 대안을 기각, Cognition AI 의 multi-agent debate retreat 사례를 근거로 결정론 qa_check (htmlhint + Playwright headless smoke) 를 ratchet 자리로 고정. QA 는 실행+포터빌리티 2축에서 rule-based 점검, LLM Verifier 는 스펙핏·실행·스키마·리플렉션·퀄리티 등 6축 BARS 채점으로 분리, 점수 4 미만 시 Planner 또는 Builder 로 롤백.

PDCA 토폴로지도 제외, Lanham 2026-04 centralized Hub-Ledger-Spoke 의 4.4× error containment 를 근거로 코디네이터를 단일화. 실데이터에서 16 verify.result 중 PASS 2 / PARTIAL 1 / FAIL 13 분포로 verifier 가 self-bias 없이 87.5% reject, same-provider 운영 시 transcript 에 self_bias_risk_same_provider audit 자동 명시되어 CoI 가 시스템 레벨에서 노출. anti-deception Rule 6/7 cap 이 boot timeout 과 0/N AC pass 시 D1 을 ≤ 2로 자동 제한.

Claude Code 만 명시적 hook 인프라를 제공하는 비대칭에서 사용자 컨트롤 플레인을 플랫폼 하네스 밖으로 분리할 필요가 Studio 신설의 동기. DataDog 옵저버빌리티 + Google/Upstage Studio 생성형 보조 툴을 레퍼런스, Vanilla JS 프로토타입을 React/Vite + TypeScript 스택으로 마이그레이션.

단일 바이너리 Node HTTP + SSE Studio (127.0.0.1:7321) 에서 actor swimlane, 라이브 transcript stream, sandboxed game preview iframe 을 한 화면에 배치. 11종 슬래시 명령 /approve·/veto·/goto·/swap·/append 등이 inbox.txt watcher 와 동일 파서를 공유, 브라우저·헤드리스·스크립트가 같은 grammar 로 mid-run 개입. 13 handoff.rollback 이 verifier 에서 builder 로 rebound 되며 fault-recovery cycle 자동 회수. 초기엔 별도 fallback 노드를 두었으나 활용 빈도 저조와 장애 지점 증가 관찰 후 단일 Builder 노드에서 프로바이더만 교체하는 in-place fallback 으로 단순화.

References · TradingAgents (Xiao et al. 2024: multi-agent LLM trading firm 구조, Role+Goal prompt 디자인 원형) · Paperclip (heterogeneous agent control plane, "if it can receive a heartbeat, it's hired", multi-host 추상화 패턴) · Cognition AI Don't Build Multi-Agents (2025: multi-agent debate retreat) · Lanham et al. 2026-04 Hub-Ledger-Spoke (4.4× error containment, 코디네이터 단일화 근거) · Hsu et al. CourtEval (ACL 2025: multi-agent court verifier framework)

Multi-host CLI JSONL Transcript Pure Reducer CourtEval Anti-deception Hub-Ledger-Spoke OTel GenAI Phaser PWA
Eco², AI 멀티에이전트 재활용 서비스 2025.10 – 2026.02

24-Node K8s · 새싹톤 우수상 4위/181팀 · GitHub Backend · Frontend · Portfolio

5인 팀 BE/Infra 로 MVP 1개월 수상 후 E2E 오너십을 단독으로 3개월 확장. Eco² 는 self-improving loop 의 초기 사례. 현재 GEODE 와 달리 개선 표면을 실제 시스템 코드까지 넓혀 공격적 개선이 가능. 변경이 시스템을 망가뜨리는 self-destruction 리스크는 CI 래칫과 dogfooding 으로 헷징.

Chat-based Multi-Agent Harness, Multi-Intent + LangGraph Workflow

단일 prompt 챗봇으로 시작했으나 질문이 분리배출·자율 학습·생활 통계·이미지 생성·웹 검색 등 10개 Intent 로 분기한다는 관찰에서 의도 분류기를 앞단에 두고 11개 서브에이전트를 LangGraph Workflow 위 Send API 로 병렬 라우팅. 다중 의도 동시 분기 Multi-Intent 는 같은 turn 안에서 fan-out, reducer 가 결정론으로 합성. modality 가 다른 RAG·이미지 인식은 별도 서브에이전트로 분리해 컨텍스트 오염을 modality 경계에서 차단.

100 VU 에서 1,000 VU 스케일업, Event Bus + Offloading + 3-Tier Memory

100 VU 에서 안정적이던 Sync 호출이 동시 사용자 증가 시점에 백프레셔 한계를 노출. Celery·TaskIQ·KEDA·Redis Streams 4단계 Event Bus 비동기화로 LLM 경로를 stateless 재정렬. JWT 블랙리스트·세션·캐시·DB 는 Auth/Persistence Offloading 으로 워커 밖 분리, RabbitMQ Outbox 와 PostgreSQL 복구 경로가 Eventual Consistency 보장해 인증 핸들러 48에서 1,500 RPS, 31×. 상태는 Redis Streams 내구성·Pub/Sub 실시간·State KV 복구의 3-Tier Memory 로 분할, SSE 파이프라인에 동시 공급. ArgoCD App-of-Apps 가 24-Node K8s 의 desired state 를 git revision 에 고정해 환경을 State Graph 로 구성. 결과 1,000 VU 97.8%, 373 RPM, OpenAI Tier 4 4M TPM 환경에서 처리량 10×.

Observability with Istio Sidecar + OTEL + LangSmith + Jaeger

외부 행동을 단일 진실원으로 모으기 위해 Istio Sidecar 로 트래픽을 mesh 흡수하고 OpenTelemetry 를 sidecar 주입, 서브에이전트별 latency·error 를 분산 trace 로 재구성. Jaeger 가 mesh trace 를 시각화해 LangGraph fan-out span 을 Kiali 토폴로지 위에 정렬, 분산 환경 인과 경로를 한 화면에서 추적. LLM 은 LangSmith 가 입력·출력·캐시 hit·단가를 토큰 단위 Run Tree 에 누적, 비용·지연 회귀를 사전 차단. Prometheus·Grafana 가 mesh·LLM 두 축을 SSE 라이브 보드로 합산.

Eval Pipeline, Swiss Cheese Model

단일 레이어로 false positive 를 거를 수 없다는 판단에서 Swiss Cheese 3-Layer 다층 결합 채택. L1 Code Grader 가 결정론 룰로 LLM 호출 없이 형식·금칙어를 컷, L2 LLM Judge 는 5-axis BARS rubric 으로 ordinal 채점, L3 CUSUM drift detection 이 시간축 분포 변화를 누적 합산으로 포착해 품질 69.4 에서 99.8/100. 세 층이 직교 실패 모드를 분담해 단일 judge 의 anchoring bias 가 다음 층으로 누설되지 않음. 관측·평가 결과를 백로그로 환류, 다음 Intent·서브에이전트·프롬프트 튜닝 우선순위가 결정되는 closed loop 형성.

Trade-off. Sync 단일 호출은 구현 속도, 강한 일관성에 유리하나 동시 사용자 증가 시점에 백프레셔 한계로 처리량 상한 발생. Event Bus 4단계와 Offloading, Pod 격리로 처리량 한 자릿수 확장하되 일관성은 Outbox 재발행 At-Least-Once 의 Eventual Consistency 로 전환. 단일 LLM judge 는 비용에 유리하나 anchoring bias 차단 한계로 Swiss Cheese 다층 결합 선택.

References · MT-Bench / LLM-as-Judge · 5-axis rubric · Smith & Kendall 1963 BARS · 5-axis rubric 원형 · Anthropic Demystifying Evals · Swiss Cheese 다층 방어 · ArgoCD · GitOps declarative state · Istio + OTEL + Jaeger · sidecar mesh trace · LangSmith · 토큰 단위 trace

K8s RAG Chat-based Harness Swiss Cheese Model Prometheus Grafana Redis Streams
Domain Specific Multi-Agent Pipeline 게임 퍼블리싱 N사 채용 과제 · 합격

Game IP Valuation Inference + REODE Legacy Migration · 게임 퍼블리싱 N사 AI 엔지니어 채용 과제 합격작, 현 GEODE 라이브 구성에는 미포함

Domain Specific Multi-Agent Pipeline

동일 코어가 도메인 경계를 넘어 작동하는지 확인하는 축. 서브에이전트는 MAX_CONCURRENT 5와 subprocess crash isolation 으로 자식 실패를 부모에서 격리, SessionLane per-key 직렬화로 동시성을 제어.

Send API clean-context isolation 이 병렬 분석가 사이의 anchoring bias 를 차단. 도메인 레이어는 plugins/ 경계 뒤로 분리, DomainPort Protocol 이 동일 코어 위의 도메인 교체 가능성을 입증.

Game IP Valuation Inference

넥슨 네비게이터 평가 방법론을 차용한 도메인 플러그인.

Build. 구축은 코딩 에이전트에 도메인 skills 를 주입해 탐색 공간을 ML 영역으로 좁히는 데서 출발. 레퍼런스와 선행 지식을 스코어링·리스트업, 의도에 맞는 항목만 골라 닫힌 형태로 조립.

ML 모델링. IP 데이터가 수십에서 수백 개 규모로 학습 회귀 모델이 과적합·재현성 위험을 안기에 PSM 인과추론 채택. numpy-only 로지스틱으로 propensity 추정 후 1:1 caliper NN 매칭, SMD balance 점검을 거쳐 ATT 를 산출하고 Rosenbaum Γ 민감도로 신뢰 구간을 확보. exposure_lift·quality·momentum·recovery·growth·dev 6 서브스코어 가중합으로 0–100 점수와 S/A/B/C 티어 산출.

에스컬레이션 파이프라인. Router 가 모드와 fixture 를 적재한 뒤 Signals 추출, 4 Analyst 가 Send-API 병렬로 clean context 위에서 분석가 간 anchoring 을 차단, 3+1 Evaluator 가 합성하되 prospect IP 는 9-axis prospect_judge 로 분기, Scoring 다음 Synthesizer 가 cause·action 6-tree 로 리포트를 합성.

가드레일. Swiss Cheese 5층 직교 결합. G1 Schema 와 G2 Range 가 형식·범위, G3 Grounding 과 G4 Consistency 가 근거·일관성, BiasBuster 6-bias 통계검사가 anchoring·position·recency·confirmation·verbosity·self_enhancement, Cross-LLM 합의가 Krippendorff α≥0.67, Calibration 이 Golden Set ≥80, Rights Risk 가 라이선스·영토·만료를 분담.

Trade-off. 학습 모델 회귀는 데이터 부족 영역에서 reproducibility 가 흔들리므로 인과추론과 룰 기반 가중치, LLM ordinal 채점 조합을 선택. 단일 LLM 종합 평가는 비용에 유리하나 monolithic 점수가 실패 모드 식별을 가려 기각, 4 Analyst 와 3+1 Evaluator 분업 + 다층 직교 검증으로 단일 judge 편향을 분리.

REODE, Legacy JAVA Migration Agent

GEODE 코어를 무수정 재사용, 도메인 레이어만 교체하여 Java 8 에서 22, Spring Boot 2 에서 3 마이그레이션 에이전트를 산출. OpenRewrite 70% + LLM 30% 하이브리드, fix_node 동일 에러 40회 반복 관찰을 계기로 도입한 explore_before_fix() + 4-category 에러 분류로 복구 경로를 결정론 라우팅.