| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- extended thinking
- Engineering at Anthropic
- SK AI SUMMIT 2025
- rotary position embedding
- model context protocol
- catastrophic forgetting
- re-ranking
- chain-of-thought
- context engineering
- RLHF
- Langchain
- MQA
- langgraph
- flashattention
- 트랜스포머
- Positional Encoding
- 토크나이저
- PEFT
- CoT
- Embedding
- self-attention
- MHA
- fréchet inception distance
- test-time scaling
- gqa
- attention
- BLEU
- reinforcement learning from human feedback
- transformer
- Multi-Head Attention
- Today
- Total
AI Engineer 공간 "사부작 사부작"
컨텍스트 엔지니어링(Context Engineering): 프롬프트 너머, AI 에이전트 성공의 핵심 본문
컨텍스트 엔지니어링(Context Engineering): 프롬프트 너머, AI 에이전트 성공의 핵심
인공지능, 특히 거대 언어 모델(LLM)의 발전은 마치 유능한 전문가를 고용하는 것과 같습니다. 이 전문가는 방대한 지식을 갖추고 놀라운 추론 능력을 보여주지만, 그 능력을 100% 발휘하게 하려면 우리가 어떤 정보를 어떻게 제공하는지가 매우 중요합니다. 초기에는 "프롬프트 엔지니어링(Prompt Engineering)"이라는 기술, 즉 이 전문가에게 어떻게 질문을 던져야 최고의 답변을 얻을 수 있을지에 대한 연구가 주를 이루었습니다. 하지만 AI 애플리케이션이 단순히 질문에 답하는 것을 넘어, 여러 단계를 거쳐 복잡한 작업을 수행하는 '에이전트(Agent)' 시스템으로 진화하면서 새로운 과제에 직면했습니다. 단발성 질문이 아닌, 연속적인 대화와 작업 속에서 AI가 길을 잃지 않고 임무를 완수하게 하려면 어떻게 해야 할까요? 이 질문에 대한 해답이 바로 컨텍스트 엔지니어링(Context Engineering)입니다. 이는 AI 엔지니어에게 가장 중요한 기술로 부상하고 있으며, 프롬프트 엔지니어링을 포함하는 더 넓고 체계적인 접근 방식입니다. 이번 글에서는 컨텍스트 엔지니어링이 무엇이며 왜 중요한지, 그리고 프롬프트 엔지니어링과는 어떻게 다른지 깊이 있게 알아보겠습니다.
컨텍스트 엔지니어링이란 무엇인가? 최고의 전문가를 위한 프로젝트 매니저
컨텍스트 엔지니어링의 핵심 정의는 "LLM이 주어진 과업을 성공적으로 완수할 수 있도록, 올바른 정보와 도구를 올바른 형식으로 제공하는 동적 시스템을 구축하는 것"입니다. LLM이 추론 과정에서 실수하는 대부분의 경우는 모델 자체가 부족해서가 아니라, 필요한 맥락(Context)을 제대로 전달받지 못했기 때문입니다.

비유: 최고의 전문가를 위한 프로젝트 매니저
아주 유능한 변호사에게 복잡한 사건을 맡긴다고 상상해 봅시다. 그에게 단순히 "이 사건을 해결해 주시오"라고 말하는 것만으로는 부족합니다. 최고의 성과를 내기 위해서는 유능한 프로젝트 매니저처럼 행동해야 합니다. 이것이 바로 컨텍스트 엔지니어링입니다.
- 올바른 정보 제공 (Right Information): 사건 파일, 증거 자료, 관련 판례 등 사건 해결에 필요한 모든 정보를 빠짐없이 전달해야 합니다. 정보가 누락되면 변호사는 엉뚱한 결론을 내릴 수 있습니다. LLM도 마찬가지로, 필요한 정보가 없으면 "마음"을 읽을 수 없습니다.
- 올바른 도구 제공 (Right Tools): 변호사가 추가 정보를 얻기 위해 법률 데이터베이스에 접근하거나, 사설 탐정을 고용할 수 있도록 지원해야 합니다. LLM에게도 실시간 정보 검색, 데이터베이스 조회, 외부 시스템 제어와 같은 '도구'를 제공하는 것은 정보 제공만큼이나 중요합니다.
- 올바른 형식으로 제공 (Right Format): 수천 페이지의 자료를 뒤죽박죽 던져주는 것과, 핵심 내용을 요약하고 체계적으로 정리하여 전달하는 것의 차이는 엄청납니다. LLM에게도 방대한 JSON 데이터 뭉치보다는 간결하고 명확하게 정리된 정보를 제공할 때 훨씬 더 좋은 성능을 보입니다.
- 동적 시스템 (Dynamic System): 재판 과정에서 새로운 증거나 증인이 나타나면 즉시 변호사에게 업데이트해주어야 합니다. 컨텍스트 엔지니어링 또한 대화의 흐름, 사용자의 새로운 요구, 도구 사용 결과 등 변화하는 상황에 맞춰 맥락을 동적으로 구성하고 제공하는 시스템을 구축하는 것을 의미합니다.
결국 컨텍스트 엔지니어링은 LLM이 성공적으로 임무를 수행할 수 있는 최적의 환경을 설계하고 구축하는 모든 활동을 의미합니다.
컨텍스트 엔지니어링의 구체적인 예시
그렇다면 컨텍스트 엔지니어링은 실제로 어떻게 적용될까요? 다음은 구체적인 예시입니다.
- 도구 사용 (Tool Use)
- 개념: LLM이 스스로 해결할 수 없는 정보(예: 오늘의 날씨, 최신 뉴스, 항공편 예약)에 접근해야 할 때, 외부 정보 소스에 접근할 수 있는 도구를 제공하는 것입니다.
- 예시: 여행 계획을 짜는 AI 에이전트에게 실시간 항공편 조회 API와 숙소 예약 API를 '도구'로 제공합니다. 사용자가 "다음 주 파리행 가장 저렴한 비행기표를 찾아줘"라고 말하면, AI는 이 도구를 사용하여 최신 정보를 가져와 답변합니다. 또한, API 호출 결과가 LLM이 이해하기 쉬운 형태로 가공되어 전달되는 것까지 포함합니다.
- 단기 기억 (Short-term Memory)
- 개념: 긴 대화가 이어질 때, 대화의 앞부분 내용을 요약하여 현재 프롬프트에 포함시키는 것입니다.
- 예시: 사용자와 AI가 특정 노트북 모델에 대해 10분간 대화를 나눴다고 가정해 봅시다. 대화가 길어지면 초기 정보를 잊어버릴 수 있습니다. 이때 시스템은 "사용자는 현재 A 노트북의 배터리 시간과 무게에 관심이 있으며, 가격은 150만원 이하를 선호함"과 같이 대화 내용을 요약하여 LLM에게 지속적으로 전달합니다.
- 장기 기억 (Long-term Memory)
- 개념: 이전 대화에서 얻은 사용자 선호도나 정보를 저장해두었다가, 미래의 대화에서 다시 불러와 활용하는 것입니다.
- 예시: 사용자가 과거에 "저는 창가 좌석을 선호해요"라고 말했다면, 이 정보를 저장해 둡니다. 다음번에 사용자가 비행기 예약을 요청할 때, AI는 "지난번에 창가 좌석을 선호하셨는데, 이번에도 창가 좌석으로 예약해 드릴까요?"라고 먼저 제안할 수 있습니다.
- 검색 증강 생성 (Retrieval-Augmented Generation, RAG)
- 개념: 사용자의 질문과 관련된 정보를 외부 데이터베이스나 문서에서 동적으로 검색하여, 그 내용을 바탕으로 답변을 생성하도록 하는 것입니다.
- 예시: 사내 규정에 대해 답변하는 챗봇에게 회사 규정 전체 문서를 데이터베이스로 제공합니다. 직원이 "올해 연차 사용 규정이 어떻게 되나요?"라고 질문하면, 챗봇은 데이터베이스에서 '연차 사용 규정' 관련 부분을 검색하여 그 정확한 내용을 바탕으로 답변을 생성합니다.
프롬프트 엔지니어링 vs. 컨텍스트 엔지니어링
많은 사람들이 두 개념을 혼동할 수 있습니다. 가장 중요한 차이점은 프롬프트 엔지니어링이 컨텍스트 엔지니어링의 일부라는 점입니다. 프롬프트 엔지니어링이 '마법의 단어'를 찾는 데 집중한다면, 컨텍스트 엔지니어링은 그 단어를 포함한 전체 '대화의 판'을 설계하는 것입니다. AI에게 명확하고 상세한 행동 지침을 주는 것은 프롬프트 엔지니어링의 영역이면서 동시에, 전체적인 맥락을 구성하는 컨텍스트 엔지니어링의 일부이기도 합니다.
| 구분 | 프롬프트 엔지니어링 (Prompt Engineering) | 컨텍스트 엔지니어링 (Context Engineering) |
| 목표 | 주어진 단일 입력에 대해 최상의 결과를 얻기 위한 프롬프트 문구 최적화 |
LLM이 복잡한 과업을 성공적으로 수행할 수 있도록 전체적인 환경과 시스템을 구축 |
| 범위 | 프롬프트 자체의 문구, 형식, 지시사항 등 텍스트에 한정됨 |
프롬프트, 도구, 단기/장기 기억, 외부 데이터 등 LLM에 입력되는 모든 맥락을 포괄 |
| 초점 | 정적(Static): 어떻게 질문할 것인가? | 동적(Dynamic): 어떤 정보와 도구를, 어떤 형식으로, 언제 제공할 것인가? |
| 비유 | 명연설을 위한 '연설문' 작성 | 연설의 성공을 위한 무대, 조명, 음향, 청중 분석 등 '총연출' |
마무리하며
LLM과의 '소통'은 우리가 생각하는 것보다 훨씬 어렵고 중요하며, 많은 에이전트 오류의 근본 원인이 됩니다. 컨텍스트 엔지니어링은 이러한 소통의 문제를 해결하기 위한 체계적인 접근법입니다. 이는 단순히 더 좋은 프롬프트를 만드는 것을 넘어, LLM이 가진 잠재력을 최대한 끌어낼 수 있도록 동적인 정보 시스템을 설계하고 관리하는 핵심 역량으로 자리 잡고 있습니다. 앞으로 AI 애플리케이션의 성공은 얼마나 정교하고 효과적으로 '컨텍스트'를 설계하고 엔지니어링하느냐에 달려있다고 해도 과언이 아닐 것입니다.
The rise of "context engineering"
Header image from Dex Horthy on Twitter. Context engineering is building dynamic systems to provide the right information and tools in the right format such that the LLM can plausibly accomplish the task. Most of the time when an agent is not performing re
blog.langchain.com
'Theory > Agents' 카테고리의 다른 글
| Deep Agent: 단순 반복을 넘어, 복잡한 문제를 해결하는 AI의 새로운 진화 (0) | 2025.08.13 |
|---|---|
| 클로드(Claude)의 생각 엿보기: Extended Thinking으로 투명하고 강력한 AI 에이전트 만들기 (0) | 2025.07.04 |
| Best-of-N (BoN): 가장 좋은 하나를 고르는 단순함의 힘, LLM 성능 극대화의 비밀 (0) | 2025.06.27 |
| AI가 더 깊이 생각하게 만드는 기술: 테스트-타임 스케일링(Test-Time Scaling)과 예산 강제(Budget Forcing) (0) | 2025.06.27 |
| AI의 배신: 인간을 속이는 '기만적 오정렬(Deceptive Misalignment)'의 두 얼굴, Anthropic과 OpenAI의 경고 (0) | 2025.06.23 |