AI-02 · 컨텍스트 이해와 구성
컨텍스트는 특정 요청에서 모델이 참고하도록 전달된 입력과 작업 상태의 범위입니다. 업무용 책상 위에 펼쳐 둔 규칙, 요청, 이전 메모와 참고 자료를 한데 모은 것에 가깝습니다. 모델이 학습 과정에서 얻은 일반 지식과 달리, 컨텍스트는 지금 이 작업을 위해 제공된 작업 기억입니다. API와 제품에 따라 포함되는 정보와 상태 전달 방식은 다릅니다.
컨텍스트가 많다고 항상 좋은 것은 아닙니다. 현재 목표와 관계없는 오래된 대화나 중복 자료가 많으면 중요한 조건을 놓치기 쉬우므로, 필요한 정보만 분명한 이름과 범위로 제공합니다. 자세한 개념은 Anthropic의 컨텍스트 창 설명, 대화 상태의 원리는 OpenAI의 대화 상태 가이드를 참고합니다.
컨텍스트를 구성하는 정보
- 적용 규칙: 시스템 프롬프트, 개발자·애플리케이션 프롬프트,
AGENTS.md나CLAUDE.md처럼 작업 방식을 정한 지침 - 현재 요청: 사용자가 이번에 처리해 달라고 입력한 사용자 프롬프트
- 대화 기록: 이전 대화의 사용자 요청과 AI 답변 중 현재 작업에 이어지는 내용
- 첨부 자료: 요청에 실제로 전달된 문서, 표, 이미지, 코드와 사용자가 붙여 넣은 원문
- 도구 실행 결과: 모델에 다시 전달된 파일 조회, 검색, 데이터베이스 조회나 프로그램 실행 결과
규칙은 어떻게 일할지, 사용자 요청은 이번에 무엇을 할지, 자료와 도구 결과는 무엇을 근거로 할지를 알려 줍니다.
OpenAI API와 코딩 Agent의 지시 구분
| 구분 | 쉬운 설명 | 주로 담는 내용 | 적용 범위 |
|---|---|---|---|
| 시스템 프롬프트 | AI 서비스의 기본 운영 규칙 | 안전 기준, 역할, 허용된 기능과 우선순위 | 해당 서비스나 실행 전체 |
| 개발자·애플리케이션 프롬프트 | 서비스를 만든 쪽의 업무 규칙 | 답변 형식, 업무 절차, 도구 사용 기준 | 해당 기능이나 작업 흐름 |
전역 AGENTS.md / CLAUDE.md | 여러 프로젝트에 공통으로 지킬 작업 원칙 | 기본 검증 방법, 작업 방식, 공통 금지사항 | 사용자의 모든 작업 공간 |
프로젝트 AGENTS.md / CLAUDE.md | 현재 저장소의 작업 규칙 | 실행 명령, 코드 규칙, 문서 기준 | 해당 프로젝트와 하위 폴더 |
하위 폴더 AGENTS.md / CLAUDE.md | 특정 영역의 더 가까운 세부 규칙 | 백엔드·프론트엔드 등 영역별 기준 | 해당 폴더와 하위 영역 |
| 사용자 프롬프트 | 지금 사용자가 요청한 일 | 목표, 입력 자료, 요구 사항, 결과 형식 | 현재 요청과 이어지는 대화 |
핵심 기술 요소
이 표의 메시지 우선순위는 OpenAI API의 예시입니다. 코딩 Agent의 작업 지침 파일은 Codex 계열 도구에서
AGENTS.md, Claude Code에서CLAUDE.md를 사용합니다. 구체적인 탐색 순서와 우선순위는 제품마다 다르지만, 상위 운영 규칙을 사용자 요청으로 바꿀 수 없고 현재 작업에 더 구체적인 프로젝트 지침을 따라야 한다는 원칙은 같습니다.
AGENTS.md와 CLAUDE.md는 시스템 프롬프트나 사용자 프롬프트처럼 메시지 역할의 이름이 아니라, 코딩 Agent가 작업 전에 읽어 지침에 포함하는 프로젝트 파일입니다. 같은 작업 원칙이 필요하면 두 파일에 상충하지 않는 내용을 병기하고, 제품별 전용 설정만 해당 파일에 구분합니다. 어느 수준까지 적용되는지는 파일 위치와 도구의 동작 방식에 따라 정해집니다. AGENTS.md의 탐색 순서는 OpenAI의 AGENTS.md 안내에서 확인할 수 있습니다.
OpenAI API에서는 애플리케이션이 제공한 지시가 사용자 메시지보다 먼저 적용됩니다. 쉽게 말하면 애플리케이션 프롬프트는 업무 규칙이고, 사용자 프롬프트는 그 규칙 안에서 처리할 현재 요청입니다. 자세한 메시지 역할은 OpenAI의 텍스트 생성 안내를 참고합니다.
좋은 컨텍스트를 만드는 방법
- 목표를 먼저 씁니다. 이번 답변으로 무엇이 완성되어야 하는지 한 문장으로 적습니다.
- 현재 자료만 제공합니다. 최신본을 표시하고 오래된 초안이나 관계없는 대화를 제외합니다.
- 지시와 자료를 구분합니다.
요구 사항,참고 자료,변경 금지처럼 제목이나 구분자를 사용합니다. - 출처와 범위를 표시합니다. 숫자·정책·원문이 어디에서 왔고 어느 범위에 적용되는지 적습니다.
- 모르는 부분의 처리 방법을 정합니다. 추측하지 말고 질문하거나
확인 필요로 표시하도록 요청합니다.
[현재 목표]
이번 작업에서 완료할 결과를 한 문장으로 적습니다.
[업무 배경]
왜 필요한지, 누가 사용할지 적습니다.
[적용할 규칙]
반드시 지킬 기준과 변경하면 안 되는 범위를 적습니다.
[참고 자료]
사용할 문서·데이터와 각 자료의 용도를 적습니다.
[현재 상태]
이미 완료된 작업, 남은 작업과 확인이 필요한 부분을 적습니다.
[원하는 결과]
결과 형식, 분량과 완료 기준을 적습니다.대화가 길어졌을 때
이전 내용을 모두 다시 붙이기보다 현재 결정 사항을 짧게 정리합니다.
지금까지 확정된 목표, 적용 규칙, 완료된 작업, 남은 작업과 주의사항을 다음 대화에서 바로 이어서 사용할 수 있게 요약해 주세요.
사실과 아직 확인하지 않은 내용은 구분해 주세요.목표가 완전히 달라졌거나 오래된 지시가 계속 섞이면 새 대화나 명시적인 상태 요약을 고려합니다. 자세한 관리 방법은 AI-04 · 긴 대화와 작업 상태 관리에서 이어집니다.
현재 요청을 더 명확하게 작성하려면 AI-03 · 프롬프트 작성법의 템플릿을 사용합니다.