컨텍스트 낭비를 멈추세요
Source: Dev.to
Introduction
OpenAI는 “컨텍스트는 희소한 자원이다.” 라고 말합니다.
그것을 그런 자원처럼 다루세요.
거대한 지시 파일은 안전하고 철저해 보일 수 있지만, 실제 작업, 코드, 그리고 관련 제약 조건을 가려버립니다. 에이전트는 텍스트가 많아진다고 똑똑해지는 것이 아니라, 오히려:
- 잡음 속에 숨은 실제 제약을 놓친다
- 잘못된 목표를 최적화하기 시작한다
- 지금은 중요하지 않은 지시사항에 과적합한다
The Right Mental Model
컨텍스트를 실행 중인 시스템의 RAM처럼 생각하세요:
- 유한함
- 비용이 높음
- 현재 처리 중인 것에만 사용
LLM 컨텍스트도 마찬가지입니다.
Optimizing “RAM”
Remove
- 더 이상 적용되지 않는 이전 결정
- 중복된 지시
- 오래된 제약
- “알면 좋은” 설명
현재 작업에 필요하지 않다면 메모리에 남겨두지 마세요.
Don’t Preload
- 모든 코딩 표준
- 모든 아키텍처 문서
- 모든 스쿼드 규칙
Instead
- 현재 단계와 관련된 내용만 주입
- 범위가 작은 에이전트 사용
- 필요할 때마다 특정 문서 가져오기
컨텍스트는 동적이어야 하며, 일체형이 되어서는 안 됩니다.
Structuring Instructions
다음과 교체:
- 긴 문단
- 반복되는 정책 텍스트
- 장황한 설명
다음과 같이:
- 핵심 요점 정리
- 구조화된 규칙
- 정형화된 참조
RAM에 라이브러리를 복제하지 않듯이—참조만 하면 됩니다.
Example File Layout
하나의 거대한 지시 파일 대신, 별도이고 집중된 문서를 유지하세요:
core-standards.mdfrontend-guidelines.mdbackend-guidelines.mdarchitecture‑principles.md
현재 작업이 다루는 부분만 로드합니다.
Stable vs. Temporary Constraints
- 안정적인 원칙(코딩 철학, 아키텍처 가치)은 간결하고 추상적이어야 합니다.
- 일시적인 작업 제약(버그 수정, 엔드포인트 구현)은 정확하고 범위가 한정되어야 합니다.
두 가지를 섞지 마세요.
Best Practices
- 안정적인 원칙은 간결하게 유지.
- 작업 컨텍스트는 정확하고 범위가 한정되게 유지.
- 제약을 많이 추가할수록 모델은 지시 준수에 더 집중합니다—모델에 모든 것을 주어도 승리할 수 없습니다.
Conclusion
큰 컨텍스트 ≠ 더 좋은 출력.
컨텍스트를 RAM처럼 다루세요:
- 가볍게 유지
- 최신 상태로 유지
- 의도적으로 로드
- 적극적으로 제거
메모리를 잘 관리하는 시스템이 더 좋은 성능을 보입니다. 에이전트도 마찬가지입니다.