AX Code 받기 · 무료문서

이 페이지는 영어 문서의 번역입니다. 명령, 식별자, 예제는 그대로입니다. 런타임 7.24.4 · SDK 2.6.7. 영어 원문

로컬 증거 캐시

상태: 메모리는 기본으로 켜져 있고, RocksDB는 선택입니다

범위: 현재 상태

최종 검토: 2026-09-13

담당: ax-code 런타임

AX Code는 기본적으로 크기가 제한된 메모리 증거 캐시를 쓰며, 기존 SQLite 저장소와 함께 RocksDB 지속성을 선택할 수 있습니다. SQLite는 완전한 세션 기록과 검증 기록을 보관합니다. 캐시에는 버려도 되는 렌더링된 텍스트와 구문 기호만 들어 있습니다. 권한을 바꾸지 않으며, 새로운 검증으로 치지 않습니다.

기본 메모리 모드는 RocksDB 데이터베이스를 열지 않습니다. 소스 설치에서 지속성을 켜려면 네이티브 지원을 빌드하고 RocksDB를 명시적으로 고릅니다.

pnpm build:native fs
AX_CODE_EVIDENCE_CACHE=rocksdb pnpm run dev

AX_CODE_EVIDENCE_CACHE=memory은 지속 저장 없이, 프로세스 안에서 재사용하는 기본 제한 모드를 명시적으로 고릅니다. RocksDB 모드에서 네이티브 지원이 없거나, 다른 런타임이 데이터베이스 잠금을 잡고 있거나, 캐시가 실패하면 진단과 함께 메모리로 돌아갑니다. 표준 파일 시스템 애드온 빌드에는 명시적 선택을 위한 RocksDB가 포함됩니다. 릴리스 빌드는 패키지된 애드온이 캐시를 쓰고 다시 열 수 있는지 확인합니다. 네이티브 작업은 JavaScript 이벤트 루프 밖에서 실행됩니다.

최대 1 MiB의 텍스트 읽기는 현재 소스 바이트를 검증하고, 내용, 경로, 범위, 형식이 같으면 렌더링된 범위를 다시 씁니다. 더 큰 파일, 외부 읽기, 디렉터리, 첨부 파일은 읽기 캐시에 들어가지 않습니다. 저장소 지시와 파일 읽기 스탬프는 계속 실시간입니다. 구문 추출은 같은 소스와 언어에 대해 기호를 다시 쓸 수 있습니다. 이 기호는 의미론적 참조나 호출자를 확정하지 않습니다.

어느 캐시 모드에서든, 현재 모델 요청에 이미 보이는 반복된 완전한 텍스트 읽기 결과는 첫 결과를 가리키는 짧은 참조를 사용합니다. 원래의 전체 도구 출력은 세션 기록에 남습니다. 압축은 가시성을 다시 만듭니다. 이전 사본이 없으면 이후 읽기는 전체를 렌더링합니다. 바이트가 같은 페이지 단위 읽기, grep, glob 보기도 처음 반환된 전체 보기를 참조할 수 있습니다. 각 참조는 원래의 잘림 바닥글과 이어 보기 안내를 유지합니다. 빠뜨린 소스 내용은 사용할 수 없습니다. 지시가 들어 있거나, 미디어이거나, 오류이거나, 줄이 잘렸거나, 인식하지 못한 부분 결과는 그대로 둡니다. 이것은 모델 입력을 바꿀 뿐, 기준 기록이나 도구 실행을 바꾸지 않으며, 공급자 요금 절감을 보장하지 않습니다.

캐시 적중은 렌더링이나 구문 분석을 아낍니다. 소스 검증 읽기나 모델이 요청한 도구 호출을 없애지는 않습니다. 서로 의존하는 탐색을 더 적은 모델 왕복으로 묶으려면 기존 experimental.read_only_recipes 옵션을 명시적으로 켜고, 범위를 제한한 선택과 함께 read_recipe를 사용합니다. 제한된 구조 개요에는 code_intelligence을 operation: "buildContext"와 함께 사용합니다. 캐시가 두 옵션을 자동으로 켜지는 않습니다.

선택하면 지속 캐시는 일반 AX Code 캐시 디렉터리의 evidence-v1 아래에 있으며, 프로젝트 인스턴스 디렉터리마다 데이터베이스가 따로 있습니다. RocksDB 수용은 항목 1024개와 논리 값 32 MiB로 제한됩니다. 실제 디스크 사용량에는 인코딩, 로그, 압축 오버헤드도 포함됩니다. 두 모드 모두 프로세스당 프로젝트 인스턴스마다 메모리 재사용을 항목 128개와 직렬화 값 4 MiB로 제한합니다. 이것은 프로세스 전체 RAM 한도가 아닙니다. 메모리 항목은 인스턴스를 버릴 때 지워지며 프로세스가 끝난 뒤에도 남지 않습니다. 항목은 24시간 뒤에 만료되고 조회할 때 검증됩니다. 용량 때문에 내보낼 때는 버려도 되는 네이티브 항목을 한 묶음으로 지울 수 있습니다. 기존 SQLite 데이터는 옮기거나 채우지 않습니다.

저장소 재사용과 모델 입력 중복 제거를 모두 끄려면 AX_CODE_EVIDENCE_CACHE=off을 설정하고 AX Code를 다시 시작합니다. 값이 없거나 비어 있으면 메모리를 사용합니다. 인식하지 못하는 비어 있지 않은 값은 캐시를 끕니다. 새 기본값을 적용하려면 이미 실행 중인 런타임을 다시 시작하고, 메모리를 쓰려면 명시적인 rocksdb 재정의를 제거합니다. 기존 지속 캐시 파일은 남습니다. SQLite 롤백은 필요하지 않습니다. evidence-v1을 직접 지우기 전에 런타임을 멈추십시오. 런타임이 캐시를 쓰는 동안 RocksDB 잠금 파일을 지우지 마십시오.

기능을 빌드한 뒤 로컬 네이티브 자격을 확인하려면 다음을 실행합니다.

cd packages/ax-code
AX_TEST_EVIDENCE_NATIVE=1 AX_TEST_FILES=test/evidence/cache-native.test.ts,test/evidence/cache-eval.test.ts pnpm exec vitest run --retry 0

고정 픽스처 평가는 요청된 읽기, 렌더링 적중, 생략된 출력 바이트, 경과 시간을 따로 보고합니다. 실제 모델 벤치마크가 아니며, 공급자 토큰 요금에 대한 주장도 아닙니다.

문제를 보고할 때는 AX Code 버전, OS/아키텍처, ax-code doctor 출력, off 또는 memory이 동작을 바꾸는지, 가능하면 재현 가능한 작업을 포함합니다. doctor는 요청된 모드와 네이티브 기능을 보고합니다. 다른 실행 중인 프로세스가 프로젝트 캐시를 소유하는지는 판단할 수 없습니다. 프로젝트 잠금과 I/O 폴백은 런타임 로그에 나타납니다. 피드백이나 캐시된 소스 내용은 자동으로 업로드되지 않습니다. 이미 게시된 바이너리는 갱신된 릴리스를 설치한 뒤에만 이 기본값을 갖습니다.