
프롬프트를 다듬는 것은 이제 구식? '컨텍스트 엔지니어링 (Context Engineering)'에 발을 담그는 이야기
요약
프롬프트 엔지니어링을 넘어 AI 에이전트에게 어떤 정보를 제공할지 결정하는 '컨텍스트 엔지니어링'의 중요성을 다룹니다. 무조건적인 정보 제공보다는 필요한 정보만 선별하여 제공하는 전략이 비용과 성능 측면에서 필수적임을 설명합니다.
핵심 포인트
- 프롬프트 엔지니어링은 말투를 다듬는 것이고, 컨텍스트 엔지니어링은 자료를 선별하는 것이다.
- 에이전트 환경에서는 인간의 입력보다 도구가 수집한 데이터가 컨텍스트의 대부분을 차지한다.
- 과도한 정보는 AI의 판단 오류, 응답 지연, 비용 증가를 초래한다.
- 필요한 시점에 필요한 만큼만 읽게 하는 '필요 기반 정보 제공'이 핵심이다.
LLM에 입력되는 것은 당신이 입력한 문장만이 아닙니다.
실제로 모델이 보고 있는 것은 예를 들어 다음과 같은 정보입니다.
여기서 중요한 것은,
당신이 입력한 프롬프트는 이 중 아주 일부분에 불과하다는 점입니다.
에이전트(Agent)에 따라서는 인간이 작성한 100토큰보다, 도구가 취득한 수만 토큰이 압도적으로 많은 경우도 있습니다.
즉,
**프롬프트 엔지니어링 (Prompt Engineering)**은 "마지막 한 마디를 어떻게 쓸 것인가" -
**컨텍스트 엔지니어링 (Context Engineering)**은 "AI에게 무엇을 보여줄 것인가"
를 생각하는 것입니다.
회의에 비유하자면,
프롬프트 엔지니어링 (Prompt Engineering)
발언의 말투를 궁리하는 것
컨텍스트 엔지니어링 (Context Engineering)
회의가 시작되기 전에 필요한 자료만을 참가자들에게 배포해 두는 것
입니다.
사회인이라면 어느 쪽이 회의의 성공률을 높일지는 상상하기 쉬우시겠죠.
ChatGPT를 사용하던 시절에는,
라는 심플한 세계였습니다.
반면, 에이전트(Agent)는 다릅니다.
답변을 만들기 전에,
- 파일을 읽는다
- GitHub를 조사한다
- 웹 검색을 한다
- 테스트를 실행한다
- 로그를 분석한다
이러한 정보를 스스로 수집하여 컨텍스트(Context)에 추가합니다.
예를 들어,
- 파일을 읽는다 → 약 5,000토큰
- 검색한다 → 약 3,000토큰
- 빌드 로그를 읽는다 → 약 20,000토큰
하는 일은 드물지 않습니다.
반면, 인간이 입력하는 프롬프트는 100~300토큰 정도.
즉,
"무엇을 쓸 것인가"보다 "무엇을 보여줄 것인가"가 결과를 좌우하는
장면이 급격히 늘어났습니다.
참고로, 컨텍스트 전체의 이미지는 다음과 같습니다.
LLM이 보고 있는 컨텍스트
███████████████████████████ 도구 실행 결과·로그
███████████████████████ 소스 코드·파일
...
물론 비율은 케이스에 따라 다르지만, 에이전트에서는 인간이 입력하는 프롬프트는 전체의 극히 일부가 되는 경우가 적지 않습니다.
처음 에이전트를 사용하면,
"전부 읽게 하면 최강이 아닐까?"
라고 생각하게 됩니다.
저도 그렇게 생각했습니다.
그리고 보기 좋게 실패했습니다.
AI는 매우 솔직합니다.
3년 전의 설계서를 건네주면,
3년 전의 설계를 참고하여 코드를 작성합니다.
악의는 없습니다.
당신이 건네준 자료를 믿었을 뿐입니다.
100페이지 분량의 자료 중 95페이지에
이 API는 삭제 예정입니다
라고 적혀 있어도,
인간이 간과하는 것처럼 AI도 영향을 받습니다.
정보량이 많다고 해서 반드시 좋은 것은 아닙니다.
토큰은 무료가 아닙니다.
불필요한 정보를 읽게 할 때마다,
- 응답이 느려진다
- 비용이 증가한다
라는 부작용도 있습니다.
CLAUDE.md나 시스템 프롬프트(System Prompt)는 매번 읽히기 때문에 가장 비용이 높은 정보입니다.
판단 기준은 심플합니다.
이 한 줄이 없다면, 에이전트는 어떤 실수를 할 것인가?
구체적으로 대답할 수 없다면, 그 정보는 삭제 후보입니다.
모든 매뉴얼을 처음부터 건네주는 것이 아니라,
- 목차만 건네준다
- 필요해지면 본문을 읽는다
이 방식이 최근의 주류입니다.
Claude Code의 Skills도 이러한 사고방식으로 설계되어 있습니다.
장시간 작업에서는 컨텍스트가 점점 부풀어 오릅니다.
그럴 때는,
- 요약을 만든다
- 새로운 세션(Session)으로 인계한다
하는 편이 정밀도가 안정됩니다.
인간으로 치면,
"하룻밤 자고 일어나 머리를 정리하는"
것과 같습니다.
예를 들어 검색 도구라면,
나쁜 예
히트한 파일 전문을 반환한다
좋은 예
파일 경로
해당 부분
앞뒤 3줄
필요하다면 나중에 이어서 읽으면 충분합니다.
"근처 라멘집을 알려줘"라고 물었는데,
타베로그의 모든 점포 데이터를 JSON으로 반환받는다면 곤란하겠죠.
| 프롬프트 엔지니어링 (Prompt Engineering) | 컨텍스트 엔지니어링 (Context Engineering) |
|---|---|
| 생각하는 것 | 어떻게 쓸 것인가 |
| ... |
결국 컨텍스트 엔지니어링은 특별한 마법이 아닙니다.
읽는 이에게,
- 필요한 정보만 건네준다
- 필요해지면 상세 내용을 가져온다
- 오래된 정보를 섞지 않는다
라는, 예전부터 있던 정보 설계(Information Design)를 AI에게도 적용하고 있을 뿐입니다.
AI가 똑똑해졌다기보다,
AI에게 건네는 정보의 설계가 이전보다 훨씬 중요해졌다고 말할 수 있겠습니다.
에이전트 시대는, "좋은 프롬프트를 쓰는 사람"보다,
"필요한 정보를, 필요한 타이밍에 전달할 수 있는 사람"
이 더 강력한 시대일지도 모릅니다.
"우리 에이전트, 컨텍스트가 너무 비대해진 것 같은데..."
그렇게 생각하신 분은, 우선
CLAUDE.md
를 다시 검토하는 것부터 시작해 보세요. 에이전트는 살이 빠지지 않겠지만, 토큰 (Token) 사용량은 조금 줄어들지도 모릅니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기