Agent Mentor Learn

컨텍스트 엔지니어링: 유한한 주의를 값어치 있는 곳에 쓰기

이 코스는 컨텍스트 엔지니어링을 다룹니다. 에이전트의 루프가 한 번 돌 때마다 모델이 어떤 토큰을 보게 할지 정하는 기술입니다. 코스7에서 루프가 돌 때마다 이력이 늘어난다는 점과 모델의 주의 예산이 유한하다는 점은 이미 배웠습니다. 이 코스는 그 문제를 정면으로 다룹니다. 시스템 프롬프트를 어떤 '고도'로 써야 하는지, 도구와 예시가 컨텍스트로 계산되는지, 어떤 정보를 사전 로드하고 어떤 정보를 에이전트가 스스로 가져오게 할지, 긴 작업에서 이력을 어떻게 컴팩션하고 노트를 어떻게 남길지, 왜 서브에이전트가 컨텍스트 관리 기법인지를 배우고, 마지막에는 코스7에서 만든 하네스에 컨텍스트 관리 계층을 직접 배선합니다. 이 시리즈의 앞 일곱 개 코스를 마친 독자를 위한 코스입니다. 프롬프트 작성 기술(이 시리즈의 코스3)은 다시 가르치지 않고, 세션을 넘는 파일 지속화와 상태 복구(코스5의 주제입니다. 이 코스는 '이 하나의 긴 작업 안에서 매 턴 모델에 무엇을 건네야 하는가'에 집중합니다)도 다루지 않으며, 멀티 에이전트 협업 패턴(코스6입니다. 서브에이전트는 여기서 컨텍스트 관점으로만 등장합니다)도 다시 가르치지 않고, RAG나 벡터 데이터베이스 구축도 다루지 않습니다.

코스 구성

  1. 프롬프트 엔지니어링에서 컨텍스트 엔지니어링으로
  2. 컨텍스트의 해부: 시스템 프롬프트, 도구, 예시
  3. 적시 검색: 에이전트가 스스로 컨텍스트를 가져오게 하기
  4. 컴팩션과 노트: 긴 작업을 위한 컨텍스트 관리
  5. 서브에이전트와 컨텍스트 격리
  6. 실습: 하네스에 컨텍스트 관리 배선하기

학습 목표

이 코스를 마치면 다음을 할 수 있습니다:

  • 컨텍스트 엔지니어링이 프롬프트 엔지니어링과 어떤 관계인지 설명하고, 주의 예산과 컨텍스트 로트로 컨텍스트가 한계 효용이 체감하는 유한한 자원인 이유를 설명하기
  • 시스템 프롬프트의 '고도'를 판단하고 — 한쪽 끝에는 취약한 하드코딩 로직이, 다른 쪽 끝에는 신호 없는 모호한 지시가 있습니다 — 행동을 이끌 만큼 구체적이면서도 강한 휴리스틱을 남기는 자리로 다시 쓰기
  • 작업마다 사전 로드와 적시 검색의 경계를 긋고, 가벼운 식별자(파일 경로, 쿼리, 링크)를 써서 에이전트가 필요할 때 컨텍스트를 점진적으로 발견하게 하기
  • 긴 작업을 위한 컴팩션 전략을 설계하기: 무엇이 살아남아야 하는지(결정, 미해결 문제, 핵심 구현 세부)와 무엇을 버려도 되는지(중복된 도구 출력)를 판단하고, 구조화된 노트로 핵심 상태를 컨텍스트 윈도우 밖에 세워 두기
  • 서브에이전트를 컨텍스트 경제성의 언어로 설명하기: 깨끗한 윈도우, 천여 토큰으로 압축되어 돌아오는 요약, 그리고 그것이 몇 배의 토큰을 쓸 값어치가 있는 때
  • stop_reason이 이끄는 하네스 루프에 토큰 사용량 추적, 임계값으로 발동하는 컴팩션, NOTES.md 구조화된 노트를 달고, 한 윈도우에 담기지 않는 작업을 끝까지 돌리기

사전 지식

  • 이 시리즈의 앞 일곱 개 코스를 마쳤거나 그에 준하는 지식이 있다
  • stop_reason이 이끄는 에이전트 루프를 직접 손으로 쓸 수 있고, messages 이력이 매 턴 늘어나며 tool_result 블록이 한꺼번에 돌아온다는 점을 이해한다(코스7)
  • 컨텍스트 윈도우가 유한한 자원이고 대화 이력은 늘어나기만 한다는 점을 안다(코스5)
  • 서브에이전트가 독립된 컨텍스트에서 시작해 결론만 돌려준다는 점을 안다(코스6)
  • 기본적인 JavaScript / Node.js 코드를 읽고 쓸 수 있다(마지막 레슨에서는 함께 써 나갑니다)

예상 학습 시간

각 레슨의 실습 연습을 포함해 약 3~4시간.