AI에 더 큰 컨텍스트 윈도우보다 상태 관리(State Management)가 더 필요한 이유

새로운 모델들은 거대한 컨텍스트 윈도우를 탑재하여 출시됩니다. 가정은 간단합니다. 한 번의 요청에 더 많은 데이터를 넣으면 모든 문제가 해결될 것이라고 생각하죠.

더 많은 문서를 추가합니다. 더 많은 대화 기록을 추가합니다. 더 많은 워크플로우 데이터를 추가합니다.

하지만 AI를 실제 서비스(production)에 적용해 본 결과, 우리는 교훈을 얻었습니다. 컨텍스트 윈도우도 도움이 됩니다. 하지만 상태 관리(state management)가 훨씬 더 중요합니다.

AI가 좋지 않은 결과를 내놓을 때, 팀들은 종종 프롬프트에 더 많은 정보를 추가하곤 합니다. 모델에 더 많은 히스토리나 비즈니스 컨텍스트가 필요하다고 생각하기 때문입니다. 그렇게 프롬프트는 점점 더 커져만 갑니다.

정보가 많다고 해서 더 나은 결정을 내리는 것은 아닙니다. 오히려 그 반대의 결과가 나타나는 경우가 많습니다. 거대한 컨텍스트 윈도우는 잘못된 아키텍처를 숨겨버립니다. 시스템은 관련 있는 데이터를 골라내는 대신, 모든 것을 포함해 버립니다.

이로 인해 몇 가지 문제가 발생합니다:

모델은 더 많은 정보를 갖게 되지만, 명확성은 떨어집니다.

컨텍스트(context)와 상태(state)의 차이를 이해해야 합니다. 컨텍스트는 단일 요청 중에 사용할 수 있는 정보입니다. 상태는 시스템이 시간이 지남에 따라 알고 있는 정보입니다.

상태의 예:

이러한 정보들이 모든 프롬프트 안에 들어있을 필요는 없습니다. 분산 시스템은 모든 데이터를 사방으로 전달함으로써 복잡성을 해결하지 않습니다. 대신 데이터베이스, 캐시, 큐를 사용하여 상태를 관리합니다.

AI 시스템은 종종 이러한 원칙을 간과합니다. 컨텍스트 윈도우를 임시 데이터베이스처럼 취급하곤 합니다. 이는 아키텍처 설계의 나태함입니다.

"모든 것을 다 넣을 수 있을까?"라고 묻는 것을 멈추십시오. 대신 "어떤 정보가 필요한가?"라고 묻기 시작해야 합니다.

우리는 컨텍스트 크기를 늘리는 것이 아니라 상태 관리를 개선함으로써 더 나은 결과를 얻었습니다. 우리는 다음과 같은 방법을 사용했습니다:

이는 비용 절감과 실행 속도 향상으로 이어졌습니다. 더 큰 모델이 필요했던 것이 아닙니다. 더 나은 설계가 필요했을 뿐입니다.

목표는 모델에게 모든 것에 대한 접근 권한을 주는 것이 아닙니다. 목표는 모델에게 적절한 시점에 적절한 정보를 제공하는 것입니다.

출처: https://dev.to/karan2598/why-ai-systems-need-state-management-more-than-bigger-context-windows-2a4m

학습 커뮤니티(선택 사항): https://t.me/GyaanSetuAi