컨텍스트 정의

개요

이 문서는 transition/context-limit을 더 자세히 푸는 상세 해설이다. 컨텍스트 엔지니어링은 AI에게 정보를 많이 주는 기술이 아니다. 현재 작업에 필요한 정보를 선택하고 정렬해서 제공하는 방식이다.


컨텍스트의 정의

컨텍스트는 현재 작업을 수행하기 위해 선택되고 정렬된 정보의 집합이다.

여기에는 다음이 포함될 수 있다.

  • 시스템 구조와 설계 의도
  • 현재 작업의 대상과 목표
  • 관련 코드와 문서
  • 작업 범위와 금지 조건

중요한 점은 많은 정보가 아니라, 현재 작업에 맞게 조직된 정보라는 것이다.


컨텍스트는 구조다

컨텍스트는 단순한 정보 나열이 아니다. 같은 정보라도 구조에 따라 해석 품질이 크게 달라진다.

좋은 컨텍스트는 다음 특징을 가진다.

  • 역할과 목적이 구분되어 있다
  • 중요한 정보가 앞에 배치된다
  • 금지 조건과 범위가 명시된다
  • 관련 정보끼리 가까이 놓인다

기본 레이어

좋은 컨텍스트는 보통 네 층으로 나뉜다.

시스템 레이어

  • 아키텍처
  • 핵심 규칙
  • 설계 의도

작업 레이어

  • 수정 대상
  • 현재 목표
  • 변경 요구사항

참조 레이어

  • 유사 코드
  • 관련 문서
  • 참고 구현

제한 레이어

  • 수정 가능한 영역
  • 접근 가능한 자원
  • 금지 조건

기본 구성 원칙

최소 충분성

필요한 정보만 포함한다. 과도한 정보는 중요 정보를 묻어버린다.

근접성

관련 정보는 가까이 배치한다. 탐색 비용을 줄이는 것이 중요하다.

명시성

변경 대상, 금지 영역, 핵심 규칙은 명시적으로 보여야 한다. 암묵적 가정은 긴 작업에서 쉽게 사라진다.

안정성

같은 종류의 작업에는 가능한 한 비슷한 형식의 컨텍스트를 제공하는 편이 낫다. 그래야 결과가 덜 흔들린다.


컨텍스트는 무엇이 아닌가

컨텍스트는 다음과 다르다.

  • 전체 코드베이스 복사본
  • 긴 설명문 자체
  • 규칙 강제 장치
  • 메모리 저장소의 단순 덤프

컨텍스트는 판단을 돕는 구조이지, 행동을 통제하는 구조는 아니다.


요약

  • context는 정보량이 아니라 구조의 문제다
  • 좋은 context는 작업 패킷처럼 구성된다
  • 시스템, 작업, 참조, 제한 레이어를 구분하는 편이 낫다
  • 하지만 context만으로는 통제가 완성되지 않는다

좋은 컨텍스트는 많은 정보가 아니라, 잘 배치된 정보다.