Foremerge는 여러 AI 코딩 에이전트가 코드를 작성하기 전에 서로의 작업 계획을 공유하고 충돌을 미리 알려주는 새로운 조정 프로토콜입니다.
상상해보세요. 당신이 팀원 5명과 함께 거대한 레고 성을 쌓고 있습니다. 그런데 3명은 “여기에 다리를 놓자”고 하고, 2명은 “이 자리에 성벽을 세우자”고 주장하며 동시에 움직인다면 어떤 일이 벌어질까요? 서로의 계획을 모르고 각자 레고를 조립하다 보면, 결국 성은 무너지고 시간만 낭비하게 될 겁니다.
최근 소프트웨어 개발 현장에서도 이와 똑같은 일이 벌어지고 있습니다. 여러 개의 AI 코딩 에이전트(coding agents, 스스로 코드를 작성하고 수정하는 AI)가 한 프로젝트를 동시에 수정하는 시대가 왔기 때문이죠. 출처 1 하지만 이 AI 에이전트들이 서로의 계획을 알지 못하고 코드를 작성하면, 나중에 합칠 때 심각한 충돌이 발생합니다. 오늘은 이런 비극을 미리 방지해주는 새로운 기술, ‘Foremerge’를 소개합니다.
왜 이 기술이 중요한가요?
지금까지 개발자들은 ‘Git(깃, 소프트웨어의 버전 관리를 돕는 도구)’이라는 시스템을 통해 코드를 합쳐왔습니다. 하지만 이것은 코드가 이미 다 작성된 뒤에야 발생하는 문제를 뒤늦게 해결하는 방식입니다. 출처 2 만약 두 AI 에이전트가 각자 다른 방향으로 소프트웨어의 구조(아키텍처)를 바꾸기로 결정했다면, 깃은 이를 코드를 다 짠 뒤에야 “충돌이 났다”고 알려줍니다. 그때는 이미 시간과 노력이 낭비된 후죠.
이런 방식은 프로젝트 전체의 안정성을 해칩니다. AI 에이전트가 코드를 쓰기 전에 서로의 ‘의도’를 파악할 수 있다면 어떨까요? Foremerge는 바로 이 지점에서 혁신을 가져옵니다. 출처 10
쉽게 말해서, ‘AI를 위한 공유 회의실’
Foremerge를 한마디로 정의하자면 ‘AI 에이전트들을 위한 공유 회의실’입니다.
레고를 조립하기 전 설계도를 그리는 것처럼, Foremerge는 각 에이전트가 코드를 한 줄이라도 쓰기 전에 자신의 설계도를 공통 저장소에 게시하게 합니다. 출처 8 구체적으로는 다음과 같이 작동합니다.
- 의도 공유: 에이전트 A는 “로그인 기능을 개선할 거야”라고 계획을 올립니다.
- 범위 확인: 에이전트 B는 “그럼 나는 데이터베이스 설정을 바꿀게”라고 계획을 올립니다.
- 충돌 감지: Foremerge는 이 두 계획이 서로 충돌하는지(예: 둘 다 같은 파일을 건드리거나 구조가 꼬이는지)를 수학적으로 계산합니다. 출처 3
- 조언 제공: 충돌이 예상되면, Foremerge는 에이전트에게 “멈춰! 이대로 가면 나중에 충돌이 발생해”라고 설명 가능한 조언을 건넵니다. 출처 2
흥미로운 점은 Foremerge의 감지 과정에 비싼 비용이 드는 LLM(거대 언어 모델)을 사용하지 않는다는 것입니다. 출처 2 대신, SQLite(에스큐엘라이트, 가볍고 빠른 데이터베이스)와 정해진 규칙을 사용하여 빠르고 정확하게 판단합니다. 출처 5
어디까지 왔을까요?
현재 Foremerge는 깃 위에서 동작하는 오픈소스 조정 프로토콜로 개발되어 있습니다. 출처 3 개발자들은 각자 분리된 작업 환경에서 일하면서도, Foremerge를 통해 자신의 작업 의도와 변경 예정 사항을 공유할 수 있습니다. 출처 7
강제적으로 작업을 막는 대신 개발자가 참고할 수 있는 조언을 주는 방식을 취하고 있어 매우 유연합니다. 출처 2 이 덕분에 인간과 AI, 혹은 여러 AI 에이전트 간의 협업이 훨씬 부드러워졌습니다.
AI 시대, 협업의 표준이 될까?
AI 코딩 에이전트가 점점 더 복잡한 업무를 수행하게 될수록, 이들을 조율하는 기술은 선택이 아닌 필수가 될 것입니다. Foremerge와 같은 ‘의도 기반의 충돌 방지 시스템’은 향후 기업형 소프트웨어 개발 환경에서 표준으로 자리 잡을 가능성이 큽니다. 출처 6 앞으로는 코드가 다 짜인 뒤에 싸우는 것이 아니라, AI끼리 서로 대화하며 충돌을 미리 피하는 스마트한 개발 환경이 당연해질 것입니다.
참고자료
-
ShowHN: Foremerge – Catch Intent Conflicts Between Parallel Coding Agents https://modernorange.io/item/49789356 -
Foremerge: catch intent conflicts before code conflicts https://foremerge.com/ -
GitHub - naw103/foremerge: Catch intent conflicts before code conflicts https://github.com/naw103/foremerge -
ShowHN: Foremerge – Catch Intent Conflicts Between Parallel Coding Agents Comments https://vk.ru/wall-238001969_5977 -
Foremerge: a Git like coordination protocol for parallel coding agents. https://users.rust-lang.org/t/foremerge-a-git-like-coordination-protocol-for-parallel-coding-agents-one-binary-sqlite-deterministic-conflict-rules/142084 -
Foremerge: Local Coordination for Coding Agents - Open Source https://reporank.net/en/repo/naw103-foremerge.html -
Foremerge: Foremerge catches intent conflicts before code conflicts https://softwareontheweb.com/product/foremerge -
Foremerge demo - YouTube https://www.youtube.com/watch?v=miuABG2hlkg -
Foremerge MCP Server https://mcp.so/servers/foremerge -
31 hard questions about coordinating parallel coding agents, answered https://dev.to/naw103/31-hard-questions-about-coordinating-parallel-coding-agents-answered-2md2
- 코드가 완성된 후 충돌을 확인한다
- 코드를 작성하기 전에 계획의 충돌을 미리 감지한다
- AI가 모든 충돌을 자동으로 수정한다
- 매번 LLM을 사용하여 문맥을 파악한다
- 사용자가 직접 코드를 검토해야 한다
- 사전 정의된 결정론적 규칙을 사용하며 LLM을 쓰지 않는다
- 그렇다, 하드 락(Hard Lock)을 건다
- 아니다, 조언(Advisory)을 제공한다
- 사용자의 승인이 있을 때까지 멈춘다