만약 네 개의 Claude Code 에이전트가 하나의 노트북에서 실행된다고 가정해 봅시다. 한 에이전트는 cargo test를 시작하고 나머지 세 개는 이미 빌드를 진행합니다. 이렇게 네 개의 무거운 작업을 동시에 처리하면 기기가 느려지기 십상이며, 에이전트들이 실행하는 모든 명령을 지켜볼 수도 없습니다.
해결책 (The fix)
agentgc는 제가 만든 CLI(명령줄 인터페이스)입니다. 이 도구는 Claude Code의 후크(hook) 기능을 사용하여 무거운 명령어들을 큐잉합니다. 설치 방법은 다음과 같습니다:
agentgc hook install # 건식 실행: 대상 파일과 JSON을 출력합니다.
agentgc hook install --apply # 후크를 .claude/settings.json에 병합합니다.
# 그런 다음 Claude Code를 재시작하세요.
CLAUDE.md의 규칙은 단지 권장 사항일 뿐입니다. 하지만 후크는 Claude Code가 이 규칙을 따르도록 강제합니다.
이 후크는 Bash 도구를 감시합니다. cargo test나 npm run build와 같은 일반적인 무거운 명령어를 agentgc run -- cargo test로 재작성(rewrite)합니다. 기본적으로, 논리 코어의 4분의 1(최소한 하나)이 동시에 무거운 작업을 수행하고, 나머지 자원은 고정된 순서 없이 빈 슬롯을 기다립니다.
두 번째 후크인 session-start는 새로운 세션마다 무거운 명령어를 위해 agentgc run --를 사용하도록 지시합니다.
기본적으로 안전함 (Safe by default)
이 후크는 명령어를 재작성하기 전에 승인을 요청합니다. Claude Code가 새 명령어를 보여주면, 사용자가 이를 승인해야 합니다. --allow 플래그를 사용하면 이 질문 과정을 건너뛸 수 있습니다. 모든 재작성을 받아들일 경우에만 추가하세요.
이 후크는 일반적인 단일 명령어만 재작성합니다. 파이프(|), &&, 리디렉션, 따옴표 또는 글롭(globs)과 같은 셸 구문(shell syntax)을 포함하는 명령어는 그대로 유지됩니다. 파일을 변경하기 전에, hook install은 사용자의 .claude/settings.json을 settings.json.agentgc.bak로 복사합니다.
릴리스 노트에 따르면 이 테스트들은 GitHub Actions에서 Windows, Linux 및 macOS 모두에서 통과했다고 합니다. 또한 전체 흐름(full flow)이 Windows 환경에서 수동으로 처음부터 끝까지 실행되었다고 명시되어 있습니다. 바이너리는 코드 서명(code signed)되지 않았기 때문에, 첫 시작 시 Windows SmartScreen이나 macOS Gatekeeper가 경고를 표시할 수 있습니다.
0.3.0에 새로 추가된 기능
agentgc task review NAME은 작업(task)이 완료되기 전에 어떤 변경 사항을 보여줍니다. 읽기 전용입니다.
agentgc doctor는 git이 추적하는 파일 내의 하드 코딩된 포트(ports)와 데이터베이스 이름(database names)을 나열합니다. 읽기 전용입니다.
agentgc run --min-interval은 큐에 대기된 두 명령어의 시작 사이에 설정된 시간(seconds)만큼 기다립니다.
agentgc.task.toml 파일 내의 db.disconnect는 task done 시 데이터베이스가 삭제되기 전에 명령을 실행합니다.
agentgc worktrees --deps는 공유 의존성 저장소(shared dependency store)를 사용했을 때 얼마나 많은 비용을 절감할 수 있는지 추정합니다.
Repo: https://github.com/JohnWayneeee/agentgc. Release notes: https://github.com/JohnWayneeee/agentgc/releases/tag/v0.3.0