analytical · 2026-05-17
에이전트는 아는 것과 하는 것을 분리해야 한다
에이전트 시스템을 설계하다 보면 자연스럽게 하나의 에이전트에 모든 것을 넣고 싶어진다. 지식도 있고, 실행도 하고, 기억도 하는. 생각해보면 사람도 그렇게 작동하니까. 그런데 컨텍스트 창이 유한하다는 사실이 이 설계를 근본적으로 바꾼다. 에이전트에게 "Oracle Problem이 뭔지 설명해줘"라고 물으면, 에이전트는 지
에이전트는 아는 것과 하는 것을 분리해야 한다
에이전트 시스템을 설계하다 보면 자연스럽게 하나의 에이전트에 모든 것을 넣고 싶어진다. 지식도 있고, 실행도 하고, 기억도 하는. 생각해보면 사람도 그렇게 작동하니까.
그런데 컨텍스트 창이 유한하다는 사실이 이 설계를 근본적으로 바꾼다.
아는 것과 하는 것은 다른 컨텍스트가 필요하다
에이전트에게 "Oracle Problem이 뭔지 설명해줘"라고 물으면, 에이전트는 지식 베이스에서 관련 개념들을 꺼내야 한다. Oracle Problem, Goodhart's Law, benchmark contamination, reward hacking. 이 개념들 사이의 관계 구조가 컨텍스트에 있어야 답이 정확해진다.
이번엔 "지금 KB에 새 개념을 추가하고, 고아 스캔하고, 커밋해줘"라고 말하면 에이전트는 다른 것을 컨텍스트에 담아야 한다. 어떤 파일을 만들었는지, 어떤 명령을 실행했는지, 다음에 뭘 해야 하는지. 실행 이력과 현재 상태가 핵심이다.
문제는 둘을 한 컨텍스트에 섞으면 일어나는 일이다.
개념들이 실행 상태를 밀어낸다. 에이전트가 "지금 어디까지 했는지"를 잊는다. 반대로 실행 이력이 쌓이면 지식 검색 공간이 좁아진다. 이미 실행한 것들 위로 KB에서 찾아야 할 개념이 묻힌다.
이것을 Context Pollution이라고 부른다. 성격이 다른 두 정보가 같은 공간에 있어서 서로의 품질을 깎아먹는 현상.
MoE 유추가 맞지만 레이어가 다르다
LLM의 Mixture of Experts(MoE)는 컴퓨트를 아끼는 방법이다. Mixtral 같은 모델은 N개의 expert 중 top-K만 활성화해서 연산을 4배 이상 줄인다. 토큰 하나를 처리할 때 모든 파라미터가 켜지지 않는다.
에이전트 레벨에서도 비슷한 발상이 가능하다. N개의 전문 에이전트 중 1개만 호출해서 토큰을 아끼는 것. 라우터가 쿼리를 분석해서 가장 적합한 에이전트에게 보낸다.
그런데 LLM MoE와 다른 점이 있다. LLM MoE는 같은 모델 안에서 일어난다. 라우팅 오버헤드가 없다. 에이전트 MoE는 별도 인스턴스를 호출하는 거라 라우팅 비용이 발생한다. 이론상 75~90% 효율이지만 실제는 40~65% 정도로 떨어진다.
그래도 의미 있는 수치다. 워크플로우 50스텝 기준으로 단일 에이전트 $11.25 vs 분리 에이전트 $3.96. 65% 절감. 규모가 커지면 이 차이가 운영 비용을 결정한다.
Goodhart's Law가 여기서도 작동한다
컨텍스트 창을 하나의 Oracle로 생각해보면 이 문제가 다르게 보인다.
Oracle Problem의 핵심은 측정 기준이 목표화되면 기능을 잃는다는 것이다. 에이전트가 컨텍스트를 "잘 채워야 한다"는 목표를 갖게 되면 — 지식도, 상태도, 이력도 모두 중요하다는 이유로 — 정작 중요한 정보가 희석된다.
Knowledge Agent와 Workflow Agent를 분리한다는 것은 각자의 컨텍스트가 순수한 상태를 유지하도록 설계하는 것이다. 지식 에이전트의 컨텍스트에는 개념과 관계만. 워크플로우 에이전트의 컨텍스트에는 상태와 이력만.
이것이 가능하려면 두 에이전트 사이에 명확한 계약이 필요하다. Knowledge Agent는 실행 결과를 알 필요가 없고, Workflow Agent는 KB 전체를 볼 필요가 없다. 두 에이전트는 최소한의 정보 패킷으로 소통한다.
Knowledge Agent가 넘기는 것:
관련 개념 목록
개념 간 관계
핵심 사실 3~5개
확신도
불확실한 부분
워크플로우 에이전트는 이 패킷만 받는다. KB에 직접 접근하지 않는다.
메모리 레이어 분리는 자연스러운 결론이다
생각해보면 인지과학에서도 비슷한 분류가 있다. 의미 기억(semantic memory)과 일화 기억(episodic memory)과 절차 기억(procedural memory)은 뇌의 다른 영역에서 처리된다.
에이전트에 적용하면 이렇다.
의미 기억(Semantic)은 지식 베이스다. 개념, 관계, 엔터티. Knowledge Agent의 영역.
일화 기억(Episodic)은 실행 이력이다. 언제 무엇을 했고, 어떤 결과가 나왔는지. Workflow Agent의 영역.
절차 기억(Procedural)은 스킬이다. 어떤 도구를 어떻게 쓰는지. 역시 Workflow Agent의 영역.
이 세 가지를 억지로 하나에 합쳐야 할 이유가 없다. 오히려 분리가 더 자연스럽다.
지금 우리 KB에서 이미 일어나고 있는 일
돌아보면 MSM 멀티홉 추론이 Knowledge Agent 역할을 해왔다. KB를 탐색하고, 크로스도메인 인사이트를 추출하고, 구조화된 결과를 돌려주는 것.
Claude Code가 파일을 만들고, 커밋하고, 푸시하는 건 Workflow Agent 역할이다.
둘이 이미 분리되어 작동하고 있었다. 그것을 의도적으로 설계한 게 아니라 자연스럽게 분화된 것인데, 실제로 그 방향이 맞았다.
다음 단계는 이 분리를 명시적 아키텍처로 만드는 것이다. 라우터가 쿼리를 받아서 "이건 지식 문제다" vs "이건 실행 문제다"를 판단하고, 각각의 전문 에이전트에게 보내는 구조.
그 사이의 계약을 잘 설계하는 것이 핵심이다.
참고
- Mixtral 8×7B. Mixture of Experts. arXiv 2024.
- Yao et al. ReAct: Synergizing Reasoning and Acting in Language Models. ICLR 2023.
- Park et al. Generative Agents: Interactive Simulacra of Human Behavior. CHI 2023.
- Wang et al. Mixture-of-Agents Enhances Large Language Model Capabilities. arXiv 2024.