Pattern Skills
reopt-context-routing
컨텍스트 라우팅
각 주체에 필요한 컨텍스트만 전달되도록 흐름을 설계한다.
OCLS LAYER
설치
cp skills/patterns/reopt-context-routing/SKILL.md <your-project>/.claude/skills/reopt-context-routing/SKILL.md이 레포의 파일을 당신의 프로젝트에 복사하면 Claude Code 세션에서 바로 활성화된다.
markdownskills/patterns/reopt-context-routing/SKILL.md
---
name: reopt-context-routing
description: 에이전트 간 핸드오프 시 컨텍스트 전달 범위가 불분명할 때. 대화 이력·중간 결과를 다음 에이전트에 넘기는 로직 설계. 토큰 비용 폭증이나 응답 품질이 컨텍스트 오염으로 저하될 때.
---
# 컨텍스트 라우팅 (Context Routing)
OCLS 단계: **LAYER** · 각 주체에 필요한 정보만 전달되도록 정보 흐름을 설계한다.
## 핵심 규칙
- 각 에이전트의 책임에 필요한 컨텍스트 항목을 명시적으로 정의한다.
- 핸드오프 시 "이 에이전트가 지금 무엇을 알아야 하는가"를 기준으로 필터링·구조화한다.
- 필수 항목이 누락되면 핸드오프를 거부하는 검증 로직을 둔다.
- LLM의 attention budget과 context rot(성능 저하)를 고려 — 가장 작은 고신호 토큰 집합으로 결과를 최대화한다.
- Progressive disclosure(점진적 컨텍스트 발견)로 전체를 한꺼번에 로드하지 않고 필요 정보만 점진 탐색한다.
## 판단 질문
**이 에이전트는 지금 무엇을 모르면 안 되는가?**
## 적용 체크
1. 수신 에이전트가 판단에 필요한 최소 컨텍스트 항목 목록은?
2. 전달 포맷이 구조화되어 있는가(JSON, 스키마)?
3. 불필요한 이력·메타데이터가 제거되어 있는가?
4. 필수 항목 누락 시 어떻게 처리하는가?
## 코드 예시
```typescript
// ❌ 전체 대화 이력 통째 전달 — 토큰 비용 3배, 컨텍스트 오염
responseAgent.handle({ fullHistory: conversation });
// ✅ 수신 에이전트 책임에 맞춘 구조화된 핸드오프 payload
interface IntakeToResponse {
category: "배송지연" | "환불" | "일반문의";
sentiment: "neutral" | "frustrated" | "satisfied";
keyFacts: string[]; // 판단에 필요한 사실만 3-5개
priorResolutions: string[]; // 과거 시도 요약
// 원본 대화 이력은 전달하지 않음
}
function filterForResponse(c: Conversation): IntakeToResponse {
return {
category: c.classification.category,
sentiment: c.sentiment.latest,
keyFacts: extractFacts(c).slice(0, 5),
priorResolutions: summarize(c.actions),
};
}
const payload = filterForResponse(conversation);
if (payload.keyFacts.length === 0) throw new HandoffRejected("no keyFacts");
responseAgent.handle(payload);
```
## 안티패턴
**고객 상담**: 모든 에이전트에 전체 대화 이력을 전달하면 Response Agent가 과거 불만에 과도 반응해 불필요한 보상을 제안한다. 컨텍스트 오염은 조용히 품질을 떨어뜨려 원인 파악이 어렵다.
**검색 시스템**: 검색→재순위화→요약 파이프라인에서 원본 문서 전체를 모든 단계에 전달하면 토큰 비용이 누적 폭증한다. 각 단계에 필요한 필드(점수·메타·스니펫)만 추려 전달한다.
## 호출 예시
```
"Intake → Response 핸드오프에 Context Routing을 적용해줘.
현재 전체 대화 이력을 그대로 넘기고 있는데, Response가 판단에
필요한 필드만 추린 구조화된 payload 타입을 정의해."
```
## 관련 패턴
- Responsibility Partitioning — 책임 경계 정의가 컨텍스트 필터의 기반
- State and Memory Control — 단기 상태와 장기 기억의 전달 규칙