블로그 | CTO 사무실

AI에서 컨텍스트 창 관리가 마법처럼 이루어지지는 않습니다. 체계적인 설계입니다.

로리 맥비티 썸네일
로리 맥비티
2025년 8월 27일 공개

그래서 분명히 하겠습니다. AI 아키텍처에서 컨텍스트(세션)가 어디에 위치하는지 이해하는 것이 매우 중요합니다. 제가 블로그에 'dang'이라는 단어를 쓴 이유죠. 정말로 그렇습니다.

LLM 기반 앱을 직접 빌드하고 OpenAI API를 사용하는 경우 ChatGPT를 사용 하지 않습니다 . 당신은 모델과 대화하고 있어요. 생것. 그리고 앱이 GPT-4를 호출한다는 이유만으로 ChatGPT처럼 동작할 것이라고 생각한다면 이미 잘못된 생각입니다.

ChatGPT는 모델이 아닌 실행 환경입니다.

사람들은 OpenAI 브랜딩 때문에 자주 오해합니다. “ChatGPT” 경험—기억, 어조, 맥락, 여섯 질문 전 대화를 자연스럽게 이어가며 갑자기 해양 식물학 박사 자격을 착각하지 않는 것—은 마법이 아닙니다. 이것은 체계적인 설계입니다. 그리고 그런 설계는 API를 사용할 때 공짜로 얻어지는 것이 아닙니다.

ChatGPT 앱은 계층화되어 관리되는 경험을 제공합니다. 다음 요소들을 유기적으로 결합합니다:

  • 프롬프트 엔지니어링
  • 컨텍스트 관리
  • 영속 메모리
  • 안전 장치와 대체 방안
  • 요약, 축약 및 제어 논리

API에서는 기본적으로 그런 기능을 아무것도 제공하지 않습니다.

GPT-4 (또는 다른 어떤 모델이라도) 직접 호출하면, 상태가 없는 형식으로 메시지를 그대로 전달하며 컨텍스트 창이 넘치거나 끊기지 않기를 기대하는 것입니다. 이 모델은 디지털 집사가 아닌 빈 그릇과 같습니다.

컨텍스트 창은 당신에게 달려 있습니다.

ChatGPT에서 추론 서버가 전체 컨텍스트 창을 관리합니다. 당신이 입력하면 서버가 기억하고(때로는 기억하지 못하지만), 앱을 믿고 관련 내용을 대부분 정확하게 추적할 수 있습니다. 그 위에 메모리 시스템이 겹쳐져 있으며, OpenAI가 어떤 정보가 다시 전달될지 신중히 관리합니다.

API를 사용하고 계신가요? 여러분이 바로 추론 서버입니다. 즉:

  • 당신이 메시지 스택을 구축합니다.
  • 포함할 내용을 직접 선택하세요.
  • 당신이 토큰 예산을 관리합니다.
  • 내용을 줄이거나 요약하면서 의미의 일관성을 잃게 됩니다.

초반에 실수하실 텐데, 저희 모두 그렇습니다. 세션 도중 모델이 사용자 이름을 잊거나 입력하지 않은 데이터를 만들어내기 시작하면 그 책임은 여러분에게 있습니다.

메모리는 기능이 아닙니다. 기반 인프라입니다.

ChatGPT는 기억을 가지고 있습니다. 하지만 당신은 그렇지 않습니다. 직접 만들어야만 합니다. API를 사용할 때는 상태가 저장되지 않습니다. 모든 맥락, 기억, 흐름을 당신이 관리해야 합니다. ChatGPT 앱을 사용하면 OpenAI가 모든 것을 알아서 처리합니다. 기본으로 내장되어 있습니다.

ChatGPT의 ‘메모리’는 단순히 프롬프트에 붙인 메모가 아닙니다. 우리는 사용자 사실, 선호, 목표, 제약 조건을 세션 간 저장하고 적시에 프롬프트에 상황에 맞게 반영하는 시스템을 구축합니다. 앱에 이런 기능이 필요하다면 다음이 필요합니다.

  • 데이터 저장소
  • 메모리 엔트리 구조
  • 포함 시점과 내용을 결정하는 제어 로직
  • 토큰 수가 불필요하게 증가하지 않도록 하는 방법

즉, 인프라입니다.

대부분 자체 개발 AI 앱이 불안정하게 느껴지는 이유입니다. LLM을 챗봇으로 대할 뿐, 시스템 내 도구로 활용하지 않기 때문이죠. 그 결과는? 대화 흐름 단절, 반복되는 명령, 이상한 오류, 그리고 사용자 불만입니다.

무엇을 의미하나요?

API 위에 구축한다면 원하든 원하지 않든 인프라를 만드는 겁니다. 사용자가 ChatGPT 같은 경험을 기대한다면, 반드시 그에 맞춰 제공해야 합니다:

  • 영속 메모리
  • 지능형 컨텍스트 압축
  • 턴 방식 상태 관리
  • 안전장치, 백업 방안, 그리고 주입 로직

그건 시작에 불과합니다. 엔터프라이즈급 앱 전송 스택 위에 구축하고 계시죠, 맞나요? 맞죠? 그렇다면 플랫폼 전체가 기대에 부응해야 합니다.

애플리케이션 제공과 보안 팀이 바로 여기서 핵심 역할을 담당합니다.

앱 딜리버리: 이제 단순히 HTML이나 JSON만 제공하지 않습니다

AI 기반 애플리케이션은 상태를 유지하며, 채팅 중심이고, 종종 실시간으로 작동합니다. 즉, 다음과 같습니다.

  • 세션 어피니티가 다시 중요해졌습니다. 세션 토큰을 2009년 방식으로 관리하지 않는다면 상태 비저장 백엔드에서 대화 상태를 분할할 수 없습니다.
  • 지연은 사용자 경험을 망칩니다. 정적 페이지가 아닌 다중 대화 흐름을 실시간으로 제공합니다. 로드 밸런서와 엣지 로직이 저지연 대화 흐름을 우선적으로 처리하는 방법을 반드시 알고 있어야 합니다.
  • 토큰 비용은 대역폭, 컴퓨팅, 현금으로 결정됩니다. 효율적인 전달이 지금 가장 중요합니다. 페이로드 크기는 단순 네트워크 문제가 아닌 청구에 직접 영향을 미칩니다.

이곳은 단순한 소개 페이지가 아닙니다. 실시간 상호작용하는 인터페이스입니다. 그 위에 CDN만 얹어서 문제를 해결할 수 없습니다.

보안: 프롬프트를 직접 관리하지 않으면 위험을 떠안게 됩니다

LLM은 프롬프트로 제어할 수 있습니다. 즉, 프롬프트가 새로운 공격 지점이 됩니다.

  • 주입 공격은 현실이며 이미 발생하고 있습니다. 입력 필터링이 느슨하면 사용자가 AI를 실시간으로 재프로그래밍할 수 있도록 허용하는 셈입니다.
  • 프롬프트 조작은 민감한 메모리를 노출시키고, 작업 흐름을 방해하며, 의도를 속일 수 있습니다.
  • 모델 출력은 정책 집행과 모니터링 없이 외부 유출되거나 조작, 오염될 수 있습니다.

보안 제어는 계속 발전해야 합니다.

  • AI 트래픽을 이해하는 WAF가 필요합니다. 나쁜 JSON 차단만으로는 부족합니다. 페이로드 구조뿐 아니라 명령어 집합에도 보호막이 필요합니다.
  • 규제가 엄격한 환경일수록 LLM 결정에 대한 감사 기록이 반드시 필요합니다.
  • API 호출뿐만 아니라 프롬프트 복잡성과 비용 급증에도 속도 제한과 악용 방지가 필요합니다.

그리고 사용자 기록을 컨텍스트 창에 주입하면서 발생하는 데이터 거버넌스 문제는 아예 언급하지도 않았습니다.

에이전트 AI가 통제 불능 상태가 되기 전에 지금 바로 적합한 스택을 구축하세요.

ChatGPT는 완성도 높은 제품입니다. OpenAI API는 기본 도구입니다. 두 가지를 혼동하면 시스템이 다운될 겁니다.

현명하게 구축하세요. 급성장하는 AI 포트폴리오를 지원할 엔터프라이즈급 앱 딜리버리와 보안 스택을 구축하세요. 직접 느껴보세요. AI 에이전트를 만들고 에이전트 기반 아키텍처를 적극 도입할수록 그 중요성은 더욱 커집니다. 최종 사용자용 AI 애플리케이션에서 컨텍스트 변화와 환각 문제가 심각하다고 생각한다면, 에이전트형 AI가 비즈니스와 운영 AI 애플리케이션에 미치는 영향은 훨씬 더 클 겁니다.