Subagents vs Agent Skills: 긴 에이전트 작업에서 재사용 지식을 실행하는 방법
Subagents vs Agent Skills: Executing Reusable Knowledge for Long-Horizon Agentic Tasks
TL;DR Highlight
스킬을 서브에이전트로 돌렸더니, 입출력 계약이 명확한 스킬에서 에이전트 스킬보다 정확도가 올랐다
Who Should Read
SKILL.md를 메인 컨텍스트에 불러오는 방식으로 긴 작업을 돌리다 에이전트 품질이 떨어져 고민인 에이전트 개발자
Core Mechanics
- 스킬을 컨텍스트에 불러오면 오히려 손해
- 에이전트 스킬은 SKILL.md를 메인 컨텍스트에 그대로 넣는다.
- 컨텍스트가 길어질수록 에이전트 성능이 떨어지는데, 스킬이 그 부담을 더 키운다.
- 서브에이전트는 새 컨텍스트에서 스킬을 실행한다
- 스킬 지침으로 초기화한 새 컨텍스트에서 하위 작업을 풀고 최종 결과만 메인에 돌려준다.
- 메인이 봐야 할 정보가 줄어서 더 잘 추론한다는 논리다.
- 입출력 계약이 있어야 서브에이전트가 이긴다
- 사람이 쓴 기존 스킬(입출력 계약 없음)에서는 에이전트 스킬이 서브에이전트와 같거나 더 좋았다.
- 절차 지식에 입출력 계약을 붙인 스킬에서는 서브에이전트가 앞섰다.
- 작은 모델일수록 이득이 크다
- 계약이 있는 스킬에서 서브에이전트의 이득은 컨텍스트 처리 한계가 더 큰 작은 모델에서 가장 컸다.
- 대신 토큰은 더 쓴다
- 서브에이전트는 메인이 가진 정보를 다시 넘겨줘야 해서 총 토큰이 크게 늘어난다.
- 최대 컨텍스트 길이를 줄이는 대신 총 토큰을 늘리는 거래다.
Evidence
- 최대 컨텍스트가 줄어든 과제 비율
- 서브에이전트가 에이전트 스킬보다 최대 컨텍스트가 낮은 과제 비율은 gpt-5.3-codex 95.3%, Kimi-K2.6 79.7%였다.
- 약한 모델은 Ministral-8B 28.1%, Mistral-Large-3.1 32.8%로 줄어든 정도가 작거나 반대였다.
- 방해 스킬을 늘려도 덜 무너진다
- SkillsBench에서 방해 스킬을 0~263개로 늘렸을 때 서브에이전트의 정확도가 더 완만하게 떨어졌다.
- 정확한 수치는 본문에 없고 그래프로만 제시됐다.
- 실험 규모
- SkillsBench 87개 과제 중 합성 스킬 패키지를 만든 64개 과제로 평가했다.
- 스킬 합성은 GPT-5.3 Codex의 성공 궤적 3회 실행분을 사용했다.
- 스킬 호출 수
- 모든 기반 모델에서 서브에이전트 실행이 과제당 스킬 호출이 더 많았다.
- 저자들은 에이전트 스킬 쪽은 컨텍스트가 길어지며 덜 생각하기 때문이라고 본다.
How to Apply
- 스킬 설명에 Expected input/Output 쓰기
- 서브에이전트로 돌릴 스킬의 description에 필요한 입력과 반환할 출력을 명시하라.
- 지침(SKILL.md)이 그 입력을 그 출력으로 바꾸는 절차인지 직접 확인하라.
- 절차형 스킬만 서브에이전트로 분리하기
- 입출력이 분명한 절차형 스킬은 별도 컨텍스트의 서브에이전트로 실행하라.
- 느슨한 참고 지식형 스킬은 기존처럼 메인 컨텍스트에 불러와라.
- 성공 궤적에서 스킬 뽑기
- 에이전트가 성공한 실행 기록을 모아 코딩 에이전트에게 입출력 계약이 있는 스킬 패키지로 정리시켜라.
- 계약 항목이 빠지면 사람이 직접 고쳐라.
- 스킬이 많으면 계층으로 묶기
- 스킬을 한꺼번에 노출하지 말고 상위 라우팅 노드부터 단계적으로 보여줘라.
- 라우팅 노드는 인라인으로, 리프 스킬은 서브에이전트로 실행하라.
Try It
# Claude Code나 ChatGPT에 붙여넣기 (논문 방법의 간이 버전: 스킬 설명에 입출력 계약 붙이기)
아래는 내가 쓰는 에이전트 스킬 SKILL.md다. 이 스킬을 서브에이전트로 실행할 수 있게 다시 써 줘.
[SKILL.md]
{{SKILL.md 내용}}
요구사항:
1. description을 '한 줄 요약 / Expected input: (불릿) / Output: (불릿)' 형식으로 다시 쓴다.
2. 본문은 입력을 출력으로 바꾸는 절차 단계로 정리한다.
3. 메인 대화 맥락을 안다고 가정하지 않고, 필요한 정보는 모두 Expected input에 넣는다.
4. 마지막 단계에 '최종 메시지에 출력 결과나 파일 경로를 반드시 적는다'를 넣는다.
이어서 해 볼 것: 이 스킬이 입출력 계약이 있는 절차형인지, 참고 지식형인지 먼저 판단해 달라고 요청해 보라.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓
Original Abstract (Expand)
How can language model agents effectively leverage libraries of reusable knowledge to solve long-horizon tasks? Recent work has increasingly focused on agent skills: reusable capabilities represented as skill packages, i.e., multi-file bundles containing instructions, scripts, and other resources that help agents perform specific tasks. Agent skills are typically executed by loading their skill instructions into an agent's context and relying on the agent to follow them. As task horizons grow, however, this approach becomes increasingly brittle, because reasoning quality degrades as more information accumulates in the context window. We investigate an alternative approach in which skill packages are instead invoked as subagents. Rather than loading skill instructions into the main context, subagent execution spawns fresh context windows dedicated to solving individual subtasks. We show that subagent execution outperforms agent-skill execution when skill packages expose clear input-output contracts and their instructions encode the procedural knowledge needed to fulfill those contracts. The tradeoff is additional communication overhead, as extra tokens are required to coordinate between the main agent and its subagents. Our results show that the benefit of reusable knowledge depends not only on its content, but also on how it is organized and invoked.