에이전트형 AI 시스템에서 컴팩트 메모리(Compact Memory)는 얼마나 많은 비용을 절감할 수 있는가?
요약
에이전트형 AI 시스템에서 전체 대화 기록을 매번 전송하는 대신, 필요한 정보만 검색하여 사용하는 컴팩트 메모리(Compact Memory)의 비용 절감 효과를 분석합니다. ASM-CM 모델을 통해 토큰 사용량을 최적화함으로써 대규모 사용자 환경에서 발생하는 막대한 API 비용을 줄일 수 있음을 보여줍니다.
핵심 포인트
- 전체 히스토리를 전송하는 대신 관련 메모리만 검색하여 컨텍스트 윈도우 효율화
- ASM-CM 모델을 활용한 토큰 기반 비용 절감 공식 제시
- 사용자 및 에이전트 수가 증가할수록 컴팩트 메모리의 경제적 가치 급증
- 입력 토큰 절감 외에 인프라 및 유지보수 비용 고려 필요
에이전트형 시스템(Agentic systems)에는 메모리가 필요합니다.
고객 서비스 에이전트는 고객에게 약속한 내용을 기억해야 합니다. NPC는 관계와 과거 사건을 보존해야 합니다. 기업용 어시스턴트는 며칠 또는 몇 달 전에 내려진 결정을 복구해야 합니다.
가장 직접적인 해결책은 대화 기록(conversation history)을 언어 모델(language model)로 다시 보내는 것입니다.
하지만 문제가 있습니다:
기록은 계속 늘어나며, 이를 로드하는 비용 또한 함께 증가합니다.
컨텍스트 윈도우(context windows)가 커지면 모델이 더 많은 정보를 처리할 수 있지만, 그 모든 정보가 다음 결정에 유의미한 것은 아닙니다.
이러한 문제는 ASM-CM — Aletheion Compact Memory Model의 동기가 되었습니다.
ASM-CM은 다른 전략을 조사합니다:
성장하는 로컬 히스토리 (growing local history)
↓
컴팩트 연상 메모리 (compact associative memory)
...
과거의 전체 내용을 보내는 대신, 시스템은 현재 상호작용과 관련된 메모리만을 검색(retrieve)합니다.
이 글에서는 이러한 접근 방식이 얼마나 많은 비용을 절감할 수 있는지 추정합니다.
기본 공식
다음과 같이 정의합니다:
H: 전체 히스토리의 토큰 수R: 메모리 시스템에 의해 검색된 토큰 수C: 하루당 호출 횟수P: 백만 개 입력 토큰당 가격
대략적인 월간 절감액은 다음과 같습니다:
saving =
30 × C × (H - R) / 1,000,000 × P
이 계산은 더 이상 전송되지 않는 입력 토큰(input tokens)만을 다룹니다.
우리는 여전히 다음 항목들을 차감해야 합니다:
- 로컬 인프라 (local infrastructure)
- 전기 (electricity)
- 지속성 저장소 (persistent storage)
- 운영 (operations)
- 메모리 시스템의 유지보수 (maintenance of the memory system)
LLM이 로컬에서 실행되지 않는 한, 출력 토큰(Output-token) 비용 또한 변하지 않습니다.
시나리오 1: 한 사람이 매일 에이전트를 사용하는 경우
한 사람이 하루에 50번 에이전트와 상호작용한다고 가정해 봅시다.
평균적으로:
전체 히스토리 (Complete history): 20,000 tokens
검색된 컨텍스트 (Retrieved context): 2,000 tokens
절약된 토큰 (Avoided tokens): 호출당 18,000 tokens
...
한 달 동안:
18,000 × 50 × 30
= 27,000,000 절약된 토큰
현재 OpenAI API 입력 가격을 기준으로 삼으면:
| 모델 (Model) | 1M 입력 토큰당 가격 | 월간 절감액 |
|---|---|---|
| GPT-5.6 Luna | $1.00 | $27.00 |
| ... | ||
| 참조: OpenAI API models and pricing |
개인 한 명에게 있어 이 절감액은 혁명적인 수준은 아닙니다. 하지만 사용자 수와 에이전트(Agent)의 수가 증가할수록 그 의미는 더욱 커집니다.
시나리오 2: 100명의 사용자를 보유한 기업
이제 다음을 고려해 보십시오:
사용자 수 (Users): 100
사용자당 일일 호출 횟수 (Calls per user per day): 50
일일 총 호출 횟수 (Total calls per day): 5,000
...
월간 절감된 입력 토큰 (Monthly avoided input):
5,000 × 18,000 × 30
= 27억 (2.7 billion) 토큰
대략적인 절감액:
| 모델 (Model) | 월간 절감액 |
|---|---|
| GPT-5.6 Luna | $2,700 |
| ... |
이 정도 규모에서는 메모리(Memory)가 단순한 제품 기능(Product feature)을 넘어섭니다.
그것은 인프라 결정(Infrastructure decision)이 됩니다.
시나리오 3: 장기 실행 에이전트를 보유한 플랫폼
다음과 같은 처리를 수행하는 플랫폼을 가정해 보십시오:
일일 호출 횟수: 10,000회
호출당 히스토리 토큰 (History tokens per call): 32,000개
ASM-CM에 의해 검색된 토큰 (Tokens retrieved by ASM-CM): 2,000개
이는 호출당 30,000개의 입력 토큰을 줄이는 것입니다.
한 달 동안:
10,000 × 30,000 × 30
= 90억 (9 billion) 절감된 토큰
잠재적 절감액:
| 모델 (Model) | 월간 절감액 |
|---|---|
| GPT-5.6 Luna | $9,000 |
| ... |
이 수치들은 캐시되지 않은 입력(Uncached input)을 가정하며, 로컬 메모리 인프라(Local memory infrastructure) 비용은 아직 차감하지 않은 결과입니다.
프롬프트 캐싱 (Prompt caching)은 어떤가요?
이 비교는 다음과 같은 중요한 반론을 다루어야 합니다:
LLM 제공업체는 캐시된 입력 토큰(Cached input tokens)에 대해 할인을 제공한다.
참조 모델들의 경우, 현재 캐시된 입력 비용은 일반 입력 비용의 약 10분의 1 수준입니다:
| 모델 (Model) | 일반 입력 (Regular input) | 캐시된 입력 (Cached input) |
|---|---|---|
| Luna | $1.00 | $0.10 |
| ... | ||
| 참조: OpenAI model comparison |
만약 제거된 모든 히스토리 토큰이 완벽한 캐시 히트(Cache hit)를 기록한다고 가정한다면, 절감액 또한 약 10배 정도 작아질 것입니다.
27억 개의 토큰을 절감하는 기업 시나리오의 경우:
| 모델 (Model) | 캐싱 미사용 (Without caching) | 이상적인 캐싱된 히스토리 (Ideal cached history) |
|---|---|---|
| Luna | $2,700 | $270 |
| ... |
실제 배포 환경은 대개 이러한 양극단 사이의 어딘가에 위치할 것입니다.
정적인 프롬프트 섹션은 캐싱될 수 있지만, 새로운 이벤트, 도구 결과(tool results), 그리고 검색된 메모리(retrieved memories)는 계속해서 변화합니다.
따라서 진지한 비교를 위해서는 다음 항목들을 측정해야 합니다:
- 일반 입력 토큰 (regular input tokens)
- 캐싱된 입력 토큰 (cached input tokens)
- 캐시 히트율 (cache-hit rate)
- 캐시 만료 (cache expiration)
- 검색 품질 (retrieval quality)
- 상호작용당 총 비용 (total cost per interaction)
두 번째 절감 요소: KV 캐시 (KV cache)
LLM을 로컬에서 실행할 때는 또 다른 비용 요소가 중요해집니다: 바로 트랜스포머(Transformer)의 KV 캐시(KV cache)입니다.
생성(generation) 과정 동안, 트랜스포머는 일반적으로 이전 토큰들과 관련된 키(keys)와 값(values)을 유지합니다.
정확한 크기는 아키텍처(architecture)에 따라 다르지만, 다음과 같은 예시를 통해 설명할 수 있습니다:
32 레이어 (layers)
8 KV 헤드 (KV heads)
헤드 차원 (head dimension) 128
...
토큰당 대략적인 저장 용량은 다음과 같습니다:
2 × 32 × 8 × 128 × 2 bytes
= 131,072 bytes
= 토큰당 128 KiB
32K 토큰의 경우:
128 KiB × 32,768
≈ 스트림당 4 GiB
만약 메모리 레이어가 LLM으로 전송되는 컨텍스트(context)를 32K에서 2K로 줄인다면:
| 활성 컨텍스트 (Active context) | 예상 KV 캐시 (Estimated KV cache) |
|---|---|
| 32K | 4 GiB |
| ... |
이 추정치는 모든 트랜스포머에 동일하게 적용되지는 않습니다. 그룹화된 쿼리 주의 집중(grouped-query attention), 양자화(quantization) 또는 기타 최적화 기법을 사용하는 모델은 다른 수치를 보일 것입니다.
하지만 근본적인 속성은 여전히 유효합니다:
활성 컨텍스트(active context)를 줄이면 KV 캐시에 필요한 메모리 또한 줄일 수 있습니다.
ASM-CM으로 측정한 것
현재의 실험 프로토콜에서, ASM-CM은 다음과 같은 성과를 달성했습니다:
- 32K에서 100% MQAR 검색 (retrieval) 달성;
- 3개의 시드 (seed) 전체에서 승인;
- 스트림당 약 140 KiB의 유지된 상태 (retained state);
- 평가된 컴포넌트의 피크 VRAM (peak VRAM) 약 363.66 MiB;
- 15개 중 15개의 메모리 파일럿 (memory-pilot) 케이스 통과;
- 캐릭터당 무려 10,000개의 방해 요소 (distractors) 이후에도 검색 가능;
- 독립적으로 훈련된 3개의 체크포인트 (checkpoints)로 확인;
- 실제 프로세스 재시작을 포함한 1시간의 시간 제한 내구성 테스트;
- 스냅샷 (snapshot), 복구 (restoration) 및 해시 검증 (hash verification).
이러한 측정 범위는 매우 중요합니다:
약 363 MiB라는 수치는 측정된 프로토콜 하의 ASM-CM 컴포넌트에 해당합니다.
완전한 애플리케이션은 또한 다음과 같은 항목을 위한 메모리가 필요합니다:
- LLM (대규모 언어 모델);
- 데이터베이스 (database);
- 사용자 인터페이스 (user interface);
- 런타임 (runtime);
- 기타 서비스.
천 명의 에이전트에게 천 개의 모델이 필요할까요?
반드시 그렇지는 않습니다.
각 에이전트가 독립적인 상태 (state)를 유지하는 동안 모델은 공유될 수 있습니다.
스트림당 약 140 KiB일 때:
1,000 × 140 KiB
≈ 137 MiB
측정된 공유 컴포넌트를 더하면:
ASM-CM 컴포넌트: 약 366 MiB
천 개의 상태: 약 137 MiB
대략적인 총합: 약 503 MiB
이는 상태 저장 (state-storage) 투영치이며, 천 명의 동시 에이전트에 대한 벤치마크는 아닙니다.
우리는 여전히 다음 항목들을 측정해야 합니다:
- 동시성 (concurrency);
- 배치 처리 (batching);
- 지연 시간 (latency);
- 경합 (contention);
- 총 처리량 (aggregate throughput);
- 지속성 (persistence);
- 프로덕션 리소스 소비 (production resource consumption).
프라이버시 또한 경제적 가치를 가집니다
API 청구서에 직접적으로 나타나지 않는 또 다른 절감 요소가 있습니다.
전체 이력이 외부 LLM으로 반복해서 전송된다면, 조직은 다음과 같은 사항들을 관리해야 합니다:
- 거버넌스 (governance);
- 보유 (retention);
- 계약 (contracts);
- 감사 (auditing);
- 데이터 최소화 (data minimization);
- 민감 정보 노출 (exposure of sensitive information);
- 액세스 정책 (access policies).
로컬 메모리 아키텍처는 다음과 같은 다른 흐름을 가능하게 합니다:
개인 로컬 데이터 (private local data)
↓
ASM-CM
...
이것이 시스템을 자동으로 안전하게 만들어주는 것은 아닙니다.
여전히 다음과 같은 사항들이 필요합니다:
- 암호화 (encryption);
- 인증 (authentication);
- 접근 제어 (access control);
- 테넌트 격리 (tenant isolation);
- 감사 (auditing);
- 검증 가능한 삭제 (verifiable deletion);
- 메모리 포이즈닝 방지 (protection against memory poisoning).
하지만 이는 중요한 아키텍처적 차이를 도입합니다:
답변을 생성하는 모델이 조직의 전체 메모리를 수신할 필요가 없습니다.
어디에서 절감 효과가 가장 커야 하는가?
ASM-CM은 다음과 같은 경우에 경제적으로 더 유용할 것입니다:
- 히스토리(history)가 긴 경우;
- 상호작용(interactions)이 많은 경우;
- 과거의 아주 작은 부분만이 관련이 있는 경우;
- 모든 사용자 또는 에이전트가 격리된 메모리를 필요로 하는 경우;
- 데이터가 로컬(local)에 유지되어야 하는 경우;
- 외부 LLM 비용이 비싼 경우;
- KV 캐시(KV cache)가 로컬 추론(local inference)을 제한하는 경우;
- 에이전트가 며칠 또는 몇 달 동안 계속 실행되는 경우.
반면, 다음과 같은 경우에는 절감 효과가 더 작을 것입니다:
- 대화가 짧은 경우;
- 호출(calls) 횟수가 적은 경우;
- 히스토리가 거의 완벽한 캐시 히트율(cache-hit rate)을 보이는 경우;
- 외부 모델 비용이 매우 저렴한 경우;
- 거의 전체 히스토리를 검색(retrieve)해야 하는 경우;
- 로컬 인프라 비용이 제거된 토큰 비용보다 더 큰 경우.
여전히 필요한 벤치마크
이러한 전망을 검증된 상업적 주장으로 바꾸기 위해서는 다음을 비교해야 합니다:
전체 히스토리 (Complete history)
vs.
프롬프트 캐싱 (Prompt caching)
...
벤치마크는 다음 항목들을 측정해야 합니다:
- 일반 입력 토큰 (regular input tokens);
- 캐시된 토큰 (cached tokens);
- 출력 토큰 (output tokens);
- 답변 품질 (answer quality);
- 회상 (recall);
- 지연 시간 (latency);
- VRAM;
- 에너지 (energy);
- 1,000회 상호작용당 비용 (cost per thousand interactions);
- 검색 실패 (retrieval failures);
- 보안 및 격리 (security and isolation).
단순히 비용이 저렴한 것만으로는 충분하지 않습니다.
검색된 메모리는 반드시 정확성을 유지해야 합니다.
결론
다음과 같은 예시적인 엔터프라이즈 시나리오의 경우:
- 일일 호출 5,000회;
- 평균 히스토리 20K 토큰;
- 검색된 컨텍스트 2K 토큰;
ASM-CM과 같은 메모리 계층은 한 달에 약 27억 개의 입력 토큰을 절약할 수 있습니다.
모델과 캐시 활용도에 따라, 이는 매달 수백 또는 수천 달러에 달할 수 있습니다.
더 큰 플랫폼 규모에서는 잠재적 절감액이 매달 수만 달러에 이를 수 있습니다.
하지만 가장 중요한 가치는 순수하게 재정적인 것만이 아닐 수도 있습니다.
그것은 다음과 같은 에이전트(agents)를 구축할 가능성입니다:
- 더 오래 기억하는;
- 필요한 것만 검색(retrieve)하는;
- 개인 데이터를 로컬(local)에 유지하는;
- 정보를 더 적게 공개하는;
- 매 결정 전에 과거의 모든 내용을 다시 불러올(reload) 필요가 없는;
어쩌면 더 나은 에이전트는 모든 것을 동시에 기억할 필요가 없을지도 모릅니다.
어쩌면 적절한 순간에 적절한 것을 기억해야 할지도 모릅니다.
ASM-CM은 AletheionAGI의 실험적인 프로젝트입니다.
우리는 에이전트, 게임, 그리고 로컬 시스템에서의 지속성 메모리(persistent-memory) 파일럿 프로그램을 위한 파트너를 선정하고 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기