튜토리얼

새 컨텍스트 창 만들기

복잡하거나 장기간 진행되는 대화 중에 메모리를 보존하고 비용을 제어하며 출력 품질을 유지하기 위해 Bob의 컨텍스트 창을 관리합니다.

채팅 패널의 모든 작업(대화)에는 컨텍스트 창이 있습니다. 컨텍스트 창은 Bob이 현재 세션에서 메모리에 보관할 수 있는 토큰 제한입니다. 컨텍스트에는 시스템 지침, 도구 스키마, 규칙 및 스킬, 전체 대화 기록이 포함됩니다.

이 튜토리얼에서는 컨텍스트 창을 열고, 실제 작업을 수행하기 전에 Bob이 로드하는 내용을 배우고, 새 컨텍스트 창을 만들어야 하는 시기를 배웁니다.

이 튜토리얼을 마치면 다음을 배우게 됩니다:

  1. 각 컨텍스트 창 카테고리를 식별하고 Bob이 로드하는 내용을 파악합니다.
  2. Galaxium Travels에서 기본 컨텍스트 오버헤드를 측정합니다.
  3. 고정 카테고리는 그대로 유지되는 동안 리포지토리 프롬프트 후 Messages가 증가하는 것을 확인합니다.
  4. 이전 작업을 기록에 유지하면서 컨텍스트 창을 재설정하기 위해 새 작업을 시작합니다.

이 튜토리얼의 구성

단계섹션수행 작업
1실습 환경 설정Galaxium Travels 및 채팅 패널 열기
2컨텍스트 창 분석 읽기최소 프롬프트를 보낸 다음 새로운 분석 검사(~8.5k)
3프롬프트로 메시지 증가파일 나열 후 Messages가 ~4.2k(12.1k 총계)로 증가하는지 확인
4새 컨텍스트 창 만들기+(새 작업)를 클릭한 다음 표시기가 재설정되는지 확인

다음 용어를 숙지하세요:

  • 작업: 자체 컨텍스트 창이 있는 하나의 대화 스레드입니다. +(새 작업)로 새 컨텍스트 창을 시작합니다. 프롬프트, Bob의 답변 및 승인 버튼이 여기에 있습니다.
  • 컨텍스트 창 분석: 채팅 패널 오른쪽 상단의 토큰 사용량 표시기를 클릭하여 토큰이 어디로 가는지 확인합니다.

총계는 MCP 서버, 규칙, 스킬 및 Bob이 읽는 양에 따라 달라집니다. 다음 수치는 270.0k 창의 Galaxium Travels에서 가져온 것입니다. 고정 카테고리는 이 숫자에 가까워야 합니다. Messages는 Bob에게 요청하는 작업에 따라 달라집니다.

전제 조건

이 튜토리얼을 완료하려면 다음이 필요합니다:

컨텍스트 관리가 중요한 이유

토큰 비용

토큰은 Bob coins로 측정되는 Bob의 소비 단위입니다. 더 긴 대화와 더 큰 파일 읽기는 더 많은 토큰을 소비합니다. 대화를 집중적으로 유지하면 비용이 절감됩니다.

모든 프롬프트는 전체 활성 컨텍스트를 다시 전송합니다. 여기에는 입력하지 않은 고정 오버헤드가 포함됩니다. 한 줄짜리 질문도 도구 정의, 규칙 및 Bob이 기본적으로 로드하는 기타 항목을 포함합니다.

요약은 손실이 있음

Bob이 토큰 제한에 도달하면 Bob은 이전 콘텐츠를 압축하여 작업을 계속하며 세부 정보가 손실됩니다. 여러 프롬프트 전에 언급한 엣지 케이스, 중간 추론 및 제약 조건을 잃을 수 있습니다.

콘텐츠 세부 정보가 여전히 필요한 경우 Bob이 요약하기 전에 새 작업을 시작하세요.

제한 전에 품질이 저하됨

Bob은 현재 270.0k 토큰 창을 사용합니다. 정확한 한도는 자신의 토큰 사용량 표시기를 확인하세요. 품질은 한도에 도달하기 전에 종종 떨어집니다. Messages가 증가하면 답변의 신뢰성이 떨어집니다.

실습 환경 설정

  1. Galaxium Travels 리포지토리를 복제합니다.

    git clone -b bob-learning-path-branch https://github.com/IBM/galaxium-travels
  2. File을 클릭한 다음 Open Folder를 클릭합니다.

  3. 복제한 galaxium-travels 디렉토리로 이동하여 엽니다.

  4. 탐색 모음 옆의 Bob 아이콘을 클릭하거나 Option + Command + B(macOS) 또는 Ctrl + Alt + B(Windows) 단축키를 사용하여 Bob 채팅 인터페이스를 엽니다.

  5. 채팅 입력 필드에서 /init을 실행합니다. Bob이 리포지토리를 스캔하고 프로젝트 규칙이 포함된 AGENTS.md 파일을 생성합니다. 메시지가 표시되면 Approve todo tools for task를 클릭합니다.

    Bob이 완료했다고 보고할 때까지 기다립니다. 이 AGENTS.md는 나중에 컨텍스트 창 분석에서 Rules 줄로 나타나므로 리포지토리에 기준선을 측정하기 전에 필요합니다.

컨텍스트 창 분석 읽기

새로운 기준선을 얻은 다음 분석을 읽습니다.

  1. 채팅 패널 상단의 **+**를 클릭하여 새 작업을 시작합니다.

  2. 소량의 토큰을 사용하기 위해 최소 프롬프트를 보냅니다:

    빠르게 인사해 주세요.

    Bob의 답변을 기다립니다.

  3. 채팅 패널 오른쪽 상단의 토큰 사용량 표시기를 클릭하여 사용량 분석을 확인합니다.

컨텍스트 창 분석

Galaxium Travels에서 이 교환 후 숫자는 다를 수 있지만 다음과 비슷한 숫자를 볼 수 있습니다:

토큰
총 사용량8.5k(~3% 가득 참)
시스템 프롬프트1.5k
도구 정의5.1k
규칙830
스킬454
메시지590
모델 응답용 예약20.0k
사용 가능한 공간241.5k

총 사용량8.5k와 크게 다르면 새 작업을 시작하고 하나의 프롬프트만 보냈는지 확인하세요.

도구 정의는 일반적으로 가장 큰 고정 카테고리입니다. MCP 서버 및 내장 도구 스키마는 호출 여부와 관계없이 로드됩니다. 규칙AGENTS.md와 같은 프로젝트 파일에서 가져옵니다. 스킬은 작업 중에 Bob이 스킬을 로드하면 나중에 증가할 수 있습니다.

  1. 각 카테고리를 읽습니다. 분석은 토큰이 어디로 가는지 보여줍니다:

    카테고리설명
    시스템 프롬프트이 세션에 대한 Bob의 핵심 지침
    도구 정의Bob의 내장 도구 및 연결된 MCP 도구에 대한 스키마
    규칙프로젝트 및 모드의 사용자 지정 지침(사용자 지정 규칙, 예: AGENTS.md)
    스킬Bob이 로드한 스킬의 지침(UI에 개수가 표시될 수 있음, 예: Skills (1 loaded))
    메시지작업의 프롬프트, Bob의 답변 및 도구 활동. 토큰으로 계산되는 대화 기록입니다.

    예상 분석 아래:

    • 모델 응답용 예약: Bob이 즉시 제한에 도달하지 않고 답변할 수 있도록 예약된 토큰입니다.
    • 사용 가능한 공간: Bob이 압축해야 하기 전에 여전히 사용 가능한 예상 토큰입니다.

    Galaxium에서 고정 카테고리(시스템 프롬프트, 도구 정의, 규칙, 스킬)는 의미 있는 작업 전에 대략 8k입니다. 입력 여부와 관계없이 매 턴마다 이 비용을 지불합니다.

프롬프트로 메시지 증가

동일한 작업에 머무릅니다. 대화 기록을 채우는 프롬프트를 보냅니다.

  1. 파일 목록을 요청합니다.

    이 디렉토리의 모든 파일을 나열하세요.

    메시지가 표시되면 읽기 작업을 승인합니다. Bob이 리포지토리의 파일을 나열합니다.

  2. 변경 사항을 비교합니다. 분석을 다시 엽니다. Galaxium Travels에서 다음과 비슷한 숫자를 볼 수 있습니다:

    카테고리새 작업파일 나열 후지속적인 작업(참조)
    시스템 프롬프트1.5k1.5k1.5k
    도구 정의5.1k5.1k5.1k
    규칙830830830
    스킬4544541.2k(1개 로드됨)
    메시지5904.2k19.4k
    총 사용량8.5k(~3%)12.1k(~4%)28.0k(~10%)
    사용 가능한 공간241.5k237.9k222.0k

    메시지는 이제 약 4.2k를 읽어야 합니다. 훨씬 높으면 Bob이 이 예제보다 더 많은 파일을 읽은 것이며 괜찮습니다. 요점은 고정 카테고리는 그대로 유지되는 동안 메시지가 증가했다는 것입니다.

    목록 출력 및 도구 활동은 대화 기록에 있습니다. 시스템 프롬프트, 도구 정의, 규칙스킬은 하나의 파일 나열 프롬프트 후에도 그대로 유지됩니다.

    가장 오른쪽 열은 더 많은 읽기 및 후속 프롬프트가 있는 더 긴 Galaxium 세션에서 가져온 것입니다. Bob이 스킬을 로드하면 스킬이 증가할 수 있습니다(해당 예제에서 454에서 1.2k로). 시간이 지남에 따라 메시지는 일반적으로 가장 빠르게 증가합니다.

    하나의 파일 나열 프롬프트는 Galaxium에서 메시지에 약 3.6k를 추가합니다. 고정 오버헤드는 8k 근처에 유지됩니다. 오버헤드가 변경되지 않아도 리포지토리 탐색은 컨텍스트를 빠르게 사용합니다.

새 컨텍스트 창 만들기

동일한 프로젝트에서 새 작업을 시작합니다. 이전 작업(대화)은 기록에 남아 있습니다.

  1. 채팅 패널 상단의 +(새 작업)를 클릭합니다.

    표시기가 재설정됩니다. 메시지가 작은 숫자로 돌아갑니다. 시스템 프롬프트, 도구 정의, 규칙스킬이 대략 기준선으로 다시 로드됩니다.

  2. 남긴 작업은 작업 목록에 남아 있으며 언제든지 다시 전환할 수 있습니다. 자체 대화 기록 및 토큰 수를 유지합니다. 새 작업에서 작업하는 동안 Bob은 이를 사용하지 않습니다.

    다음과 같은 경우 새 작업을 시작하세요:

    • 주제 또는 작업 목표를 전환할 때.
    • 메시지가 품질이나 비용에 영향을 줄 만큼 클 때. Galaxium에서 메시지19.4k는 재설정하기에 합리적인 신호입니다.
    • 계획을 완료하고 구현을 위한 깨끗한 작업을 원할 때. 복잡한 기능 계획 및 구현을 참조하세요.

    성찰: 새 작업에서 분석을 엽니다. 어떤 카테고리가 기준선으로 돌아갔나요? 이전 작업에 머물렀다면 어떤 카테고리가 계속 증가했을까요?

다음 단계

이 튜토리얼에서는 컨텍스트 창을 효과적으로 관리하는 방법을 배웠습니다. 분석을 읽고, 고정 토큰 오버헤드의 양을 측정하고, 하나의 파일 나열 프롬프트 후 메시지가 증가하는 것을 확인하고, +(새 작업)로 재설정했습니다.

이 주제는 어떤가요?