Fable 5 Traces · 케이스 스터디
FRONTIER AGENT — TRACE 해부

프런티어 에이전트는
어떻게 사고하고 도구를 쓰는가

사라진 모델 Claude Fable 5의 실행 기록을 직접 뜯어보다


Speaker
박준 / JoonLab
LLM 연구 · AI 강사 · 컨설턴트
Dataset
4,665 스텝
60 세션 · Glint-Research
“에이전트의 실력은 답을 쓰는 데 있지 않고, 쓰고-돌려보고-고치는 루프에 있다.”
01 / 14
Intro
SPEAKER · HELLO
박  준
PARK JOON
교토대학교 인공지능 석사
LLM 서비스 기획 및 개발
LG · SKT · SK 그룹 · 국립농업과학원 · 패스트캠퍼스 등 출강 및 컨설팅
국내 최대 AI 커뮤니티 GPTers 특강 다수 진행
박준
TEL   010-5060-9188
MAIL  wns9133@gmail.com
BIO   bio.link/joonpark
02 / 14
단명한 프런티어 모델
FABLE 5 TRACES

3일 만에 사라진 모델의 실행 기록

2026-06-09 출시 → 06-12 접근 차단(수출통제). 그 직전에 긁어모은 Claude Code 에이전트 trace.

스텝 수
4,665
한 행 = 에이전트의 한 스텝
세션
60
실제 코딩 작업 세션 단위
모델
Fable 5
전부 claude-fable-5 단일 모델
도구 호출 비율
81%
액션의 다수가 tool_use
Glint-Research/Fable-5-traces · AGPL-3.0 · 67MB jsonl
03 / 14
에이전트 1스텝
맥락 → 사고 → 액션

에이전트는 이 한 스텝을 반복한다

데이터의 한 행이 정확히 이 구조. 매 스텝 단 하나의 액션만 낸다.

맥락 context
사고 cot · <think>
액션 output
tool_use · 81% text · 19%
한 행(step)의 3요소
context  지금까지의 대화·작업 히스토리
         (직전 7,022자 슬라이딩 윈도우)
cot      1인칭 추론 — "무엇을 왜 할까"
output   다음 단일 액션
         tool_use → {tool, input}
         text     → {text}
관찰을 보고(context) → 속으로 판단하고(cot) → 하나의 행동을 한다(output). 이 루프의 반복이 곧 에이전트다.
04 / 14
대표성 1위 · 90점
SESSION f956721a · CS:GO 클론 FPS

한 문장 요청 → 297스텝 자율 수행

User Prompt
“빠른 템포의 멀티플레이어 FPS를 만들어줘. 봇 선택지, 풀 레이트레이싱, 설정 많이. TL;DR CS:GO를 최대한 클론해줘. 결과를 직접 보고 다듬어줘.”
→ 에이전트는 'neonstrike'라는 WebGL2 레이트레이서 FPS를 기존 아카이브 저장소 위에 처음부터 구축한다.
297
스텝
82%
tool_use 비율
8
사용 도구 종류
3
탐색 · 구현 · 검증
Bash 94 · Edit 62 · Read 51 · Write 22 · Task* 12 · Agent 3
05 / 14
탐색 구현 검증
step 0 → 7
WALKTHROUGH · 01 EXPLORE

쓰기 전에 정찰부터 한다

CoT · 실제 사고
“AIArchives 저장소 구조를 파악했다 — 최상위 package.json은 단순 Express 서버, public엔 프론트엔드, archives엔 다른 프로젝트들. FPS를 추가하려면 먼저 서버 진입점을 읽어야 한다.”
환경(which node chromium)과 빌드 방식을 먼저 확인 → 사람 개발자와 같은 순서.
Actions · 도구 호출
# 0 TEXT 계획 수립 # 1 Bash ls -la AIArchives/ # 2 Bash which node chromium # 4 Bash cat package.json # 5 Read server/index.js # 6 Read archives/rblx/archive.json # 7 Bash grep -n "url" app.js
06 / 14
탐색 구현 검증
step 8 → 21
WALKTHROUGH · 02 BUILD

파일 단위로 통째로 작성한다

CoT · 실제 사고
“맵 정의를 map.js에 넣었다 — 머티리얼 ID, AABB 레벨 지오메트리, 조명 상수. 다음 차례는 실제로 화면을 그릴 렌더링 엔진이다.”
렌더러는 래스터화 없이 모든 픽셀이 광선을 쏘는 WebGL2 프래그먼트 셰이더 레이트레이서 — 한 스텝에서 파일 한 개를 완성한다.
Actions · Write 연쇄
# 8 Write js/map.js # 9 Write js/renderer.js // 레이트레이서 # 11 Write js/audio.js // DSP SFX # 12 Write js/settings.js # 14 Write js/game.js // 물리·봇·라운드 # 16 Write js/hud.js # 18 Write js/main.js # 20 Write index.html + css
07 / 14
탐색 구현 검증
step 22 → 49 → 296
WALKTHROUGH · 03 VERIFY

스스로 플레이테스트하고 고친다

검증 루프 · 쓰고 → 돌려보고 → 고치고
22puppeteer 헤드리스 Chrome 테스트 하네스 작성
28node playtest.mjs — 서버·Chrome 기동, 스크린샷
29PNG 디코더가 Uint8Array에서 깨짐 → 원인 추론 후 수정
4960/60 checks passed 도달
$ node playtest.mjs | grep checks ✔ boot: 0 JS errors ✔ sfx: 12/12 ✔ 60/60 checks passed # 실패하면 — 직접 디버깅 ✘ engage: 0 sim-seconds → cot: "시뮬 클럭이 안 흐른다. 더 파보자."
60세션 전체 — 코드 작성 후 검증 도달률
86.7%
Write/Edit 후
10스텝 내 실행·검증
3스텝 내 57.2% · 중앙값 2스텝 만에 검증. 일화가 아니라 데이터셋 전체의 습관.
SELF-VERIFYING AGENT · n=1,271 코드작성 스텝
08 / 14
다른 도메인, 같은 루프
SESSION 602033e7 · ML 모델 학습 (439스텝, 전체 최장)

게임이 아니어도 패턴은 같다

“AGENTS.md를 읽고, 1M 컨텍스트·FP4로 모델을 학습시켜 점수를 보고하라” — 데이터/ML 도메인의 자율 세션.

탐색 → 실행 → 장기 모니터링
# 상태 복원 — 계약대로 먼저 읽기 Read AGENTS.md → journal.md → scores.md # 코드·환경 파악 후 학습 실행 Read train.py Bash nvidia-smi Bash nohup python train.py 2 4 & # 결과를 직접 보며 수백 스텝 유지 Bash tail runA.log ScheduleWakeup ×17
439 스텝
단일 세션 최장 — Bash 241 중심
3
journal·scores·log = 파일로 외부화한 장기 기억
컨텍스트(7,022자)가 밀려나도 레포 파일이 기억을 대신해 수백 스텝을 버틴다.
09 / 14
전체 3,799 도구 호출
TOOL USAGE PATTERN

화려한 도구보다 기본기 반복

31종 도구를 쓰지만, 셸·파일 조작이 tool_use의 89%.

도구호출수비중
Bash 셸 실행1,54440.6%
Edit 파일 수정96025.3%
Read 파일 읽기44311.7%
Write 파일 작성3118.2%
PowerShell 윈도우 셸1363.6%
WebSearch · Preview · Task* …40510.7%
셸 + 파일 조작
89%
Bash·Edit·Read·Write·PowerShell = 3,394 / 3,799
쓰고 → 돌려보고 → 고치는 루프
코드 작성(Write/Edit)의 86.7%가 10스텝 내 실행·검증 동반 (중앙값 2스텝 뒤)
최빈 리듬 Edit→Bash→Edit→Bash (4-gram 1위) · write→shell 전환 353회
10 / 14
좋은 하네스 6원칙 · 1/2
DESIGN PRINCIPLES · P1–P3

trace에서 뽑은 하네스 설계 원칙

에이전트가 잘 일하게 만드는 환경의 조건 — 루프를 돌리고, 흐트러지지 않게.

P1
VERIFY
Re-Act-Verify 루프
산출물을 실제로 실행/렌더해 결과를 되돌려주는 경로 필수. 빠지면 “썼으니 됐겠지”로 환각.
P2
SMALL STEP
작은 스텝 + 자기 체크포인트
거대 diff 한 방보다 Edit→Edit→Bash 점진 수정이 회복력↑. 잦은 작은 호출을 허용하라.
P3
MEMORY
상태의 외부화
컨텍스트는 유한·슬라이딩. 장기 목표는 Task·파일·스크린샷으로 컨텍스트 밖에 둬라. (케이스② journal/scores)
근거: 05_harness_benchmarking.md · 60세션 전수
11 / 14
좋은 하네스 6원칙 · 2/2
DESIGN PRINCIPLES · P4–P6

위임 · 정찰 · 도구 인체공학

병렬로 키우고, 먼저 살펴보게 하고, 도구는 필요할 때 찾게.

P4
DELEGATE
위임은 격리·주입·한정
서브에이전트엔 ①산출 파일 못박기 ②참조 컨텍스트 주입 ③역할·권한 한정. 없으면 병렬 충돌.
P5
RECON
탐색-우선 (Recon-first)
세션 초반은 Bash/Read 정찰 중심(쓰기 8건뿐). 값싼 읽기 도구를 마찰 없이 풍부하게.
P6
LAZY TOOLS
도구는 필요할 때 발견
ToolSearch 35회 — 다 노출하지 말고 lazy 검색·로딩으로 컨텍스트 절약.
“강함은 한 방이 아니라, 짧은 루프를 수백 스텝 흐트러짐 없이 반복하는 규율.”
12 / 14
데이터를 비판적으로
READ THE DATA CRITICALLY

이 trace로 말할 수 없는

01
CoT는 Fable의 진짜 사고가 아니다
Fable은 Claude Code에서 사고를 저장하지 않음. gpt-oss:120b가 결과를 보고 사후 생성한 합성 추론. 진짜는 output(행동)뿐.
02
AGPL-3.0 라이선스
강한 카피레프트. 이 데이터로 학습한 모델·서비스 배포 시 라이선스 의무 검토 필요.
03
소규모 · 단일 모델
4,665행 · 60세션 · 비공식 3자 수집물. 모델 비교엔 부적합, Fable 단일 행동 관찰용.
13 / 14
End
교육 시사점 · TAKE AWAY

현장으로 가져갈 세 가지

1
에이전트 = 맥락·사고·액션의 루프. 한 번에 답이 아니라 한 스텝씩 행동한다.
2
실력은 검증 루프에 있다. 쓰고-돌려보고-스스로 고치게 설계하라.
3
데이터는 비판적으로 읽는다. 행동은 진짜, 사고(CoT)는 합성임을 구분하라.
감사합니다.
박준 / JoonLab · 14 / 14