backpass
무엇인가
backpass는 AI 코딩 에이전트의 메모리 표면, 즉 AGENTS.md·CLAUDE.md 같은 상시 로드 규칙 파일과 프로젝트 스킬을 학습 대상 가중치로 취급하고 그 갱신 절차를 자동화하는 CLI다. 에이전트 세션이 디스크에 남긴 트랜스크립트를 손실 신호로 읽어 어떤 규칙이 실제 실패를 유발했는지 계산하고, 다음 세션에 반영할 편집안을 만든다. 규율하는 영역은 코드 생성 자체가 아니라 에이전트 메모리의 유지·갱신이다.
어떻게 동작하나
동작은 수집 → 손실 계산 → 그래디언트 집계 → 그래디언트 스텝의 네 단계로 진행된다. 디스크에 있는 일곱 개 에이전트 하네스의 트랜스크립트 저장소를 직접 읽으며, 로컬 또는 SSH로 자신의 다른 머신에 접속한다. 각 편집안은 실제 세션의 축자 인용을 동반하고, add·rewrite·remove 편집은 서로 다른 두 세션 이상의 증거를 요구한다. 토큰 예산 안에서 작은 단위의 diffs와 스킬 추출만 제안한다. 분석 단계는 파일을 쓰지 않으며 backpass apply가 유일한 쓰기 명령으로, 편집마다 증거를 함께 보여주고 수락·거부를 받는다. 상태는 프로젝트별 .backpass/에, 사용자 스코프는 ~/.config/backpass/user/에 모드 0700으로 격리해 둔다.
무엇과 다른가
AGENTS.md를 손으로 편집하거나 프롬프트를 매번 다시 쓰는 방식과 달리, 편집 근거를 세션 기록에서 기계적으로 끌어오고 증거 게이트와 사람 게이트를 모두 통과시킨다. 자체 API 키를 두지 않고 acpx를 통해 이미 인증한 하네스로만 모델을 호출하며, 트랜스크립트는 머신 밖으로 나가지 않고 명백한 비밀은 전송 전에 리댁트된다. 원격 수집 대상 호스트는 개인 설정 파일에만 둘 수 있고, 저장소의 .backpassrc.json에 discovery.hosts가 있으면 이름을 대고 거부한다.
어떻게 쓰나
설치는 npm install -g backpass 또는 npx backpass다. 저장소로 이동해 backpass init으로 .backpassrc.json을 만들고 .git/info/exclude에 .backpass/를 제외한 뒤, backpass로 수집·손실 계산·그래디언트 집계를 수행하고 backpass apply로 편집별 수락·거부 후 기록한다. 사용자 수준 메모리는 backpass init --scope user, backpass --scope user, backpass apply --scope user로 다루며, 다른 머신의 세션은 개인 설정의 discovery.hosts나 --host <name>으로 합류시키고 --host none은 로컬만 수집한다.
전제와 한계
전제는 Node >= 22.5와 PATH에 있는 acpx다. 자체 API 키가 없으므로 모델 호출은 이미 인증한 하네스를 거쳐야 한다. v1에서 로드 경로를 검증한 대상은 Claude Code와 Codex이고, 수집은 일곱 개 하네스의 트랜스크립트 저장소를 대상으로 한다. nix·home-manager처럼 읽기 전용 저장소로 해석되는 대상은 해석된 경로를 이름으로 지목하며 거부한다. 프로젝트 스코프 실행은 사용자 수준 파일을 쓰지 않고, 사용자 스코프의 add·rewrite·remove는 minGapProjects(기본 1) 조건을 추가로 통과해야 한다.