dotdotgod Load가 문서 목차를 어떻게 읽기 경로(Reading Route)로 전환하는가
요약
dotdotgod Load 워크플로우는 문서 목차를 활용해 에이전트가 읽어야 할 최적의 경로(Reading Route)를 생성합니다. 프로젝트의 진입점을 식별하고 자연어 쿼리를 통해 검색 범위를 좁힘으로써 효율적인 컨텍스트 관리를 지원합니다.
핵심 포인트
- 문서 목차를 기반으로 에이전트의 읽기 범위를 좁히는 경로 생성
- AGENTS.md, README.md 등 주요 진입점을 통한 컨텍스트 설정
- 자연어 쿼리를 활용한 Focused Load로 관련 문서 압축 탐색
- 디렉토리 구조와 README를 활용한 문서 역할 및 맥락 파악
Docs-first 프로젝트 메모리는 사람들이 검토할 수 있는 문서에 소스 자료를 보관합니다. 에이전트는 여전히 현재 작업과 관련된 부분을 선택해야 합니다. dotdotgod Load 워크플로우는 현재 요청을 위해 유지 관리되는 문서 목차를 통해 짧은 읽기 경로(reading route)를 생성합니다.
이전 기사에서는 유지 관리되는 문서와 파생된 검색 데이터(retrieval data)를 분리했습니다. 이 기사는 에이전트가 세션을 시작하거나 컨텍스트를 새로 고칠 때, Load가 읽기 범위를 좁히기 위해 사용하는 시퀀스를 따릅니다.
프로젝트 진입점(Entry Points) 확인
Load는 프로젝트 메모리의 주요 진입점에서 시작합니다.
AGENTS.md
현재 에이전트 진입점
README.md
...
AGENTS.md는 에이전트 간에 공유되는 작업 규칙을 제공합니다. 리포지토리의 README는 프로젝트의 목적과 사용법을 설명하며, docs/README.md는 사양(specs), 아키텍처(architecture), 테스트(tests) 및 로컬 메모리 영역을 위한 최상위 인덱스입니다.
Load는 또한 리포지토리 루트(root)와 기존 사용자의 변경 사항을 식별합니다. 세션에 이미 명확한 베이스라인 정보가 포함되어 있는 경우, Load는 해당 컨텍스트를 재사용하고 사용자의 워크트리(worktree) 변경 사항을 보존합니다.
이러한 진입점들은 다음 단계의 검색(retrieval)을 위한 안정적인 주소를 설정합니다.
목차(Table of Contents)에서 시작하기
인자(arguments) 없이 Load를 실행하면 docs/ 아래의 공유된 Markdown 경로가 접두사 압축 트리(prefix-compressed tree) 형태로 표시됩니다.
/load
문서 맵은 docs/를 깊이 1로 계산하고 디렉토리 깊이 5까지 확장합니다. 더 깊은 서브트리는 정확한 재귀적 디렉토리 및 Markdown 파일 수와 함께 요약됩니다.
docs/
├── spec/
│ ├── README.md
...
디렉토리 구조를 통해 에이전트는 검색 영역을 선택할 수 있으며, README 인덱스가 다음 문서로 안내합니다. 경로는 문서의 본문을 열기 전, 관련 영역을 구분할 수 있을 만큼 충분히 일찍 문서의 역할을 노출합니다.
질문을 통해 읽기 경로 좁히기
자유 형식의 Load 인자는 하나의 자연어 쿼리(natural-language query)가 됩니다.
/load command routing
로컬 쿼리가 사용 가능한 경우, Load는 다음과 동일한 작업을 수행합니다:
dotdotgod query . "command routing" --limit 30 --json
Focused Load는 문서 맵 (documentation map)을 깊이 3까지 축소하고, 의미적으로 관련된 (semantically related) Markdown 파일을 최대 30개까지 제시합니다. 한 파일에서 여러 구절 (passages)이 일치하는 경우, 가장 높은 순위의 구절이 해당 파일을 대표합니다.
자연어 질문 (natural-language question)
→ 의미적으로 관련된 문서 경로 (semantically related document paths)
→ 경로 역할 및 README 컨텍스트 (path role and README context)
...
쿼리 결과는 질문과 관련이 있을 가능성이 높은 소스 문서로 가는 경로 (routes)를 제공합니다. 후속 기사에서는 임베딩 모델 (embedding model), 구절 분할 (passage splitting), 그리고 벡터 캐시 (vector cache)가 어떻게 이러한 경로를 생성하는지 설명합니다.
필요 시 현재 작업 및 이력 공개
공유된 문서 맵과 기본 쿼리 코퍼스 (query corpus)는 다음 서브트리 (subtrees)를 제외합니다:
docs/plan/
docs/archive/
이 기본 범위는 현재 공유된 문서를 우선시합니다. 활성화된 계획 (active plan)이 중요한 경우, Load는 docs/plan/ 아래의 항목들을 검사하고 관련 계획을 읽습니다. 과거의 결정이 중요한 경우, docs/archive/README.md를 이력 맵 (history map)으로 사용하여 관련 아카이브 본문으로 이동합니다. 현재 작업과 역사적 기록은 별도의 읽기 경로 (reading routes)를 통해 컨텍스트 (context)에 포함됩니다.
검색 실패 시 문서 경로를 사용 가능하게 유지
Load는 다음과 같은 선택적 CLI 발견 힌트 (discovery hint)를 제공합니다:
Help: dotdotgod --help
이 힌트는 CLI 실행 상태와 독립적으로 사용할 수 있습니다. CLI 또는 쉘 (shell) 접근 권한이 없는 환경에서도 README 인덱스 (indexes)와 문서 맵이 검색 경로 (retrieval route)를 지속합니다.
집중 쿼리 (focused query) 중에 모델 다운로드, 추론 (inference), 또는 캐시 접근이 실패하면, Load는 기본 문서 목차 (base documentation table of contents)로 돌아갑니다. 소스 파일, 유지 관리되는 문서, 그리고 프로젝트 설정은 온전하게 유지됩니다. 쿼리는 무시되었던 .dotdotgod/vectors/ 캐시를 새로고침할 수 있으며, 처음 사용 시 로컬 임베딩 모델을 사용자 레벨 캐시 (user-level cache)로 다운로드할 수 있습니다.
짧은 읽기 경로에서 좋은 컨텍스트가 나온다
Load는 다섯 단계에 걸쳐 읽기 범위 (reading scope)를 좁힙니다.
- 유지 관리되는 프로젝트 및 문서 진입점 (entry points) 확인.
- 깊이가 제한된 문서 맵 (documentation map)을 통해 검색 범위 (retrieval scope) 표시.
- 질문이 있는 경우, 시맨틱 검색 (semantic retrieval)을 사용하여 후보 문서 좁히기.
- 현재 작업과 관련된 계획 (plans) 및 이력 (history)만 선택.
- 유지 관리되는 소스에서 필요한 섹션 읽기.
동일한 소스 문서라도 세션과 질문에 따라 서로 다른 읽기 경로 (reading route)를 생성할 수 있습니다.
신뢰할 수 있는 소스에서 지금 읽을 가치가 있는 문서로 이어지는 경로가 짧게 유지될 때, 현재 프로젝트 컨텍스트 (project context)는 유용하게 유지됩니다.
추가 읽기 (Further Reading)
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기