에이전트마다 코드를 고치기 전에 `symbol:PaymentService=replace` 같은 형식으로 무엇을 어떻게 바꿀지 선언하면, 저장소 .git 안의 SQLite 파일에 모아 두고 정해진 규칙으로 비교해서 '교체 대 확장' 같은 충돌을 코드 작성 전에 HIGH 판정으로 알려 줘요. 판정에 LLM 을 쓰지 않고 파일을 잠그지도 않으며(경고만 해요), 클로드 코드·코덱스·커서에는 스킬 파일과 MCP 서버(도구 18개)로 붙고 선언한 조작에만 HIGH 를 매기고 문장에서 추론한 것은 그 아래로 둬요. 러스트로 만든 아파치 2.0 오픈소스이고, 저장소는 8월 21일에 만들어져 최신 릴리스가 9월 18일 v0.4.3, 스타는 약 450개이며 유료 요금제는 홈페이지에 없어요.
용어 풀이
- MCP
- Model Context Protocol. 에이전트가 외부 도구를 표준 방식으로 부르게 하는 규약
- HIGH
- Foremerge 가 매기는 충돌 심각도 중 가장 높은 단계
- diff
- 코드가 실제로 바뀐 부분을 줄 단위로 보여 주는 차이 목록
- CI
- Continuous Integration. 코드를 올릴 때마다 자동으로 빌드·테스트를 돌리는 체계
운영자 인사이트
선언에 의존하는 구조라 에이전트가 의도를 올리지 않거나 클래스 이름과 내부 메서드처럼 다른 이름으로 올리면 못 잡고, 실제 diff 가 선언과 다른지 대조하는 기능은 아직 로드맵이라고 작성자가 적었어요. 병렬 워크트리를 여럿 돌린다면 충돌 감지보다 빌드·타입체크 같은 빠른 검증을 통과해야 다른 에이전트가 완료로 취급하는 수락 조건 부분부터 시험해 볼 만해요.
여러 관점으로 보기
- 작성자 Show HN 본문 GPTree 팀이 사내 도구에서 떼어 냈고 98개 에이전트를 동시에 돌려 충돌 0건이었다고 하지만, 자기 인텐트 76건을 되돌려 본 결과 클래스 이름과 내부 메서드로 따로 선언한 충돌은 놓쳤다고 스스로 밝혔어요. Hacker News
- 공식 홈페이지 모델에게 충돌을 판정시키지 않아 같은 입력이면 같은 답이 나온다고 하고, 단일 컴퓨터 전용이며 코드 리뷰와 CI 를 대체하지 않는다고 적어 뒀어요. Foremerge
- 작성자 설명 글의 한계 서술 코드를 읽는 대신 선언된 범위와 조작만 규칙으로 비교하므로 같은 뜻의 다른 이름은 놓칠 수 있고, 여러 컴퓨터 공유 모드와 실제 diff 대조는 아직 없다고 적었어요. DEV Community