LLM과 스크립트의 협업 설계 — 판단은 AI에게, 실행은 코드에게

LLM과 스크립트의 협업 설계 — 판단은 AI에게, 실행은 코드에게

토큰 96% 절감을 달성한 AI 에이전트의 역할 분리 아키텍처


핵심 요약

  • LLM은 의미론적 판단에, 스크립트는 규칙 기반 실행에 각각 배치하는 것이 핵심 원칙이다
  • Reflect 파이프라인의 토큰 사용량을 277k에서 5k로 96% 줄였다
  • 12개 자동화 스크립트를 데이터 변환, 검증, 정리, 실시간 호출 4가지로 분류 운용 중이다

배경

AI 에이전트 시스템을 운영하면서 LLM의 한계를 반복적으로 경험했다. 단순 데이터 변환에도 막대한 토큰을 소비하고, 동일 입력에 다른 결과를 내놓으며, 산술 연산에서는 신뢰도가 떨어졌다. "모든 걸 LLM에게 맡기면 된다"는 접근은 비용과 정확도 양쪽에서 실패했다.

설계 철학: 판단과 실행의 분리

본문

12개 자동화 스크립트 분류

설계 철학: 판단과 실행의 분리

내가 도달한 원칙은 단순하다. 의미론적 판단이 필요한 작업은 LLM이, 엄격한 규칙 기반 작업은 Python/Bash 스크립트가 담당한다. 이 분리만으로 세 가지 성과를 얻었다.

  • 비용 절감: Reflect 파이프라인 토큰 277k에서 5k로 감소 (96%)
  • 정확도: 규칙 기반 작업에서 100% 달성
  • 결정론적 운영: 동일 입력에 항상 동일 결과 보장

12개 자동화 스크립트 분류

스크립트는 성격에 따라 네 그룹으로 나뉜다.

  1. 데이터 변환: retain-merge.py, conflict-apply.py 등 — 구조화된 데이터 처리
  2. 검증 감시: confidence-decay.py, bank-lint.py 등 — 규칙 기반 품질 검사
  3. 정리/확장: session-cleanup.py, topics-expand.py — 유지보수 자동화
  4. 실시간 호출: recall-match.py, recall-cleanup.py — 메모리 시스템 연동

하이브리드 검색 전략

메모리 시스템에서는 Recall 기반의 정확한 키워드 매칭과 임베딩(Embedding) 기반의 의미론적 검색을 함께 운용한다. 키워드 매칭은 정확도를, 임베딩 검색은 커버리지를 담당하여 서로의 약점을 보완한다.

시행착오 / 주의사항

초기에는 LLM에게 데이터 변환까지 맡겼다. 결과는 비결정론적이고 비쌌다. "LLM이 잘하는 것"과 "코드가 잘하는 것"의 경계를 명확히 긋는 데 시행착오가 필요했다. 핵심 기준은 하나다 — 판단이 필요한가, 규칙 적용이 필요한가.

마무리

LLM은 만능이 아니다. 판단과 실행을 분리하고, 각각에 최적화된 도구를 배치하는 것이 AI 에이전트 시스템의 비용과 신뢰성을 동시에 잡는 방법이다. 96%의 토큰 절감은 기술적 트릭이 아니라 아키텍처 설계의 결과였다.

댓글

이 블로그의 인기 게시물

"LLM 핵심 학습 (1/6) — 기본: 토큰화·임베딩·어텐션·위치 인코딩"

"LLM 핵심 학습 (2/6) — 파인튜닝: LoRA·QLoRA·증류·Adapter"

"ML 기초 학습 (1/9) — 머신러닝과 sklearn: 학습의 좌표계"