1) 서브에이전트 분업
역할은 기능이 아니라 책임 경계로 나눕니다.- Researcher: 자료 수집
- Analyst: 근거 검증/요약
- Writer: 최종 산출물 작성
2) 입출력 계약
각 서브에이전트의 입력/출력을 고정합니다.| 항목 | 권장 |
|---|---|
| 입력 | 목표, 제약, 참고자료 |
| 출력 | 구조화된 요약(JSON/Markdown) |
| 실패 | 재시도 가능 오류 vs 즉시 중단 오류 구분 |
3) 메모리 계층
- 단기: 현재 스레드 작업 메모
- 장기: 다음 작업에도 쓸 수 있는 규칙/선호
- 파일: 중간 산출물과 근거 아카이브
4) 승격 규칙
장기 메모리로 저장할 때는 아래 기준을 씁니다.- 다음 세션에서도 재사용 가치가 있는가
- 개인정보/민감정보가 없는가
- 최신성 관리(TTL/갱신)가 가능한가
5) 운영 체크리스트
- 역할 중복 없이 분업이 정의되어 있는가
- 서브에이전트 실패 시 대체 경로가 있는가
- 장기 메모리 저장 기준이 문서화되어 있는가
- 메모리 조회 실패 시 폴백 응답이 있는가
참고 자료
- Subagents: https://docs.langchain.com/oss/python/deepagents/subagents
- Long-term memory: https://docs.langchain.com/oss/python/deepagents/long-term-memory
실무 적용 체크리스트
- thread_id 규칙을 문서화했습니다.
- 장기 저장 승격 기준과 TTL을 정의했습니다.
- 요약/트리밍 정책을 테스트했습니다.
- PII 마스킹 후 저장하도록 검증했습니다.
자주 나는 실수
- thread_id 경계를 정의하지 않아 사용자 문맥이 섞입니다.
- 장기 메모리에 임시 데이터를 저장해 조회 품질이 떨어집니다.
- 요약/TTL 정책이 없어 컨텍스트 비용이 급증합니다.

