스킬을 서브에이전트로 실행하면 — 이득은 입출력 계약이 있을 때만 나왔습니다
동료 심사 전 프리프린트이고, 정확도는 그림에서 읽은 값이라 ±0.02 정도 오차가 있습니다
목차
에이전트 스킬은 보통 SKILL.md를 메인 컨텍스트에 불러와 모델이 그 지시를 따르게 합니다. 2026년 9월 7일 공개된 Cornell·Microsoft Research Cambridge의 논문은 같은 스킬 패키지를 새 컨텍스트 윈도우를 여는 서브에이전트로 실행했을 때를 7개 모델·64개 과제에서 비교했습니다. 서브에이전트가 앞선 것은 스킬 설명에 "무엇을 받아 무엇을 돌려주는가"가 적혀 있을 때만이었고, 그때도 최상위 모델에서는 두 방식이 같았습니다. 그 조건이 없는 기존 스킬에서는 이득이 없었고, 조건을 갖춘 경우에도 총 토큰은 늘었습니다. [1]
1. 핵심 요약
SkillsBench 87개 중 64개 [1]
최대 컨텍스트를 줄인 과제 비율 [1]
스킬 대비 서브에이전트, 그림에서 읽은 값 [1]
에이전트 스킬은 지시문(SKILL.md)과 스크립트·참고 문서를 한 폴더에 묶은 재사용 지식 패키지입니다. 서브에이전트는 메인 에이전트가 하위 작업을 맡기기 위해 새로 여는 독립된 컨텍스트 윈도우입니다. 논문은 이 둘을 별개의 기능이 아니라 같은 스킬 패키지를 실행하는 두 가지 방식으로 놓고 비교했습니다. [1]
이 글의 정확도 수치는 논문 그림에서 읽은 근사값입니다. 논문은 정확도를 표로 싣지 않았고, 인쇄된 숫자는 최대 컨텍스트 비율 그림에만 있습니다. 근사값의 오차는 ±0.02 정도로 보시면 됩니다. 어느 값이 인쇄된 것이고 어느 값이 읽은 것인지는 각 절에 적었습니다.
2. 두 실행 방식은 무엇이 다른가
Anthropic의 스킬 문서는 스킬이 세 단계로 컨텍스트에 들어온다고 설명합니다. 이름과 설명은 항상 시스템 프롬프트에 있고(스킬당 약 100토큰), 스킬이 선택되면 SKILL.md 본문이 들어오며(5천 토큰 미만 권고), 참고 파일은 읽을 때만 들어옵니다. [5] 이 방식에서 스킬의 절차를 실제로 수행하는 것은 메인 에이전트 자신입니다. 지시문을 읽은 뒤 그 지시를 따르는 각 단계가 메인 컨텍스트에 그대로 쌓입니다.
논문은 여기서 문제를 짚습니다. 강화학습에서 "스킬"은 상위 제어기가 호출하면 스스로 여러 단계를 실행하고 끝나는 정책인데, 에이전트 스킬은 이름만 같고 실제로는 지시문을 컨텍스트에 더하는 것에 그칩니다. 지시문이 유용해도 컨텍스트가 길어지면 모델의 추론 품질이 떨어지므로, 과제가 길어질수록 스킬을 부르는 것 자체가 부담이 됩니다. [1] 컨텍스트 길이에 따른 성능 저하 자체는 컨텍스트 저하 리포트에서 따로 다뤘습니다.
| 비교 항목 | 에이전트 스킬로 실행 | 서브에이전트로 실행 |
|---|---|---|
| 스킬 호출 시 일어나는 일 | SKILL.md 본문이 메인 컨텍스트에 추가됨 | 지시문으로 초기화된 새 컨텍스트가 열림 |
| 절차를 수행하는 주체 | 메인 에이전트 | 별도 정책의 서브에이전트 |
| 메인 컨텍스트에 남는 것 | 지시문 · 모든 도구 호출과 결과 · 중간 추론 | 서브에이전트의 마지막 응답 하나 |
| 서브에이전트가 보는 것 | 해당 없음 | 지시문 · 메인 에이전트가 넘긴 입력만. 메인 대화는 보지 못함 |
| 여러 스킬의 지식을 한 단계에서 합치기 | 가능 | 불가능. 논문이 명시한 단점 |
| 비용 구조 | 단일 컨텍스트가 길어짐 | 입력 정보를 다시 전달하는 통신 토큰이 추가됨 |
논문의 핵심 가설은 두 가지입니다. 첫째, 과제를 여러 컨텍스트 윈도우로 나누면 어느 한 윈도우가 처리해야 하는 최대 길이가 줄어들고, 성능을 좌우하는 것은 총 토큰이 아니라 이 최대 길이라는 것입니다. 이 주장의 근거로 논문은 모델이 긴 입력에서 옮길 수 있는 정보량에 한계가 있다는 선행 연구를 인용합니다. [6] 둘째, 서브에이전트는 메인 컨텍스트를 보지 못하므로, 메인 에이전트가 어떤 서브에이전트를 부르고 무엇을 넘겨야 하는지를 스킬 설명만 보고 판단할 수 있어야 한다는 것입니다. 두 번째 조건이 이 논문의 결론을 만듭니다.
3. 무엇을 어떻게 측정했는가
측정 대상은 SkillsBench입니다. SkillsBench는 에이전트 스킬의 효과를 측정하기 위해 만든 벤치마크로, 8개 분야 87개 장기 과제마다 사람이 작성한 스킬 패키지와 결과를 항상 같은 기준으로 채점하는 검증기가 붙어 있습니다. SkillsBench 논문은 이 스킬을 썼을 때 18개 모델·실행 환경(하네스) 조합의 평균 통과율이 33.9%에서 50.5%로 올랐다고 보고했습니다. [2]
서브에이전트 논문은 이 87개 중 64개 과제만 씁니다. 저자들이 기존 스킬을 살펴본 결과 입력과 출력을 명시한 것이 거의 없어서, 별도의 스킬 세트를 새로 만들었기 때문입니다. 만드는 절차는 이렇습니다. GPT-5.3 Codex로 OpenHands 에이전트를 모든 과제에 세 번 돌려 성공한 실행 기록을 모으고, 그 기록을 GitHub Copilot CLI에 넘겨 과제당 3~5개의 절차형 스킬을 합성했습니다. 합성이 성공한 64개 과제가 실험 범위입니다. 논문은 이 세트를 합성 세트라 부르고, 기존 스킬을 큐레이션 세트라 부릅니다. [1]
| 항목 | 설정 | 글에서 중요한 이유 |
|---|---|---|
| 하네스 | OpenHands SDK를 수정. 기본 시스템 프롬프트를 "도구를 항상 쓰라"는 짧은 문장으로 교체, 자체 스킬 기능과 자동 스킬 검색은 제거 | Claude Code나 Codex 같은 제품의 동작이 아님 |
| 서브에이전트 구현 | MCP 도구로 등록. SDK의 5분 도구 제한을 2시간으로 연장 | 제품의 서브에이전트 기능을 그대로 잰 것이 아님 |
| 모델 7종 | Ministral-8B · Gemma-4-12B · Qwen3.5-9B · Mistral-Large-3.1 · gpt-5.4-mini · Kimi-K2.6 · gpt-5.3-codex | 작은 오픈 모델부터 최상위 모델까지 걸침 |
| 스킬 세트 2종 | 큐레이션(입출력 계약 없음) · 합성(절차 + 입출력 계약) | 실행 방식과 스킬 내용을 따로 봄 |
| 실행 방식 2종 | 에이전트 스킬 · 서브에이전트 | 같은 스킬 파일을 두 방식으로 실행 |
합성 스킬의 설명은 정해진 형식을 따릅니다. 한 줄 요약 뒤에 Expected input과 Output 항목이 붙습니다. 논문 부록의 예시 하나를 옮기면, "취약점 스캐너의 JSON 보고서를 정규화된 레코드로 바꾸는 스킬"은 입력으로 "스캔 단계에서 나온 보고서 경로"와 "감사 계획에 적힌 심각도 필터와 CSV 열"을 받고, 출력으로 "Package, Version, CVE_ID, Severity, CVSS_Score, Fixed_Version, Title, Url 필드를 가진 레코드의 JSON 목록"을 돌려준다고 적혀 있습니다. [1] 이 형식이 논문이 말하는 입출력 계약입니다.
4. 결과 ① 입출력 계약이 있을 때만
논문 본문의 서술은 이렇습니다. 큐레이션 세트에서는 "모든 모델에서 에이전트 스킬이 서브에이전트와 같거나 더 나았다". 합성 세트에서는 "서브에이전트가 에이전트 스킬을 앞섰고, 격차는 대역폭 제한이 큰, 즉 긴 입력에서 필요한 정보를 한 번에 다루는 능력이 제한된 작은 모델에서 가장 컸다". [1] 아래는 그림 2에서 읽은 평균 과제 정확도입니다.
| 모델 | 스킬 없음 | 큐레이션 · 스킬 | 큐레이션 · 서브에이전트 | 합성 · 스킬 | 합성 · 서브에이전트 |
|---|---|---|---|---|---|
| Ministral-8B | 0.02 | 0.00 | 0.01 | 0.03 | 0.10 |
| Gemma-4-12B | 0.05 | 0.07 | 0.09 | 0.17 | 0.40 |
| Qwen3.5-9B | 0.07 | 0.09 | 0.11 | 0.22 | 0.46 |
| Mistral-Large-3.1 | 0.08 | 0.12 | 0.16 | 0.26 | 0.55 |
| gpt-5.4-mini | 0.45 | 0.55 | 0.51 | 0.55 | 0.71 |
| Kimi-K2.6 | 0.44 | 0.52 | 0.53 | 0.80 | 0.77 |
| gpt-5.3-codex | 0.54 | 0.71 | 0.61 | 0.85 | 0.85 |
그림 2에서 읽은 근사값입니다(±0.02). 논문에 숫자로 인쇄된 값이 아닙니다. 조건은 합성 스킬 전체를 한 번에 노출한 평면 라이브러리입니다(5절 참조).
표를 논문 서술과 나란히 놓으면 두 가지가 보입니다.
- 합성 세트에서 격차가 큰 곳은 작은 모델입니다. Gemma-4-12B와 Qwen3.5-9B는 서브에이전트 방식으로 바꾸자 정확도가 두 배 이상으로 높아졌고, Mistral-Large-3.1도 두 배 가까이 올랐습니다. 반면 최상위 두 모델은 두 방식이 거의 같았습니다. gpt-5.3-codex는 동률이고 Kimi-K2.6은 오히려 에이전트 스킬 쪽이 조금 높습니다. 논문의 "작은 모델에서 격차가 가장 크다"는 서술과 맞습니다.
- 큐레이션 세트에 대한 서술은 그림과 조금 어긋납니다. "모든 모델에서 스킬이 같거나 더 나았다"고 적혀 있지만, 그림에서는 작은 모델 네 개에서 서브에이전트 쪽이 0.02~0.04 높게 읽힙니다. 이 차이는 이 글의 읽기 오차 범위와 겹치므로 반박이라 할 수 없습니다. 다만 gpt-5.3-codex에서 스킬 0.71 대 서브에이전트 0.61로 서브에이전트가 확실히 뒤진 것은 그림에서도 분명합니다. 즉 계약이 없는 스킬을 서브에이전트로 돌리면 가장 강한 모델에서 손실이 가장 컸습니다.
논문은 이 결과를 이렇게 해석합니다. 스킬이 절차와 명확한 입출력 형식을 갖춘 작업 단위로 설계되어 있으면 서브에이전트 실행이 유리하고, 구조가 느슨한 지식만 담고 있으면 메인 컨텍스트에 직접 넣는 쪽이 낫습니다. 이 해석에서 원인으로 지목되는 것은 2절의 두 번째 조건입니다. 계약이 없으면 메인 에이전트가 무엇을 넘겨야 하는지 모르고, 서브에이전트는 받은 것만으로 일을 끝내야 하기 때문입니다. [1]
5. 결과 ② 컨텍스트가 커질수록
두 번째 실험은 컨텍스트 압력을 인위적으로 높입니다. 과제 해결에 필요 없는 방해 스킬의 설명을 0개, 100개, 200개, 263개까지 시스템 프롬프트에 추가하고 정확도를 다시 잽니다. 도구가 많은 실제 환경을 흉내 낸 설정입니다. 논문의 결론은 "서브에이전트 실행이 더 완만하게 저하된다"입니다. [1] 아래는 본문 그림 3에서 읽은 값입니다.
| 모델 · 실행 방식 | 방해 0개 | 100개 | 200개 | 263개 |
|---|---|---|---|---|
| Qwen3.5-9B · 스킬 | 0.48 | 0.23 | 0.16 | 0.22 |
| Qwen3.5-9B · 서브에이전트 | 0.62 | 0.45 | 0.41 | 0.46 |
| gpt-5.4-mini · 스킬 | 0.82 | 0.64 | 0.55 | 0.56 |
| gpt-5.4-mini · 서브에이전트 | 0.82 | 0.75 | 0.72 | 0.71 |
| gpt-5.3-codex · 스킬 | 0.87 | 0.85 | 0.84 | 0.85 |
| gpt-5.3-codex · 서브에이전트 | 0.85 | 0.86 | 0.87 | 0.85 |
그림 3에서 읽은 근사값입니다(±0.02). 합성 세트 기준. 본문 그림은 세 모델만 보이고, 나머지 네 모델은 부록 그림에 있으며 논문은 해석이 같다고 적었습니다.
이 표에서 주목할 것은 방해 0개 열입니다. gpt-5.4-mini는 방해 스킬이 없을 때 두 방식이 0.82로 같습니다. 격차는 방해 스킬이 늘면서 생겼습니다. 서브에이전트가 이 모델에서 더 나은 이유가 "스킬을 새 컨텍스트에서 실행하는 것 자체"가 아니라, 이미 커진 컨텍스트에 지시문을 더 얹지 않는 것이라는 뜻입니다. 논문도 "이미 큰 컨텍스트에서 스킬 지시문을 밖으로 빼는 것은 그 컨텍스트가 커질수록 더 중요해진다"고 같은 방향으로 적었습니다. [1]
이 표는 4절의 표를 읽는 열쇠이기도 합니다. 방해 263개 열의 값(Qwen3.5-9B 0.22와 0.46, gpt-5.4-mini 0.56과 0.71)은 4절 표의 합성 세트 값과 일치합니다. 논문 부록은 4절의 기준 조건이 "모든 말단 스킬을 동시에 노출하는 평면 라이브러리"라고 적고 있으므로(말단 스킬은 계층 구조의 가장 아래에 있는 실행용 스킬입니다), 4절의 격차는 합성 스킬 전체가 노출된 상태에서 측정한 것으로 읽는 것이 맞습니다. 이것은 두 그림을 대조한 이 글의 추론이며, 논문이 문장으로 확정한 것은 아닙니다. 스킬이 몇 개뿐인 환경이라면 4절만큼의 격차를 기대할 근거는 이 논문에 없습니다.
6. 결과 ③ 총 토큰은 늘고, 최대 컨텍스트는 강한 모델에서만 줄었다
논문이 예측한 교환 관계는 "최대 컨텍스트 길이를 낮추는 대신 총 토큰이 늘어난다"입니다. 여기서 최대 컨텍스트 길이는 과제 하나를 푸는 동안 어느 한 컨텍스트 윈도우가 한 번에 처리한 가장 긴 길이입니다. 서브에이전트가 여럿 열리면 각자의 최대값 중 가장 큰 것을 씁니다. 이 수치만은 그림에 숫자가 인쇄되어 있습니다. [1]
| 모델 | 서브에이전트 쪽 최대 컨텍스트가 더 짧았던 과제 비율(인쇄값) | 과제당 총 토큰 · 스킬(그림 읽음) | 과제당 총 토큰 · 서브에이전트(그림 읽음) |
|---|---|---|---|
| Ministral-8B | 28.1% | 약 12만 | 약 16만 |
| Gemma-4-12B | 45.2% | 약 11만 | 약 17만 |
| Qwen3.5-9B | 59.4% | 약 14만 | 약 20만 |
| Mistral-Large-3.1 | 32.8% | 약 11만 | 약 19만 |
| gpt-5.4-mini | 70.3% | 약 14만 | 약 18만 |
| Kimi-K2.6 | 79.7% | 약 12만 | 약 18만 |
| gpt-5.3-codex | 95.3% | 약 10만 | 약 17만 |
비율은 그림 4 왼쪽에 인쇄된 값입니다. 토큰 수는 그림 4 오른쪽에서 읽은 근사값이며 만 단위로 반올림했습니다. 합성 세트 기준. 핵심 요약의 "약 1.7배"는 gpt-5.3-codex 행을 나눈 이 글의 파생값입니다.
총 토큰은 모든 모델에서 서브에이전트 쪽이 많았습니다. 그림에서 읽은 값으로는 에이전트 스킬의 1.3~1.7배 범위입니다. 논문은 이유를 명확히 적었습니다. 스킬은 정보를 한 컨텍스트에 두는데, 서브에이전트는 메인 에이전트가 이미 가진 정보를 다시 전달받아야 하므로 중복이 생깁니다. [1] 이 비용을 줄이려면 계약을 최소한으로 설계해야 한다고 결론 절에서 제안하지만, 어떻게 최소화할지는 열린 문제로 남겼습니다.
서브에이전트 쪽 최대 컨텍스트가 더 짧았던 과제 비율은 모델에 따라 크게 달랐습니다. gpt-5.3-codex에서는 95.3%의 과제에서 서브에이전트 쪽이 짧았지만, Ministral-8B에서는 그 비율이 28.1%에 그쳐 에이전트 스킬 쪽 최대 컨텍스트가 더 짧은 과제가 많았습니다. 논문의 설명은 이렇습니다. 작은 모델은 에이전트 스킬 방식에서 추론이 무너지면서 과제를 일찍 끝내 버리므로 컨텍스트가 짧게 끝나고, 서브에이전트 방식에서는 각 서브에이전트가 자기 하위 작업에 필요한 토큰을 끝까지 쓰기 때문에 오히려 길어집니다. 그래서 최대 컨텍스트 비교는 "두 방식의 성공률이 비슷한 모델"에서만 의미가 있고, 강한 모델만 그 조건을 만족한다고 논문 스스로 한정했습니다. [1]
같은 현상이 스킬 호출 횟수에서도 보입니다. 부록 그림에 따르면 서브에이전트 방식은 모든 모델에서 과제당 스킬 호출이 더 많았습니다. gpt-5.4-mini는 스킬 방식에서 과제당 약 0.7회만 스킬을 불렀는데 서브에이전트 방식에서는 약 2.5회 불렀습니다(그림에서 읽은 값). 논문은 컨텍스트가 커지면서 모델이 충분한 추론 단계를 거치지 못해 스킬 호출이 줄어든 것으로 해석합니다. [1] 스킬을 넣어 두었는데 모델이 쓰지 않는다는 흔한 불만이 있다면, 이 그림이 한 가지 설명이 됩니다.
7. 전부 서브에이전트로 돌리면 무너진다
부록에는 본문보다 실무에 직접 닿는 결과가 하나 있습니다. 스킬이 많을 때 라이브러리를 계층 구조로 정리하면 도움이 되는지를 Qwen3.5-9B 한 모델로 실험한 것입니다. 스킬을 트리나 그래프로 묶고, 상위 노드를 고르면 하위 노드 목록이 보이는 라우팅 노드를 두었습니다. 그리고 실행 방식을 세 가지로 나눴습니다. 모든 노드를 에이전트 스킬로 실행하는 방식, 모든 노드를 서브에이전트로 실행하는 방식, 그리고 라우팅 노드는 에이전트 스킬로 두고 말단 스킬만 서브에이전트로 실행하는 혼합 방식입니다. [1]
| 라이브러리 구조 | 전부 에이전트 스킬 | 전부 서브에이전트 | 혼합 |
|---|---|---|---|
| 평면(계층 없음) | 0.22 | 0.46 | 0.46 |
| 트리 · 높이 2 | 0.45 | 0.03 | 0.42 |
| 트리 · 높이 3 | 0.28 | 0.06 | 0.32 |
| 그래프 · 높이 2 | 0.49 | 0.04 | 0.61 |
| 그래프 · 높이 3 | 0.43 | 0.06 | 0.45 |
| 과제별 2단 트리 | 0.51 | 0.07 | 0.64 |
부록 그림에서 읽은 근사값입니다(±0.02). Qwen3.5-9B 단일 모델. 평면 구조에서는 라우팅 노드가 없으므로 "전부 서브에이전트"와 "혼합"이 같은 설정입니다.
계층을 두면 라우팅 노드까지 서브에이전트로 돌린 설정은 정확도가 0.03~0.07로 떨어졌습니다. 평면 구조의 0.46에서 거의 전부를 잃은 것입니다. 반대로 혼합 방식은 모든 구조에서 가장 좋았고, 과제별 2단 트리에서 0.64로 평면의 0.46을 넘었습니다. 논문은 이 결과를 본문의 가설과 같은 논리로 설명합니다. 라우팅 노드는 절차도 입출력 계약도 없는 "선택" 역할이므로 메인 컨텍스트에서 실행해야 하고, 계약을 가진 말단 스킬만 격리할 가치가 있다는 것입니다. [1]
이 실험은 한 모델에서만 했고 논문도 "체계적 연구는 후속 과제"라고 적었습니다. 그래도 방향은 분명합니다. 서브에이전트가 좋았다는 4절의 결과를 "모든 스킬을 서브에이전트로"라고 일반화하면 정확도가 무너질 수 있습니다.
8. Claude Code에는 같은 선택지가 있습니다
논문의 두 실행 방식은 Claude Code에서 파일 맨 위 설정 영역인 프론트매터 옵션으로 지정할 수 있습니다. 2026-09-11 확인한 공식 문서 기준입니다. [3] [4]
| 논문의 개념 | Claude Code 설정 | 문서의 설명 |
|---|---|---|
| 에이전트 스킬로 실행 | 기본값 | 스킬이 선택되면 SKILL.md 본문이 현재 대화의 컨텍스트에 들어옴 |
| 스킬을 서브에이전트로 실행 | 스킬 프론트매터 context: fork | "스킬 내용이 서브에이전트를 움직이는 프롬프트가 된다. 대화 이력에는 접근하지 못한다". 단, 서브에이전트 문서에 따르면 CLAUDE.md와 git 상태는 기본으로 들어가며 Explore·Plan 에이전트만 이를 생략함 |
| 서브에이전트의 정책 선택 | 스킬 프론트매터 agent: | Explore · Plan · general-purpose 또는 .claude/agents/의 사용자 정의 에이전트 |
| 서브에이전트에 스킬 지식 주입 | 에이전트 프론트매터 skills: | "나열된 각 스킬의 전체 내용이 시작 시 서브에이전트 컨텍스트에 주입된다" |
문서의 경고문은 논문의 결론과 같은 말을 합니다. context: fork는 "명시적인 지시가 있는 스킬에만 의미가 있다. 스킬이 '이 API 규약을 따르라' 같은 지침만 담고 있고 과제가 없으면, 서브에이전트는 지침만 받고 실행할 프롬프트가 없어 의미 있는 출력 없이 돌아온다"고 적혀 있습니다. [3] 논문이 큐레이션 세트에서 본 것이 정확히 이 상황입니다. 다만 문서는 동작을 설명한 것이고 논문은 정확도를 잰 것이라, 둘은 같은 방향을 가리키되 근거의 종류가 다릅니다.
서브에이전트 문서는 비용도 설명합니다. context: fork가 아닌 일반 서브에이전트는 "새로 시작하므로 맥락을 모으는 데 시간이 걸릴 수 있다"며 지연이 중요할 때는 메인 대화를 쓰라고 안내합니다. [4] Anthropic의 서브에이전트 활용 글도 "각 서브에이전트는 자기 컨텍스트를 열고 토큰을 쓰며 호출 단계를 하나 더 늘린다"고 적었습니다. [7] 논문이 잰 총 토큰 증가와 같은 방향입니다.
개발자 커뮤니티의 최근 논쟁도 이 지점에 있습니다. 2026년 9월 8일 Hacker News에서 답변 형식을 간결하게 강제하는 스킬이 500점 넘게 받았는데, 댓글에서는 "이 스킬이 몇 턴 지나면 효과가 사라진다"는 경험이 반복해서 나왔습니다. [8] 커뮤니티의 일화이지 측정은 아닙니다. 규범형 스킬이 메인 컨텍스트에서 희석된다는 불만은 논문이 문제로 삼은 컨텍스트 누적과 맞닿아 있지만, 논문이 대화형 규범 스킬의 효과 감소를 측정한 것은 아닙니다. 그리고 논문의 결과대로라면 이런 규범형 스킬은 서브에이전트로 옮겨서 해결되는 종류가 아닙니다. 출력 형식 규범은 메인 에이전트의 응답에 적용되어야 하므로 격리할 수 없기 때문입니다.
9. 오늘 적용할 체크리스트
- 스킬을 두 종류로 나눕니다. "무엇을 받아 무엇을 만든다"가 적히는 절차형 스킬과, 규약·용어·주의 사항을 담은 규범형 스킬입니다. 논문의 결과는 전자에만 적용됩니다.
- 절차형 스킬의 설명에 입력과 출력을 적습니다. 논문 부록 형식대로 Expected input과 Output 항목을 두고, 출력은 "어느 경로의 파일" 또는 "어떤 필드를 가진 결과"처럼 메인 에이전트가 다음 단계에 그대로 쓸 수 있게 씁니다. 이 설명은 항상 컨텍스트에 있는 부분이므로 길이도 함께 봅니다. [5]
- 절차형 스킬 하나를
context: fork로 바꿔 봅니다. 서브에이전트는 대화 이력을 보지 못하므로, 스킬 본문이 입력만 받고 끝까지 갈 수 있는지 먼저 확인합니다. 본문이 "위에서 논의한 대로"처럼 대화를 참조하면 포크할 수 없습니다. - 세 가지를 함께 잽니다. 과제 성공 여부, 과제당 총 토큰, 메인 대화의 최대 컨텍스트 길이입니다. 논문 기준으로 총 토큰은 1.3~1.7배로 늘어날 것을 예상하고, 그 비용이 성공률이나 메인 대화 수명으로 회수되는지 봅니다.
- 다른 스킬을 고르는 역할의 스킬은 포크하지 않습니다. 스킬 목록을 안내하는 라우터 성격의 스킬, 어느 절차를 쓸지 판단하는 스킬은 메인 컨텍스트에 둡니다. 7절의 결과가 여기에 해당합니다.
- 모델이 강할수록 기대치를 낮춥니다. 논문에서 최상위 모델은 두 방식의 정확도가 같았습니다. 이 경우 포크의 목적은 정확도가 아니라 메인 컨텍스트 보존이며, 그것이 필요한 긴 세션에서만 비용을 감수할 이유가 있습니다.
- 스킬이 몇 개뿐이면 급하지 않습니다. 5절의 방해 0개 열에서 gpt-5.4-mini는 두 방식이 같았습니다. 격차는 노출된 스킬과 도구가 많아질 때 생겼습니다.
10. 아직 결론이 아닌 것
- 동료 심사를 거치지 않은 프리프린트입니다. 2026년 9월 7일 arXiv에 올라온 첫 판이며 NeurIPS 2026 양식으로 작성되어 있습니다. 채택 여부는 확인되지 않습니다.
- 정확도 수치는 이 글이 그림에서 읽은 것입니다. 논문은 정확도를 표로 제공하지 않습니다. 인쇄된 숫자는 6절의 최대 컨텍스트 비율 일곱 개뿐입니다. 나머지 값은 ±0.02 정도의 읽기 오차를 전제하고 보셔야 하며, 0.02~0.04 차이에 대한 해석은 그 오차 안에 있습니다.
- 실험 범위는 87개 과제 중 64개입니다. 합성 스킬을 만들 수 있었던 과제만 남았고, 그 기준은 GPT-5.3 Codex가 세 번 중 성공한 기록이 있는가였습니다. 어려운 과제가 빠졌을 가능성이 있습니다.
- 합성 스킬은 같은 과제의 성공 기록으로 만들어졌습니다. 현장에서 사람이 미리 써 두는 스킬은 그 과제의 정답에서 나온 것이 아닙니다. 계약을 갖춘 일반 스킬이 같은 이득을 내는지는 이 논문이 잰 것이 아닙니다.
- 하네스는 수정된 OpenHands입니다. 시스템 프롬프트를 "도구를 항상 쓰라"는 문장으로 바꾸고, 서브에이전트를 MCP 도구로 구현하고, 도구 제한 시간을 2시간으로 늘렸습니다. Claude Code의
context: fork가 같은 격차를 내는지는 별도로 재야 합니다. 8절의 대응표는 개념이 서로 어떻게 대응하는지를 보여 줄 뿐이며, 논문의 측정 결과를 Claude Code에 그대로 옮겨도 된다는 뜻은 아닙니다. - 4절의 기준 조건이 "스킬 전체 노출"이라는 것은 이 글의 추론입니다. 5절 표의 263개 열과 4절 표의 값이 일치하고 부록이 평면 라이브러리를 기준 조건이라고 적은 데서 끌어낸 것이며, 논문이 문장으로 확정한 것은 아닙니다.
- 최대 컨텍스트 비교는 강한 모델에서만 유효하다고 논문이 한정했습니다. 작은 모델의 낮은 비율은 서브에이전트가 컨텍스트를 못 줄인 것이 아니라 에이전트 스킬 방식이 일찍 끝나 버린 결과일 수 있습니다.
- 계층 라이브러리 실험은 Qwen3.5-9B 한 모델입니다. "전부 서브에이전트" 붕괴가 다른 모델에서도 같은 크기로 나는지는 확인되지 않았습니다.
- 본문 서술과 그림 사이에 작은 불일치가 있습니다. "80% 넘게"라는 서술과 79.7%의 인쇄값, "모든 모델에서 스킬이 같거나 나았다"는 서술과 작은 모델에서 근소하게 반대로 읽히는 그림입니다. 둘 다 결론을 바꾸는 크기는 아닙니다.
- 지연 시간은 측정되지 않았습니다. 논문은 토큰과 컨텍스트 길이만 다뤘습니다. 서브에이전트를 순차로 부를 때의 시간 비용은 Claude Code 문서가 주의 사항으로만 적고 있습니다.
11. 참고자료
모두 2026-09-11 확인했습니다. [1]은 arXiv의 LaTeX 원본을 받아 본문·부록·그림 파일을 직접 대조했습니다. 제품 문서는 제공사의 동작 설명이며 독립 실험이 아닙니다. [8]은 커뮤니티 토론으로 2차 자료입니다.
| 출처 | 확인한 내용 | 근거의 범위 |
|---|---|---|
| [1] Piriyakulkij, Lawrence, Curth, Karmalkar, Prasad · Subagents vs Agent Skills: Executing Reusable Knowledge for Long-Horizon Agentic Tasks | 두 실행 방식의 정의, 64개 과제·7개 모델 비교, 방해 스킬 실험, 최대 컨텍스트와 총 토큰, 계층 라이브러리 부록, OpenHands 수정 사항, 합성 스킬 작성 절차 | 2026-09-07 공개 프리프린트. Cornell·Microsoft Research Cambridge. 동료 심사 전 |
| [2] Li 외 · SkillsBench: Benchmarking How Well Agent Skills Work Across Diverse Tasks | 8개 분야 87개 과제, 큐레이션 스킬과 결정적 검증기, 18개 조합 평균 33.9%→50.5% | 벤치마크 논문. v4 2026-06-14 |
| [3] Claude Code 문서 · Skills | context: fork와 agent: 프론트매터, 포크된 스킬이 대화 이력을 보지 못함, 지침만 있는 스킬에 대한 경고 | 제공사 문서. 동작 설명 |
| [4] Claude Code 문서 · Subagents | 격리된 컨텍스트 윈도우, 요약만 반환, skills: 프론트매터로 스킬 전체 내용 주입, 지연에 대한 주의 | 제공사 문서. 동작 설명 |
| [5] Anthropic · Agent Skills overview | 세 단계 로딩, 스킬당 약 100토큰의 메타데이터, 5천 토큰 미만의 본문 권고 | 제공사 문서 |
| [6] Schnabel 외 · Lost in Transmission: When and Why LLMs Fail to Reason Globally | 긴 입력에서 모델이 옮길 수 있는 정보량의 한계. [1]이 최대 컨텍스트 가설의 근거로 인용 | 2025-05 공개, NeurIPS 2025. 이 글은 [1]의 인용 관계만 확인 |
| [7] Anthropic · How and when to use subagents in Claude Code | 서브에이전트의 격리와 병렬화 용도, 토큰·간접 계층 비용 경고 | 제공사 블로그. 2026-04-07 |
| [8] Hacker News · I-have-ADHD: A skill to stop coding agents from burying the answer | 규범형 스킬이 몇 턴 뒤 효과를 잃는다는 사용자 경험 | 2차 자료. 커뮤니티 토론, 2026-09-08. 측정 아님 |
편집 기준: 논문이 표로 싣지 않은 값은 그림에서 읽은 근사값이라고 매번 표시했고, 본문 서술과 그림이 어긋나는 곳은 인쇄값을 우선했습니다. 제품 문서와 논문이 같은 방향을 가리킬 때도 근거의 종류가 다르다는 점을 남겼습니다.