파일 사전 예약 시스템: 단일 저장소 내 다중 AI 에이전트 간 코드 충돌 방지
단일 디렉터리에서 무질서한 동시 작업은 코드 손실을 유발합니다. 브랜치 격리는 협업을 방해합니다. 해결책은 서버가 통제하는 파일 경로 임대 시스템입니다.
같은 저장소에서 규칙 없이 에이전트를 실행하면 1분 안에 상호 덮어쓰기가 일어납니다. 브랜치 격리는 협업 개발에 적합하지 않습니다.
브랜치 격리의 실제 비용
격리된 환경에서는 다른 에이전트가 방금 생성한 타입 정의를 즉시 활용할 수 없습니다.
공통 설정 파일에서 자동 병합이 불가능한 충돌이 발생합니다.
실시간 프리뷰가 온전한 상태를 반영하지 못합니다.
사후 충돌 해결에 불필요한 인력과 토큰이 소모됩니다.
따라서 모든 에이전트가 단일 디렉터리를 공유합니다.
교착 상태 없는 임시 임대
예약은 경로 목록, 에이전트 ID, 모드, 만료 시간으로 구성됩니다.
독점 모드(쓰기)와 공유 모드(읽기 의존성 추적)를 지원합니다.
export interface ClaimDenial {
path: string;
holder: string;
holderTask: string;
expiresInS: number;
hint: string;
}거부 시 현재 점유자의 작업 정보가 즉시 반환되어 다른 작업으로 신속히 전환할 수 있습니다.
실제 쓰기 시 임대가 자동 연장되며 프로세스 종료 시 자동 해제됩니다.
모델의 자율 준수는 최적화일 뿐이며 서버 통제가 무결성의 보증입니다.
서버 기반 파일 시스템 감시
파일 시스템 감시자가 미승인 쓰기를 즉각 감지하고 차단합니다.
classifyWrite(rawPath: string, hintedAgentId?: string): WriteClassification무단 변경 발생 시 화면에 반영되기 전에 스냅샷을 생성합니다.
위반 에이전트에게 롤백을 지시하고 정당한 점유자에게 변경 사항을 알립니다.
명확한 커밋 기여도
모든 Git 커밋은 변경을 수행한 특정 에이전트와 자동으로 연결됩니다.
전체 아키텍처는 단일 저장소에서의 다중 AI 에이전트 운용, 원격 터미널 연결은 직접 호스팅하지 않는 터미널 관찰에서 확인하실 수 있습니다.
직접적인 답변
여러 AI 에이전트가 동일한 저장소에서 동시에 작업할 수 있나요?
네. 쓰기 조율 메커니즘을 통해 작업 전 경로를 예약하여 충돌을 차단합니다.
왜 에이전트마다 별도의 worktree를 사용하지 않나요?
동료 에이전트가 방금 작성한 코드를 보지 못해 중복 코드가 발생하고 병합 충돌이 심화되기 때문입니다.
예약 규칙은 프롬프트 권고인가요, 서버 강제인가요?
서버가 파일 시스템 레벨에서 물리적으로 강제합니다.