여러 AI 에이전트가 협업해서 프로젝트를 자동 구현하는 시스템 만들었습니다 (SAMAMS)
안녕하세요.
여러 AI 에이전트가 협업해서 소프트웨어 프로젝트를 자동으로 구현하는 시스템을 만들고 있어서 공유드립니다.
프로젝트 이름은 SAMAMS (Sentinel Automated Multiple AI Management System) 입니다.
🔥 한 줄 요약
여러 AI agent를 동시에 돌려서, 계획 → 작업 분해 → 병렬 실행 → 충돌 해결 → 머지까지 자동으로 처리하는 시스템입니다.
🤔 왜 만들었나
요즘 Cursor, GPT, Claude 등으로 “코드 생성”은 많이 자동화됐는데
실제로 개발에서 어려운 부분은 이거라고 생각했습니다:
작업을 어떻게 나누는지
여러 작업을 동시에 어떻게 진행하는지
충돌이 났을 때 어떻게 정리하는지
전체 맥락을 어떻게 유지하는지
즉,
“한 명의 AI”가 아니라
“여러 명이 협업하는 구조”가 필요하다고 판단해서 만들게 됐습니다.
🧠 전체 구조
간단하게 보면 이런 구조입니다:
Frontend (React)
↓
Server (Go)
↓
Proxy (Go)
↓
Cursor CLI Agent (subprocess)
↓
LLM (Claude / GPT / Gemini)핵심은:
Server → 전체 orchestration (계획, 전략, 상태 관리)
Proxy → 실제 agent 실행 및 git workspace 관리
Agent → 실제 코드 작성 (Cursor CLI)
⚙️ 핵심 특징
1. 멀티 에이전트 병렬 실행
하나의 Task에 여러 Agent 할당 가능
scale up/down 지원
각 agent는 독립된 git worktree에서 작업
👉 실제로는 “혼자 코딩”이 아니라
여러 명이 동시에 PR 만드는 구조
2. Task 기반 계층 구조 (DDD)
Proposal
└── Milestone
└── Task (실제 실행 단위)각 Task는 완전히 격리된 컨텍스트에서 실행
부모 → 자식으로 context 누적 전달
👉 컨텍스트 꼬임 문제 최소화
3. 전략 회의 (Strategy Meeting)
특이한 기능인데 핵심입니다.
여러 agent 작업을 일시 정지
각 agent 상태 + 로그 수집
LLM이 분석해서:
계속 진행
재시도
취소
재분배 결정
👉 말 그대로 AI 팀의 회의 시스템
4. Git Worktree 기반 격리
main/
dev-TASK-0001/
dev-TASK-0002/task마다 독립된 workspace
FIFO merge queue로 충돌 최소화
agent push는 막고, merge만 허용
👉 “AI가 깃 히스토리 망치는 문제” 방지
5. Single Event Loop (Actor 모델)
서버 쪽은 이렇게 처리합니다:
모든 상태 변경은 단일 이벤트 루프에서만 실행
LLM 호출은 async → callback 이벤트로 복귀
👉 race condition 원천 차단
6. 역할 기반 LLM 분리
역할 | 모델 |
|---|---|
Planner | Claude |
Log 분석 | GPT |
요약 | Gemini |
👉 비용 + 성능 밸런스 최적화
🧪 현재 상태
로컬 환경에서는 전체 flow 동작
Cursor CLI 기반 agent 실행
멀티 task orchestration 가능
전략 회의까지 동작
⚠️ 아직 문제 있는 부분
Lambda 배포 쪽 DI 미완성
트랜잭션 없음 (멀티 aggregate consistency 문제)
프론트 타입 안정성 부족
polling 구조 (WebSocket 전환 예정)
🎯 방향성
단순히 코드 생성 툴이 아니라:
“AI 기반 개발 조직 운영 시스템”을 목표로 하고 있습니다.
사람이 task만 정의하면
나머지는 agent들이 협업해서 구현
🔗 깃허브
https://github.com/teamswyg/go_samams_public
🙋♂️ 피드백 부탁드립니다
특히 궁금한 부분:
이런 구조가 실제 팀 개발에 의미 있을지
전략 회의 같은 개념이 유효한지
더 단순하게 만들 수 있는 방향이 있는지