2부 · 연결된 에이전트 & 메모리
컨텍스트 격리를 위한 연결된 에이전트와, 단기·장기 2계층 메모리.
5. 연결된 에이전트 (Connected agents) — 컨텍스트 격리
▶ 포인트 — 서브에이전트의 본질은 “컨텍스트 격리”다(1부 5장). 전문 에이전트가 깨끗한 컨텍스트에서 깊이 작업하고 요약만 돌려주면, 메인 에이전트는 깔끔하게 유지된다. 클래식의 child agent 대신 “스킬 + 연결된 에이전트”로 구성한다.
5.1 개념 — 왜 나누나
- 메인이 모든 걸 자기 컨텍스트에서 처리하면 길고 복잡한 작업에서 맥락이 더러워집니다.
- 전문 sub-agent가 수만 토큰을 써 깊이 탐색해도 압축 요약(1~2K 토큰)만 반환 → 메인은 종합에 집중(1부 5.1, “관심사의 분리”).
5.2 언제 나누나 — 분리 신호
단일 에이전트로 충분한 경우가 많지만, 다음 신호가 보이면 전문 에이전트로 나눕니다.
메인(오케스트레이터)
├── 분석 전문 ← 데이터를 깊이 파고들어 "핵심 요약"만 반환
└── 작성 전문 ← 형식·템플릿을 다뤄 "완성된 산출물"만 반환
| 나누면 좋은 신호 | 설명 |
|---|---|
| 한 작업이 컨텍스트를 크게 차지 | 광범위한 데이터 다각도 분석 |
| 전문 규칙이 두ꝲ움 | 디자인·정책 규칙이 방대 |
| 병렬이 이득 | 두 작업을 동시에 진행 가능 |
핵심은 전문 에이전트가 깊이 일하되 요약만 돌려줘 메인의 컨텍스트를 깨끗하게 지키는 것입니다(1부 5.1).
5.3 현재 가이드
- 우선 스킬로 분리하고(가장 가벼움), 그래도 컨텍스트가 무거우면 연결된 에이전트로 승격합니다.
- child agent는 인터럽트·의도 전환에 약했지만, 스킬+연결 구성은 “A도 하고 B도” 같은 멀티 인텐트에 강합니다(1부 5.2).
짚고 가기: 처음부터 다중 에이전트로 과설계하지 마라(1부 1.4). 단일 에이전트 + 스킬로 시작하고, 컨텍스트가 실제로 무거워질 때 나눠라.
6. 메모리 (Memory) — 단기·장기 2계층
▶ 포인트 — 메모리는 두 계층이다(1부 9.6). 단기 = 세션 컨테이너 안의 대화 기록(세션 끝나면 소멸), 장기 = M365 클라우드(세션 간 유지). 메이커가 외울 건 하나 — “세션 간 기억은 M365 쪽에 있다.”
6.1 개념 — 2계층 구조
M365 클라우드 (장기·영구) ← 세션 간 유지: 프로필·설정·Copilot 메모리
│ 세션 시작 시 주입
컨테이너 /app (단기·세션 한정) ← 세션 끝나면 소멸: 대화 턴·처리 파일
| 구분 | 위치 | 세션 종료 후 |
|---|---|---|
| 현재 대화 턴 | 세션 컨테이너 | ❌ 소멸 |
| 생성한 파일 | 세션 컨테이너 | ❌ 소멸 |
| 사용자 프로필·메모리 | M365 클라우드 | ✅ 유지 |
비유: 컨테이너 = RAM(임시), M365 = HDD(영구). 컨테이너는 매 세션 새로 켜지는 RAM이라, 이어가야 할 기억은 클라우드에 있어야 한다(1부 9.6).
6.2 대화에도 RAG가 걸린다 (1부 9.7)
세션이 길어져 옛 대화가 컨텍스트 밖으로 밀리면, 에이전트가 세션 내 대화를 검색해 꺼내옵니다(“아까 만든 PPT 파일명?” → 과거 턴 검색). 저장이 목적이 아니라 컨텍스트 윈도우 보강이 핵심입니다.
6.3 메이커가 실제로 할 일
- 대부분은 신경 쓸 게 없습니다 — 세션 내 맥락 유지는 코어가 자동 처리.
- 세션을 넘겨 기억이 필요하면 그 데이터를 M365(프로필·SharePoint 등)에 두도록 설계합니다.
- 예: 분석 결과·생성 파일은 세션 한정이므로, 산출물을 영구 보관하려면 OneDrive/SharePoint에 저장합니다(3장 도구와 연결).
짚고 가기: “메모리 강화”를 기능 토글로 오해하지 말 것. 본질은 (1) 세션 내 자동 추적 + (2) 영구가 필요하면 M365에 두기, 두 가지다.