ghostwriter

AI Coding ToolsskillTypeScript

★ 66조회 4

무엇인가

GhostWriter는 소스 파일을 AST 단위로 축약해 실패 지점과 무관한 함수·클래스 본문을 자리표시자로 대체한 뒤 에이전트에게 넘기는 규칙 묶음이다. 규율하는 영역은 "무엇을 읽을 것인가"이며, 디버깅·대형 파일 분석·특정 라인 수정 상황에서 에이전트가 파일 전체를 컨텍스트에 적재하지 않도록 읽기 범위를 좁힌다.

어떻게 동작하나

Codex 쪽은 저장소에 포함된 플러그인/스킬로 붙고, 에이전트는 분석이나 편집 전에 `ghostwriter prune <file> --line <n> --stdout --silent`를 호출한다. Gemini CLI는 이 저장소의 확장 메타데이터를 통해 같은 도구를 자동으로 쓴다. 축약 결과에서 대상 라인이 속한 블록은 원문이 유지되고 나머지 함수·클래스 본문은 `[Ghosted]` 주석으로 대체되며, 클래스·메서드 시그니처와 파일 구조는 남는다.

무엇과 다른가

프롬프트에 "관련 부분만 보라"고 적는 방식은 모델이 관련 범위를 스스로 추정해야 하고 파일을 이미 읽은 뒤에는 효과가 없다. CLAUDE.md·AGENTS.md 같은 규칙 파일은 상시 규칙을 주입하지만 파일 내용 자체를 줄이지 않는다. GhostWriter는 읽기 이전 단계에서 파일을 결정적으로 축약하는 외부 도구 호출을 스킬에 묶어, 규칙이 아니라 입력 크기를 통제한다.

어떻게 쓰나

Codex에서는 저장소에 포함된 플러그인/스킬을 설치 대상에 한 번 넣으면 이후 해당 대상의 모든 세션에서 계속 쓰인다. Gemini CLI에서는 확장으로 설치한다. 첫 사용은 스택 트레이스 기반 오류 수정 요청, 대형 모듈의 로직 분석 요청, 특정 라인 지점 수정 요청에서 자동으로 발동한다.

전제와 한계

대상은 Codex와 Gemini CLI 워크플로이며 Claude Code·Cursor용 배선은 README에 없다. 자동 오류 위치 탐지는 터미널 스택 트레이스나 시스템 클립보드 입력에 의존하므로 그 입력이 없으면 대상 라인을 직접 지정해야 한다. AST 기반 도구이지만 지원 언어 목록은 README에 명시되지 않았고, 축약은 컨텍스트 절감만 담당하며 오류 자체를 수정하지는 않는다.

유사 도구