AI 컨텍스트 엔지니어링: 프롬프트만으로는 부족한 이유
2년 전, 모두가 프롬프트 엔지니어링에 대해 이야기했습니다.
사람들은 코드를 작성하거나 전문가처럼 행동하기 위한 프롬프트를 공유했습니다. 아이디어는 간단했습니다. 더 나은 프롬프트가 더 나은 결과를 만든다는 것이었죠.
하지만 실제 AI 제품을 만드는 엔지니어들은 한 가지 진실을 발견했습니다. 프롬프트는 퍼즐의 한 조각일 뿐이라는 사실입니다.
Claude, Cursor, GitHub Copilot과 같은 현대적인 AI 도구들은 단일 프롬프트에 의존하지 않습니다. 이들은 컨텍스트 엔지니어링(Context Engineering)을 사용합니다.
프롬프트 엔지니어링은 이렇게 묻습니다: "모델에게 무엇을 물어봐야 할까?"
컨텍스트 엔지니어링은 이렇게 묻습니다: "모델이 제대로 답변하기 위해 어떤 정보가 필요할까?"
개발자를 생각해 보세요. 만약 여러분이 "앱이 고장 났어요"라고만 말한다면, 그들은 도움을 줄 수 없습니다. 대신 수많은 질문을 던질 것입니다.
하지만 에러 로그, 스택 트레이스(stack traces), 최근 배포 내역을 제공한다면 그들은 빠르게 문제를 해결합니다. 그들이 더 똑똑해진 것이 아닙니다. 여러분이 더 나은 컨텍스트를 제공한 것입니다.
AI도 똑같은 방식으로 작동합니다.
AI에게 SQL 쿼리를 요청하면 AI는 추측을 할 수도 있습니다. 하지만 테이블 이름, 컬럼 타입, 그리고 구체적인 규칙을 제공하면 답변은 정확해집니다. 프롬프트는 단순하게 유지되었지만, 컨텍스트가 변한 것입니다.
실제 운영되는 AI 시스템에서 모델은 사용자의 텍스트 그 이상을 전달받습니다. 주로 다음과 같은 정보들이 포함됩니다:
- 시스템 지침 (System instructions)
- 대화 기록 (Conversation history)
- 데이터베이스 레코드 (Database records)
- 프로젝트 파일 (Project files)
- 도구 출력값 (Tool outputs)
AI 코딩 어시스턴트는 여러분이 열어둔 파일과 폴더 구조를 보고 있기 때문에 여러분이 무엇에 대해 말하고 있는지 알고 있습니다. 여러분은 단 네 단어를 입력하지만, 모델은 수천 개의 토큰에 달하는 데이터를 전달받습니다.
프롬프트의 문구를 다듬는 데 몇 시간씩 쓰지 마세요. 대신 스스로에게 물어보세요. "모델에게 부족한 정보가 무엇인가?"
"마법 같은" 프롬프트를 찾는 것보다 더 나은 문서, API 스키마, 또는 비즈니스 규칙을 제공하는 것이 훨씬 효과적입니다.
컨텍스트 엔지니어링은 모델에게 적절한 시점에 적절한 데이터를 제공하는 것입니다.
2부에서는 다음 내용을 다룰 예정입니다:
- 컨텍스트 윈도우와 토큰
- 왜 더 많은 컨텍스트가 항상 더 좋은 것은 아닌지
- AI에서 메모리가 작동하는 방식
훌륭한 AI 시스템은 단순히 여러분이 입력하는 단어가 아니라, 보이지 않는 곳의 데이터에 달려 있습니다.
Optional learning community: https://t.me/GyaanSetuAi
