여러 AI가 팀으로서 함께 코딩하는 IDE를 만들었습니다 🚀
요약
여러 AI 모델(Claude, Gemini, 로컬 모델)이 팀으로서 협업하여 코드를 작성하는 멀티 에이전트 IDE 구축 사례를 소개합니다. 오케스트레이터를 통해 코드 충돌과 API 비용 문제를 해결하며, AST 스켈레톤과 중앙 메모리 시스템을 활용한 효율적인 워크플로우를 구현했습니다.
핵심 포인트
- Claude, Gemini 등 서로 다른 모델을 역할별로 분담하여 협업 구조 구축
- AST 스켈레톤을 활용해 토큰 비용 절감 및 컨텍스트 혼란 방지
- 에이전트 간 신호 전달 시스템을 통해 모델 간 상호작용 구현
- 중앙 메모리 베이스를 통한 프로젝트 상태 및 컨텍스트 공유
저는 최근에 마치 공상 과학 영화에서 튀어나온 것 같은 프로젝트를 진행해 왔습니다. 바로 여러 AI 모델이 하나의 통합된 팀으로서 실시간으로 협업하며 코드를 작성하는 IDE(통합 개발 환경)입니다.
보통 AI를 사용하여 코드를 작성할 때는 엄격한 1대1 채팅 방식입니다. 사용자가 프롬프트(Prompt)를 입력하면 AI가 생성하고, 사용자가 그것을 복사하여 붙여넣는 식이죠. 하지만 저는 AI 모델들을 실제 엔지니어링 팀처럼 다룬다면 어떤 일이 벌어질지 보고 싶었습니다.
Claude에게 백엔드 아키텍처(Backend Architecture)를 맡기고, Gemini에게 프론트엔드(Frontend) 구축을 맡기며, **로컬 오픈 소스 모델(Local Open-Source model)**이 엄격하게 QA(품질 보증) 역할을 수행하며 버그를 수정하도록 하여, 이들이 모두 정확히 동일한 프로젝트에서 동시에 작업하게 한다면 어떨까요?
제가 이를 어떻게 구현했는지, 어떤 장애물에 부딪혔는지, 그리고 그것들을 어떻게 해결했는지에 대한 상세 내용을 소개합니다.
가장 큰 도전 과제: 혼란과 비용
세 개의 LLM(대규모 언어 모델)이 동시에 코드를 생성하기 시작하면, 두 가지 현상이 매우 빠르게 발생합니다.
- 코드 충돌 (Code Collisions): 모델들이 서로의 작업물을 덮어쓰려고 시도합니다.
- 막대한 API 비용 (Massive API Bills): 전체 코드베이스 컨텍스트(Context)를 여러 상용 API와 주고받는 것은 지갑을 비우는 아주 좋은 방법입니다.
이를 해결하기 위해 단순히 텍스트 에디터에 모델들을 연결하는 것만으로는 부족했습니다. 저에게는 오케스트레이터(Orchestrator)가 필요했습니다.
"교통 경찰" 매니저 구축하기
저는 AI 팀의 엔지니어링 매니저 역할을 하는 커스텀 데스크톱 애플리케이션을 Python과 PyQt6를 사용하여 구축했습니다. 모델들이 제멋대로 작동하게 두는 대신, 이 앱이 그들의 워크플로우(Workflow)를 조율합니다.
이 아키텍처가 혼란을 처리하는 방식은 다음과 같습니다:
- "교통 경찰 (Traffic Cop)" 시스템: 매니저는 특정 AI 에이전트가 엄격하게 필요할 때만 깨웁니다. 만약 UI 작업이라면, Gemini에게만 알림(Ping)을 보냅니다.
- 전체 컨텍스트 대신 AST 스켈레톤 (AST Skeletons over Full Context): 토큰 비용을 절감하고 혼란을 방지하기 위해, 모델들은 프로젝트 전체를 읽지 않습니다. 대신, 매니저가 코드베이스를 파싱하여 추상 구문 트리 (AST, Abstract Syntax Tree) 스켈레톤을 제공합니다. 이를 통해 에이전트들은 모든 코드 라인을 읽는 토큰 집약적인 페이로드(Payload) 없이도, 프로젝트의 개요를 파악하여 요소들이 어디에 있는지 알 수 있습니다.
- 에이전트 간 신호 전달 (Inter-Agent Signaling): 제가 가장 좋아하는 부분입니다. 만약 프론트엔드 AI (Gemini)가 컴포넌트를 렌더링하기 위해 새로운 데이터베이스 엔드포인트가 필요하다는 것을 깨달으면, 단순히 실패하거나 환각 (Hallucination)을 일으키지 않습니다. 대신 백엔드 AI (Claude)에게 디지털 "신호"를 보내 데이터베이스 변경을 요청합니다.
- 중앙 메모리 베이스 (Central Memory Base): 모든 에이전트는 중앙 집중식 메모리 저장소를 공유하여, 혼란을 겪거나 노력을 중복하지 않고 상태, 작업 및 프로젝트 컨텍스트를 추적합니다.
다음 단계는?
이것을 구축하는 과정은 멀티스레딩 (Multi-threading), UI 디자인, 그리고 AI 오케스트레이션 (Orchestration)에 대한 커피로 버틴 강렬한 심층 탐구였습니다. 하지만 에이전트들이 로컬 대시보드에서 실제로 작업을 주고받으며 협업하여 기능을 구축하는 모습을 보는 것은 믿을 수 없을 정도로 보람찬 일입니다.
현재 저는 사용자가 자신의 상용 API 키를 동적으로 연결하거나 로컬 모델을 연결할 수 있도록 설정 페이지를 다듬고 있는 중입니다.
계속 지켜봐 주세요. 곧 팀이 실제로 작동하는 모습이 담긴 비디오 데모를 공유하겠습니다!
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기