Context Engineering — 에이전트 품질을 결정하는 진짜 레버
프롬프트 엔지니어링을 넘어선 컨텍스트 엔지니어링의 4가지 구성요소와 실전 패턴을 정리한다.
"프롬프트를 잘 쓰면 된다"는 시대는 지났다. 이제 경쟁력은 컨텍스트를 잘 설계하느냐에서 갈린다.
Context Engineering은 LLM에게 전달되는 전체 정보 환경을 의도적으로 구성하는 실천이다. 시스템 프롬프트 한 줄이 아니라, 대화 이력·도구 응답·문서·메모리까지 모두 포함된다.
프롬프트 엔지니어링과 뭐가 다른가
| 항목 | 프롬프트 엔지니어링 | 컨텍스트 엔지니어링 |
|---|---|---|
| 단위 | 단일 입력 문자열 | 입력 전체 환경 |
| 범위 | 한 턴 | 세션 전체 |
| 변수 | 문구·예시 | 문구 + 메모리 + 검색 + 도구 |
| 평가 | 출력 품질 | 태스크 완결률 |
| 책임 | 프롬프트 작성자 | 시스템 아키텍트 |
비유하면 프롬프트 엔지니어링은 요리사에게 레시피를 주는 일이고, 컨텍스트 엔지니어링은 주방 전체를 설계하는 일이다. 재료 배치, 도구 접근성, 화구 순서까지 모두 해당한다.
컨텍스트의 4가지 구성요소
1. Instruction Context — 지시 정보
시스템 프롬프트, 역할, 출력 형식 규칙 등.
너는 고객 지원 에이전트다.
답변은 3문장 이내로, 존댓말로 작성한다.
고객 개인정보는 절대 반복해서 노출하지 않는다.2. State Context — 상태 정보
현재 대화 이력, 이전 도구 호출 결과, 사용자 선호 설정. 세션이 길어질수록 이 부분이 비대해진다.
3. Knowledge Context — 지식 정보
RAG로 검색된 문서, 코드베이스 발췌, 제품 매뉴얼. 에이전트가 "사실"을 근거로 말하게 만든다.
[💡 잠깐! 이 용어는?] RAG(Retrieval-Augmented Generation): 질의에 맞는 외부 지식을 검색해서 LLM 입력에 붙이는 패턴. 모델이 최신 정보나 사내 데이터를 참고할 수 있게 해준다.
4. Tool Context — 도구 정보
사용 가능한 도구 스키마, 이전 호출 결과, 에러 메시지. MCP 서버 연결이 여기 포함된다.
컨텍스트 윈도우 관리 전략
긴 세션에서 컨텍스트가 폭발하는 걸 막는 네 가지 전략이다.
function trimContext(messages, maxTokens) {
const system = messages.filter(m => m.role === 'system')
const recent = messages.slice(-10)
const summary = summarizeOld(messages.slice(0, -10))
return [...system, { role: 'system', content: summary }, ...recent]
}1. Sliding Window — 최근 N개만 유지. 간단하지만 앞부분 정보 유실 위험.
2. Summarization — 오래된 내용을 요약으로 대체. 토큰은 아끼지만 디테일 손실.
3. Semantic Compression — 중요도 점수로 필터링. 품질 좋지만 구현 복잡.
4. External Memory — 벡터 DB에 저장하고 필요할 때만 검색. 세션 간 영속성도 확보.
대부분의 프로덕션 에이전트는 이 네 가지를 조합해서 쓴다.
실전 패턴
계층적 컨텍스트
역할마다 다른 컨텍스트를 주는 구조다.
| 레이어 | 내용 | 빈도 |
|---|---|---|
| Global | 회사 톤, 금지 사항 | 항상 |
| Session | 사용자 프로필, 현재 작업 | 세션마다 |
| Turn | 직전 메시지, 도구 응답 | 매 턴 |
| Tool | 도구 스키마, 최근 에러 | 호출 시점 |
컨텍스트 오염 감지
에이전트가 엉뚱한 답을 내놓을 때, 프롬프트가 아니라 컨텍스트에 독이 들어간 경우가 많다. 이전 도구 응답의 에러, 무관한 검색 결과, 사용자의 오탈자가 누적된다.
포인트: 에이전트 품질이 떨어지면 모델을 바꾸기 전에 컨텍스트를 먼저 감사하라.
측정과 개선
컨텍스트 품질을 측정할 만한 지표는 이렇다.
- 토큰 효율성: 전체 대비 실제 사용된 정보 비율
- 관련성 점수: 포함된 문서 조각의 질의 관련도
- 오염 빈도: 무관한 정보가 응답에 섞이는 비율
- 재검색 비율: 같은 정보를 다시 찾는 빈도
정리
- 프롬프트 한 줄보다 컨텍스트 전체 환경이 품질을 결정한다
- 구성요소는 지시·상태·지식·도구 네 레이어로 나눌 수 있다
- 긴 세션에서는 윈도우·요약·압축·외부 메모리 조합이 필요하다
- 에이전트 품질 저하 시 모델보다 컨텍스트 감사가 먼저다
프롬프트 엔지니어는 개별 쿼리를 다루고, 컨텍스트 엔지니어는 에이전트의 정보 생태계를 다룬다. 앞으로 AI 제품 경쟁력은 이 생태계의 설계 깊이에서 갈린다.
참고:
같은 카테고리 · AI
비슷한 주제의 최신 글
태그가 겹치는 글
공통 태그가 많을수록 위에 보인다