메인 콘텐츠로 건너뛰기

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

“컨텍스트”는 OpenClaw가 한 번의 실행을 위해 모델에 보내는 모든 것입니다. 이는 모델의 컨텍스트 창(토큰 제한)에 의해 제한됩니다. 초보자를 위한 개념 모델:
  • 시스템 프롬프트(OpenClaw가 구성): 규칙, 도구, Skills 목록, 시간/런타임, 주입된 워크스페이스 파일.
  • 대화 기록: 이 세션에서 사용자의 메시지 + 어시스턴트의 메시지.
  • 도구 호출/결과 + 첨부 파일: 명령 출력, 파일 읽기, 이미지/오디오 등.
컨텍스트는 “메모리”와 같은 것이 아닙니다. 메모리는 디스크에 저장되었다가 나중에 다시 로드될 수 있지만, 컨텍스트는 모델의 현재 창 안에 들어 있는 것입니다.

빠른 시작(컨텍스트 검사)

  • /status → “내 창이 얼마나 찼나?”를 빠르게 보여주는 보기 + 세션 설정.
  • /context list → 무엇이 주입되었는지 + 대략적인 크기(파일별 + 합계).
  • /context detail → 더 자세한 분석: 파일별, 도구 스키마별 크기, Skill 항목별 크기, 시스템 프롬프트 크기.
  • /context map → 현재 세션에서 추적되는 컨텍스트 기여 요소를 WinDirStat 스타일 트리맵 이미지로 표시.
  • /usage tokens → 일반 응답에 응답별 사용량 푸터를 추가.
  • /compact → 오래된 기록을 압축 항목으로 요약해 창 공간을 확보.
참고: 슬래시 명령어, 토큰 사용량 및 비용, Compaction.

예시 출력

값은 모델, 공급자, 도구 정책, 워크스페이스에 있는 내용에 따라 달라집니다.

/context list

🧠 Context breakdown
Workspace: <workspaceDir>
Bootstrap max/file: 12,000 chars
Sandbox: mode=non-main sandboxed=false
System prompt (run): 38,412 chars (~9,603 tok) (Project Context 23,901 chars (~5,976 tok))

Injected workspace files:
- AGENTS.md: OK | raw 1,742 chars (~436 tok) | injected 1,742 chars (~436 tok)
- SOUL.md: OK | raw 912 chars (~228 tok) | injected 912 chars (~228 tok)
- TOOLS.md: TRUNCATED | raw 54,210 chars (~13,553 tok) | injected 20,962 chars (~5,241 tok)
- IDENTITY.md: OK | raw 211 chars (~53 tok) | injected 211 chars (~53 tok)
- USER.md: OK | raw 388 chars (~97 tok) | injected 388 chars (~97 tok)
- HEARTBEAT.md: MISSING | raw 0 | injected 0
- BOOTSTRAP.md: OK | raw 0 chars (~0 tok) | injected 0 chars (~0 tok)

Skills list (system prompt text): 2,184 chars (~546 tok) (12 skills)
Tools: read, edit, write, exec, process, browser, message, sessions_send, …
Tool list (system prompt text): 1,032 chars (~258 tok)
Tool schemas (JSON): 31,988 chars (~7,997 tok) (counts toward context; not shown as text)
Tools: (same as above)

Session tokens (cached): 14,250 total / ctx=32,000

/context detail

🧠 Context breakdown (detailed)

Top skills (prompt entry size):
- frontend-design: 412 chars (~103 tok)
- oracle: 401 chars (~101 tok)
… (+10 more skills)

Top tools (schema size):
- browser: 9,812 chars (~2,453 tok)
- exec: 6,240 chars (~1,560 tok)
… (+N more tools)

/context map

최신 캐시된 실행 보고서에서 생성한 이미지를 보냅니다. 세션에서 일반 메시지가 아직 실행 보고서를 생성하기 전에는 /context map이 추정치를 렌더링하는 대신 사용할 수 없다는 메시지를 반환합니다. 사각형 면적은 추적되는 프롬프트 문자 수에 비례합니다.
  • 주입된 워크스페이스 파일
  • 기본 시스템 프롬프트 텍스트
  • Skill 프롬프트 항목
  • 도구 JSON 스키마
실행 보고서가 캐시되어 있지 않아도 /context list, /context detail, /context json은 온디맨드 추정치를 계속 검사할 수 있습니다.

컨텍스트 창에 포함되는 것

모델이 받는 모든 것이 포함됩니다.
  • 시스템 프롬프트(모든 섹션).
  • 대화 기록.
  • 도구 호출 + 도구 결과.
  • 첨부 파일/트랜스크립트(이미지/오디오/파일).
  • Compaction 요약 및 가지치기 산출물.
  • 공급자 “래퍼” 또는 숨겨진 헤더(보이지 않지만 여전히 계산됨).

OpenClaw가 시스템 프롬프트를 구성하는 방식

시스템 프롬프트는 OpenClaw가 소유하며 매 실행마다 다시 구성됩니다. 여기에는 다음이 포함됩니다.
  • 도구 목록 + 짧은 설명.
  • Skills 목록(메타데이터만, 아래 참고).
  • 워크스페이스 위치.
  • 시간(UTC + 설정된 경우 변환된 사용자 시간).
  • 런타임 메타데이터(호스트/OS/모델/thinking).
  • Project Context 아래에 주입된 워크스페이스 부트스트랩 파일.
전체 분석: 시스템 프롬프트.

주입된 워크스페이스 파일(Project Context)

기본적으로 OpenClaw는 고정된 워크스페이스 파일 집합을 주입합니다(있는 경우).
  • AGENTS.md
  • SOUL.md
  • TOOLS.md
  • IDENTITY.md
  • USER.md
  • HEARTBEAT.md
  • BOOTSTRAP.md(첫 실행에만)
큰 파일은 agents.defaults.bootstrapMaxChars(기본값 12000자)를 사용해 파일별로 잘립니다. OpenClaw는 또한 agents.defaults.bootstrapTotalMaxChars(기본값 60000자)를 사용해 파일 전체에 걸친 총 부트스트랩 주입 한도를 적용합니다. /context원본 대비 주입된 크기와 잘림이 발생했는지 여부를 표시합니다. 잘림이 발생하면 런타임이 Project Context 아래에 프롬프트 내부 경고 블록을 주입할 수 있습니다. 이는 agents.defaults.bootstrapPromptTruncationWarning(off, once, always; 기본값 once)으로 설정합니다.

Skills: 주입되는 항목과 온디맨드로 로드되는 항목

시스템 프롬프트에는 간결한 Skills 목록(이름 + 설명 + 위치)이 포함됩니다. 이 목록에는 실제 오버헤드가 있습니다. Skill 지침은 기본적으로 포함되지 않습니다. 모델은 필요할 때만 Skill의 SKILL.mdread해야 합니다.

도구: 비용은 두 가지입니다

도구는 두 가지 방식으로 컨텍스트에 영향을 줍니다.
  1. 시스템 프롬프트의 도구 목록 텍스트(“Tooling”으로 보이는 것).
  2. 도구 스키마(JSON). 이는 모델이 도구를 호출할 수 있도록 모델에 전송됩니다. 일반 텍스트로 보이지 않더라도 컨텍스트에 포함됩니다.
/context detail은 가장 큰 도구 스키마를 분석해 무엇이 큰 비중을 차지하는지 볼 수 있게 합니다.

명령, 지시문, “인라인 단축 명령”

슬래시 명령어는 Gateway가 처리합니다. 몇 가지 서로 다른 동작이 있습니다.
  • 독립 실행 명령: /...만 포함된 메시지는 명령으로 실행됩니다.
  • 지시문: /think, /verbose, /trace, /reasoning, /elevated, /model, /queue는 모델이 메시지를 보기 전에 제거됩니다.
    • 지시문만 있는 메시지는 세션 설정을 유지합니다.
    • 일반 메시지 안의 인라인 지시문은 메시지별 힌트로 작동합니다.
  • 인라인 단축 명령(허용 목록에 있는 발신자만): 일반 메시지 안의 특정 /... 토큰은 즉시 실행될 수 있으며(예: “hey /status”), 모델이 남은 텍스트를 보기 전에 제거됩니다.
자세한 내용: 슬래시 명령어.

세션, Compaction, 가지치기(무엇이 유지되는가)

메시지 간에 무엇이 유지되는지는 메커니즘에 따라 달라집니다.
  • 일반 기록은 정책에 따라 압축/가지치기될 때까지 세션 트랜스크립트에 유지됩니다.
  • Compaction은 요약을 트랜스크립트에 유지하고 최근 메시지는 그대로 둡니다.
  • 가지치기는 컨텍스트 창 공간을 확보하기 위해 메모리 내 프롬프트에서 오래된 도구 결과를 제거하지만, 세션 트랜스크립트를 다시 쓰지는 않습니다. 전체 기록은 여전히 디스크에서 검사할 수 있습니다.
문서: 세션, Compaction, 세션 가지치기. 기본적으로 OpenClaw는 조립과 Compaction에 내장 legacy 컨텍스트 엔진을 사용합니다. kind: "context-engine"을 제공하는 Plugin을 설치하고 plugins.slots.contextEngine으로 선택하면, OpenClaw는 컨텍스트 조립, /compact, 관련 하위 에이전트 컨텍스트 수명 주기 훅을 대신 해당 엔진에 위임합니다. ownsCompaction: false는 legacy 엔진으로 자동 폴백하지 않습니다. 활성 엔진은 여전히 compact()를 올바르게 구현해야 합니다. 전체 플러그형 인터페이스, 수명 주기 훅, 설정은 컨텍스트 엔진을 참고하세요.

/context가 실제로 보고하는 것

/context는 사용 가능한 경우 최신 실행 시 구성된 시스템 프롬프트 보고서를 우선 사용합니다.
  • System prompt (run) = 마지막 임베디드(도구 사용 가능) 실행에서 캡처되어 세션 저장소에 유지됨.
  • System prompt (estimate) = 실행 보고서가 없을 때(또는 보고서를 생성하지 않는 CLI 백엔드를 통해 실행할 때) 즉석에서 계산됨.
어느 쪽이든 크기와 주요 기여 요소를 보고하며, 전체 시스템 프롬프트나 도구 스키마를 덤프하지는 않습니다.

관련 항목

Context engine

Plugin을 통한 사용자 지정 컨텍스트 주입.

Compaction

긴 대화를 모델 창 안에 유지하기 위해 요약합니다.

System prompt

시스템 프롬프트가 구성되는 방식과 매 턴 주입하는 내용.

Agent loop

인바운드 메시지부터 최종 응답까지의 전체 에이전트 실행 주기.