- "프롬프트 엔지니어링"에서 한 단계 발전한 "컨텍스트 엔지니어링"으로 논의가 전환되고 있음
- 컨텍스트란 단순한 프롬프트 문장이 아니라, LLM이 답변을 생성하기 전 볼 수 있는 모든 정보(지침, 대화이력, 장기 메모리, 외부 정보, 가용 도구 등) 를 의미함
- 에이전트의 성공과 실패는 이제 모델의 성능보다 컨텍스트의 질에 달려 있음
- 고도화된 에이전트는 사용자의 캘린더, 과거 이메일, 연락처 등 다양한 맥락을 통합해 더 실제 문제 해결에 가까운 응답을 생성함
- 컨텍스트 엔지니어링은 상황 맞춤형 동적인 시스템 설계로, 올바른 정보와 도구를 정확한 시점에 LLM에 제공하는 과정임
Context Engineering이란 무엇인가
- 최근 AI 분야에서 "컨텍스트 엔지니어링" 이라는 용어가 빠르게 확산 중임
- 기존 "프롬프트 엔지니어링" 이 단일 질문 또는 명령문 설계에 집중했다면, 컨텍스트 엔지니어링은 그보다 더 폭넓고 강력한 접근
- Tobi Lutke는 이를 "LLM이 작업을 신뢰할 수 있게 풀 수 있도록 모든 컨텍스트를 제공하는 예술"로 정의함
컨텍스트의 주요 요소
- 에이전트 시스템에서 성공적으로 작동하는지 여부는 작업 메모리(working memory)에 어떤 정보가 포함될지에 의해 크게 좌우됨
- 대부분의 에이전트 실패는 모델 문제가 아니라, 적절한 컨텍스트 부족 때문임
컨텍스트의 구성 요소
- 시스템 프롬프트/지침: 모델의 행동을 정의하는 기본 지침과 예시, 규칙 등
- 유저 프롬프트: 사용자의 즉각적인 요청이나 질문
- 상태/대화 히스토리: 현재까지의 대화 흐름 및 맥락 정보
- 장기 기억: 여러 단계를 거친 이전 대화, 사용자 선호도, 과거 프로젝트 요약, 모델이 장기적으로 기억하도록 학습된 정보 모음
- RAG(검색 기반 증강): 외부 문서, 데이터베이스, API 등에서 가져온 최신의 관련성 높은 정보
- 사용 가능한 도구: 모델이 호출할 수 있는 함수, 내장 툴들의 정의 (예: check_inventory, send_email 등)
- 구조화된 출력: 모델이 따라야 할 응답 형식 정의 (예: JSON)
컨텍스트가 중요한 이유
- 실질적으로 효과적인 AI 에이전트를 만드는 요인은 복잡한 코드나 모델 품질이 아니라, 얼마나 적절한 컨텍스트를 제공하느냐임
- 단순한 "데모용" 에이전트는 사용자 요청만 받아들여 기본 응답만 제공하는 반면, "마법 같은" 에이전트는 풍부한 컨텍스트를 고려하여 훨씬 유용하고 인간다운 답변을 생성함
- 비교
- 저품질(데모) 에이전트: 단순 요청만 보고 틀에 박힌 답변만 생성함. 예) "내일 시간 있으세요?" 메일에 "내일 가능합니다. 몇 시가 좋으신가요?" 등 기계적인 답변임
- 고품질(마법 같은) 에이전트: 본인의 캘린더, 과거 이메일 히스토리, 상대방 신원 정보, 필요한 도구 호출 옵션 등까지 모두 활용하여 자연스럽고 상황 맞춤형 답변 생성 가능함. 예) "내일은 일정이 꽉 찼고, 목요일 오전이 비어 있으니 일정 초대장 보내드렸습니다. 가능하다면 알려주세요"
- 이처럼 알고리듬이나 모델이 중요한 게 아니라, 작업에 맞는 올바른 컨텍스트를 제공하는 것이 성공 요인임
- 대부분의 AI 에이전트 실패는 모델이 아니라 컨텍스트 설계 실패의 결과임
프롬프트 엔지니어링에서 컨텍스트 엔지니어링으로의 진화
- 프롬프트 엔지니어링이 한 줄 텍스트 지침 최적화에 초점을 둔다면, 컨텍스트 엔지니어링은 훨씬 넓은 범위의 정보와 도구, 구조적 설계를 포함
- 컨텍스트 엔지니어링이란 "필요한 정보와 도구를, 올바른 형식과 시점에, LLM이 과업을 성취할 수 있게 시스템적으로 제공하는 설계 및 구축의 전문 역량"임
컨텍스트 엔지니어링의 특징
- 전체 시스템 설계: 컨텍스트란 단순 프롬프트 템플릿이 아니라, LLM 호출 이전에 동작하는 전체 시스템의 산출물임
- 동적 생성: 작업에 맞게 상황별로 캘린더/이메일/웹 검색 등 다양한 정보를 실시간으로 선택·가공
- 적시적소의 정보 및 도구 제공: "Garbage In, Garbage Out" 원칙, 모델에 불필요 혹은 누락된 정보가 없게끔 하는 것이 중요함
- 형식의 명확성 중요: 정보를 업로드할 때 산만하게 나열하기보다 요약·구조화가 필요하며, 도구의 사용법도 명확히 전달되어야 함
결론
- 강력하고 신뢰할 수 있는 AI 에이전트 개발의 본질은 "마법 같은 프롬프트"나 최신 모델이 아니라, 컨텍스트 엔지니어링(컨텍스트를 설계 및 제공)
- 이는 단순한 기술적 문제를 넘어, 비즈니스 요구와 목적에 맞는 정보·도구·구조화된 출력 정의 등 전방위적인 시스템 설계 역량이 필요
- LLM이 과제를 완수할 수 있도록, 정확한 시점에 적절한 정보를 올바른 형식으로 제공하는 것이 핵심