Skill Block: 에이전트 스킬은 언제 로드해야 할까? Pre-load·On-Demand·Progressive Disclosure·Hybrid 비교
Skill Blocks: How Should an Agent Load Its Skill? A Caching-Correct Comparison of Pre-load, On-Demand Tool-Loading, Progressive Disclosure, and Hybrid
TL;DR Highlight
스킬을 통째로 넣지 않고 필요할 때 로드하면, 큰 스킬에서 입력 토큰이 최대 73% 줄었다.
Who Should Read
SKILL.md 같은 긴 스킬 문서를 매 요청에 통째로 붙여 토큰 비용이 부담되는 에이전트 개발자
Core Mechanics
- 정답은 하나가 아니다
- 스킬 크기와 턴 구조에 따라 어떤 로딩 방식이 이기는지가 달라진다.
- 논문은 보편적인 승자가 없다고 결론 낸다.
- 큰 스킬 + 멀티턴이면 온디맨드가 크게 이긴다
- ScienceWorld(스킬 약 6K 토큰)에서 Skill Block은 effective input을 62.5%, hybrid는 52.8% 줄였다.
- SynthProc(스킬 약 10K 토큰)에서는 각각 73.0%, 66.6% 줄었다.
- 작은 스킬에선 툴 로딩이 오히려 손해다
- SearchQA(스킬 약 2K)에서 'load before answering'으로 강하게 유도한 Skill Block은 입력이 48.4% 늘었다.
- 툴 스키마와 추가 왕복 비용이 안 쓰는 부분의 절약분보다 컸다.
- Hybrid는 작은 스킬에서도 버틴다
- 모든 블록의 짧은 요약(stub)을 먼저 주면 대부분 상세 로드가 필요 없었다.
- SearchQA에서 hybrid는 입력 27.4% 감소, 블록 로드는 질의의 1.4%에서만 일어났다.
- 캐시 읽기를 따로 계산해야 한다
- 멀티턴에서는 raw 입력의 74~94%가 cache read였다.
- raw로 보면 SynthProc reference가 full보다 비싸 보이지만 effective로는 14.8% 싸다.
Evidence
- SearchQA(n=1,400) 단일턴 raw 입력
- full 5,535 토큰 대비 hybrid 4,016(−27.4%), reference 6,112(+10.4%), Skill Block 8,216(+48.4%)이었다.
- hard 정확도는 .841~.849로 거의 같았다.
- SpreadsheetBench 단일턴(276건)
- full 12,461 대비 hybrid 7,506(−39.8%), Skill Block 8,028(−35.6%), reference 8,517(−31.7%)이었다.
- 블록 6개를 영구 삭제한 original8은 5,547(−55.5%)이지만 내용 동등 비교가 아니다.
- ScienceWorld(n=84) effective 입력 중앙값
- full 26,810 대비 Skill Block 10,061(−62.5%), hybrid 12,654(−52.8%), reference 20,644(−23.0%)였다.
- 성공 수는 full 57/84, Skill Block 62/84, hybrid 58/84, reference 50/84였고 유의한 차이는 없었다.
- SynthProc(n=40) 및 gpt-5.6 재실행
- SynthProc effective는 full 21,617 대비 Skill Block 5,837(−73.0%), hybrid 7,221(−66.6%)이었다.
- gpt-5.6 ScienceWorld(n=90)는 full 28,459 대비 hybrid −68.8%, Skill Block −67.8%였다.
How to Apply
- 내 스킬의 안 쓰는 비율부터 재기
- 스킬을 섹션으로 나누고 최근 요청 로그에서 섹션별 사용 빈도를 센다.
- 매 요청에 항상 쓰이는 섹션만 core로 남기고 나머지를 후보로 둔다.
- 큰 멀티턴 스킬에 load_skill_block 툴 붙이기
- 스킬이 수천 토큰이고 턴마다 일부 절차만 쓰이면 core와 섹션 목록만 넣는다.
- 나머지는 이름으로 원문을 그대로 반환하는 툴로 제공한다.
- 작은 스킬엔 hybrid 요약 stub 쓰기
- 각 섹션의 한 줄 요약만 먼저 넣고 부족할 때만 전체 섹션을 로드하게 한다.
- 섹션을 강제로 로드시키는 지시는 피한다.
- 비용은 raw·cache·new·output을 따로 기록하기
- 멀티턴 비교 전에 input_tokens에서 cache_read를 빼서 new를 구한다.
- 로컬에서 cache 할인율을 바꿔가며 순위가 뒤집히는지 확인한다.
Try It
# Claude나 ChatGPT에 붙여넣기 (논문 방법의 간이 버전: 스킬을 core/optional로 나누는 설계 도우미)
아래는 내 에이전트의 스킬 문서다.
{{스킬 문서}}
다음 순서로 분석해 줘.
1. 문서를 섹션(블록)으로 나누고 각 섹션의 대략적인 토큰 수를 표로 정리해.
2. 아래 최근 요청 예시 기준으로, 매 요청에 항상 필요한 섹션(core)과 가끔 필요한 섹션(optional)을 구분해.
{{최근 요청 예시 10개}}
3. optional 섹션마다 한 줄 요약(stub)을 만들어.
4. core + stub 목록 + load_skill_block(name) 툴 설명이 들어간 새 시스템 프롬프트 초안을 써.
이어서 해 볼 것: 원래 스킬과 새 구성의 입력 토큰 수를 비교하고, 같은 요청 10개로 답변 품질이 같은지 확인해 봐.Terminology
관련 논문
Mercury 3: 규모를 키운 diffusion LLM, 초당 1,000토큰 이상
Diffusion LLM을 40배 키웠더니 속도 4~8배, 품질은 속도 특화 모델 수준
Timestral: Mistral의 시계열 파운데이션 모델
209M 파라미터 시계열 모델이 3대 벤치마크 1위, CPU에서도 돌아간다
DeepSeek V4.1 Flash 1017 (Max) 성능·속도·가격 분석
DeepSeek V4.1 Flash 1017 Max는 지능 지수 45에 211 tok/s, 입력 $0.30
LLM 프록시를 직접 안 돌리면 무슨 일이 벌어지는지 어떻게 아나
자체 LLM 프록시를 세웠더니 키·모델·캐시 미스를 직접 볼 수 있다
DeepSeek V4.1 Flash 1017: 싼 가격에 1M 컨텍스트를 주는 에이전트용 모델
DeepSeek V4.1 Flash 1017은 입력 $0.05/M, 1M 컨텍스트의 에이전트용 모델
DeepSeek-V4.1-Flash-1017 공개: 더 짧게 생각하고 더 빠르게 일하는 에이전트용 모델
DeepSeek V4.1 Flash 마이너 업데이트로 코딩·에이전트 벤치 점수↑, 실행 시간·출력 길이↓
Llmspeed: 로컬 LLM 속도를 하드웨어 구매 전에 체감해 보는 시뮬레이터
GPU·모델을 고르면 로컬 LLM 속도를 미리 체감하게 해 주는 시뮬레이터
Original Abstract (Expand)
Agent skills are often injected in full on every request, increasing token cost. We compare four content-preserving loading methods: Full, Skill Block, Reference, and Hybrid. Across SearchQA, SpreadsheetBench, ALFWorld, ScienceWorld, and SynthProc, we measure token usage using raw input for single-turn tasks and cache-correct effective input for multi-turn tasks. Results show no universal winner. Hybrid reduces input by 27.4% on SearchQA and 39.8% on SpreadsheetBench. On large multi-turn skills, Skill Block and Hybrid achieve substantial reductions, reaching 62.5% and 52.8% on ScienceWorld and 73.0% and 66.6% on SynthProc. ALFWorld shows smaller gains because procedures are short and repeatedly needed. Paired outcome tests detect no quality differences, though they do not establish equivalence. Overall, conditional loading is most beneficial when large portions of a skill are not needed on every turn.