Skip to content

AI 에이전트 13개 분업 설계: PRISM-INSIGHT 멀티에이전트 해부 2026

AI 에이전트를 여러 개 붙였는데 결과가 더 엉망이 됐다면, 문제는 대개 모델이 아니라 조직도입니다. 오픈소스 프로젝트 PRISM-INSIGHT는 주식 분석·매매라는 업무 하나를 에이전트 13개로 쪼개면서, 나누는 기준을 "기능"이 아니라 "최종 리포트의 목차"로 잡았습니다. 조율은 LLM이 아니라 파이썬 코드가 하고, 판단만 LLM에게 맡깁니다. 이 글은 그 구조를 투자 성과가 아니라 시스템 설계 관점에서 뜯어본 기록입니다.

멀티에이전트 시스템: 하나의 LLM이 모든 판단을 떠안는 대신, 역할이 나뉜 여러 에이전트가 각자 좁은 임무만 맡고 그 결과를 다음 단계로 넘기는 구조입니다. 이 조율(오케스트레이션)을 LLM에게 맡길지 코드에 맡길지가 시스템의 예측 가능성을 크게 좌우합니다.

본 글은 시스템 설계 해설이며 투자 자문이 아닙니다.

PRISM-INSIGHT 실측 프로필 (2026-07-29 기준)

먼저 실체부터 확인하고 가겠습니다. GitHub API로 직접 조회한 값입니다.

항목
저장소dragon1086/prism-insight
언어·요구사항Python (3.10 이상 또는 Docker)
star / fork / open issue691 / 240 / 6
저장소 생성일2025-08-15 (오늘 기준 348일 전)
최신 릴리스v2.19.0, 2026-07-21 (오늘 기준 8일 전)
라이선스AGPL-3.0 + 상용 SaaS 별도 라이선스 (듀얼)
저장소 topicsai, llm, mcp, multi-agent, stock

star 691에 fork 240이라는 비율이 눈에 띕니다. 별만 누르고 지나간 게 아니라 가져가서 돌려 보려는 사람이 그만큼 많았다는 뜻이니까요. 릴리스도 주 단위로 돌고 있어서 박제된 데모가 아니라 지금도 손이 들어가는 프로젝트입니다.

라이선스는 정확히 봐야 합니다. "완전 무료 오픈소스"라고 말하면 틀립니다. 개인이 쓰거나 파생물을 오픈소스로 공개하는 경우는 AGPL-3.0으로 무료지만, 이걸 감싸서 상업용 SaaS로 팔려면 별도 상용 라이선스가 필요한 듀얼 라이선스입니다.

대상 시장은 한국(KOSPI·KOSDAQ)과 미국(NYSE·NASDAQ)이고, 미국 모듈은 한국 모듈을 거의 그대로 미러링한 구조입니다. 다만 매크로 인텔리전스와 매매일지, 번역 에이전트는 미국 모듈에 없습니다. 실행 경로는 로컬 Python, Docker Compose, API 키 하나로 도는 퀵스타트까지 세 갈래고, 리포트는 Playwright(Chromium)로 PDF까지 뽑습니다.

"13개"의 실체: 리포트 목차가 곧 조직도

숫자부터 정리하고 가겠습니다. 이 프로젝트에서 "13"은 어느 문서를 보느냐에 따라 달라집니다. README 헤드라인은 "13+"라고 적고, 팀 구성표를 합산하면 16이 되며, 저장소 루트 CLAUDE.md의 번호표는 정확히 13행입니다. 정리하면 13 = 분석·매매 코어 파이프라인이고, 여기에 사용자 상담 2개와 매매일지 1개(옵션)를 더하면 16입니다.

진짜 흥미로운 지점은 개수가 아니라 나눈 기준입니다. 분석 담당 6개는 각각 최종 리포트의 한 섹션을 맡습니다.

#에이전트담당
1Technical Analyst추세·이동평균·지지저항·RSI·MACD·볼린저
2Trading Flow Analyst기관·외국인·개인 수급 흐름
3Financial AnalystPER·PBR·ROE·부채비율과 컨센서스
4Industry Analyst사업 모델·경쟁 지위·점유율·성장 동인
5News Analyst뉴스·공시·촉매 식별
6Market Analyst지수·거시 환경 (결과 캐싱)
7Investment Strategist1~6 섹션 리포트를 통합해 전략으로 합성
8Macro Intelligence시장 국면, 주도·낙후 섹터 식별
9Summary Optimizer메신저용 단문 요약 압축
10Quality Evaluator요약 품질·환각 검사
11Translation Specialist다국어 브로드캐스트 번역
12Buy Specialist진입 판단, JSON 시나리오 산출
13Sell Specialist청산 시점 판단, JSON과 확신도 산출

앞의 여섯 자리를 보면 리포트 목차가 그대로 조직도라는 게 보입니다. 이 방식이 실무적으로 좋은 이유는 확장 규칙이 저절로 따라오기 때문입니다. 리포트에 섹션을 하나 더 넣고 싶으면 에이전트를 하나 더 만들면 됩니다. 반대로 기능이나 모델 능력으로 나누면 어디까지가 누구 일인지 매번 논쟁이 붙습니다. 팀이 AI 에이전트로 일하는 방법을 설계하신다면, "우리 결과물의 목차는 무엇인가"를 먼저 정하고 그 목차를 따라 자리를 만드는 방식이 그대로 이식됩니다.

문서 간 드리프트도 짚어 둘 필요가 있습니다. 저장소 루트 CLAUDE.md는 버전 표기가 2.9.0에 머물러 있고, 상세 문서인 docs/CLAUDE_AGENTS.md는 마지막 커밋이 2026-01-28(오늘 기준 182일 전)이라 상담 팀 모델명 같은 세부는 README 쪽이 더 최신입니다. 문서끼리 어긋나면 릴리스 노트, README, CLAUDE.md, CLAUDE_AGENTS.md 순으로 신뢰하는 편이 안전합니다.

오케스트레이터는 LLM이 아니라 코드입니다

여기가 이 프로젝트의 성격을 가장 잘 보여주는 대목입니다. 리드 에이전트가 상황을 보고 하위 에이전트를 즉석에서 만들어 붙이는 자율형 구조가 아닙니다. 파이썬 코드가 에이전트 디렉토리에서 필요한 에이전트를 꺼내 정해진 순서대로 돌리는 정적 파이프라인입니다. 조율 로직이 코드에 있으면 어느 단계에서 멈췄고 무엇을 다시 돌려야 하는지가 로그로 남습니다. 대신 상황에 따라 팀 구성이 바뀌는 유연성은 포기합니다.

동시성을 다루는 방식도 인상적입니다. 저장소의 코드 컨벤션에는 분석 에이전트 6개를 asyncio.gather로 한꺼번에 돌리는 코드가 "잘못된 예"로 명시돼 있습니다. 외부 API 호출 한도를 넘기기 때문입니다. 그래서 기술적 분석부터 시장 분석까지는 순차로 돕니다. 반대로 다국어 번역과 채널 브로드캐스트는 병렬로 처리하고, v2.19.0에서는 여러 종목을 동시에 처리해 리포트 생성 시간을 줄였습니다. 멀티에이전트라고 전부 병렬로 밀어붙이는 게 아니라, 외부 한도가 병목인 구간만 골라 줄을 세운 셈입니다.

비용과 지연을 줄이는 장치도 붙어 있습니다. 하나는 데이터를 미리 모아 프롬프트에 꽂아 넣고 해당 에이전트에는 도구(MCP 서버)를 아예 붙이지 않는 방식입니다. 지시문도 "도구를 반드시 호출하라"에서 "선수집 데이터를 기반으로 분석하라"로 바뀝니다. 도구를 안 주면 잘못 부를 일도 없어집니다. 다른 하나는 캐싱입니다. 시장·지수 분석은 종목이 달라도 결과가 같으니 한 번 계산해 재사용하고, 종목 N개를 처리할 때 N번 나가던 호출이 1번으로 줄어듭니다. 매수·매도 에이전트가 산문 대신 JSON을 뱉는 것도 같은 맥락입니다. 뒤에 오는 주문 실행 코드가 그대로 파싱해야 하니 자유서술과 기계입력의 경계를 명확히 그어 둔 거죠.

일반 원칙과 나란히 놓고 보기

Anthropic이 2026-04-10(오늘 기준 110일 전)에 공개한 멀티에이전트 조정 패턴 문서는 오케스트레이터-서브에이전트 구조의 원칙을 이렇게 정리합니다. 리드가 과제를 쪼개 위임하고, 각 서브에이전트는 독립된 컨텍스트에서 돌며 압축된 결과만 돌려주고, 서브에이전트끼리는 대화하지 않습니다. 여기에 짧게 끝나는 일회성 서브에이전트와 여러 호출에 걸쳐 상태를 쌓는 지속형 팀원을 구분해 과제 성격에 맞게 고르라고 권합니다.

설계 축일반 원칙PRISM-INSIGHT의 선택
오케스트레이터 주체LLM 리드 에이전트가 위임파이썬 코드가 정적 파이프라인 실행
컨텍스트 격리독립 컨텍스트에서 압축 결과만 반환에이전트별 독립 지시문과 필요한 도구만 부착, 섹션 리포트만 전달
에이전트 간 통신서브에이전트끼리 직접 대화 없음동일. 전략 에이전트가 6개 섹션을 통합
병렬화가능한 범위에서 병렬 권장분석 구간은 의도적 직렬, 번역·다종목 구간에서 병렬 회수
일회성 vs 지속형과제 성격에 따라 선택분석·요약·매매 판단은 일회성, 매매일지만 지속형 메모리

한 줄로 요약하면 이렇습니다. PRISM-INSIGHT는 LLM이 알아서 팀을 꾸리는 자율형이 아니라, 사람이 조직도를 먼저 그려 놓고 각 자리에 LLM을 앉힌 형태입니다. 실무에서 재현하기 쉬운 쪽은 대체로 후자입니다.

생성자와 평가자를 분리하고, 안전장치는 코드에 둡니다

요약을 만드는 Summary Optimizer와 그 요약이 원문과 어긋나지 않는지 검사하는 Quality Evaluator가 서로 다른 에이전트입니다. 평가 등급이 기준에 도달할 때까지 반복 루프를 돌고요. 만든 쪽이 자기 결과를 스스로 채점하지 않는다는 원칙이 프로덕션 코드에 들어간 사례입니다.

여기서 한 발 더 나갑니다. 판단은 LLM이 하지만, 사고를 막는 장치는 LLM 바깥에 있습니다.

  • 최대 보유 종목 수 상한, 동일 섹터 최대 보유 수 상한
  • 기본 실행 모드는 항상 모의(demo)
  • 트리거 유형별 손절 상한을 상수 테이블로 고정
  • 잘못된 매도 수량이 들어오면 전량 청산 대신 거부
  • 시세를 못 받아오면 값을 지어내지 않고 처리를 미룸

전부 파이썬 상수와 조건문입니다. 모델이 이상한 답을 뱉어도 규칙이 바깥에서 잡아 주는 구조죠. 자동화를 만들 때 "LLM에게 잘 지시하면 되겠지"로 끝내지 않고, 되돌릴 수 없는 동작 앞에는 코드 방벽을 세우는 편이 훨씬 안전합니다.

옵션으로 켜는 매매일지 에이전트는 조금 다른 방식으로 스스로를 개선합니다. 지난 거래를 회고해 교훈을 뽑고, 상세에서 요약으로, 요약에서 직관으로 단계적으로 압축해 장기 기억으로 쌓은 뒤 이후 판단에 반영합니다. v2.19.0에서는 이 직관 메모가 무한정 쌓여 중복과 잡음이 되던 문제를 정리했다고 밝혔습니다. 기억을 쌓는 에이전트가 흔히 겪는 부작용과 그 처방이 같은 릴리스 노트에 함께 적혀 있는 셈입니다.

위험한 변경은 꺼진 채로 배포합니다

v2.19.0(2026-07-21, 오늘 기준 8일 전)에서 가장 큰 변경은 주문 실행 구조를 전면 재설계한 것입니다. 여러 곳에서 제각각 나가던 주문을 하나의 통로로 모으고, 주문 상태를 단계별로 기록하도록 바꿨습니다. 장부를 먼저 적고 주문은 나중에 내던 위험한 순서를 없앴고, 체결 이후의 알림이나 기록 전송이 일부 실패해도 체결 결과는 유지한 채 실패한 알림만 다시 시도합니다.

주목할 지점은 배포 방식입니다. 이 새 구조는 기본 꺼진 상태로 배포됐습니다. 실제 동작은 종전 경로 그대로 두고, 새 구조는 뒤에서 같은 입력을 받아 결과만 대조하는 그림자 검증만 합니다. 같은 릴리스에서 새로 넣은 종목 선별 지표도 곧바로 판단에 반영하지 않고 관찰 모드로 먼저 넣었습니다.

되돌릴 수 없는 도메인에서 이보다 나은 배포 전략을 찾기는 어렵습니다. 새 로직을 켜는 순간이 곧 첫 실전 검증이 되는 상황을 피할 수 있으니까요. 발송이나 결제, 배포처럼 취소가 안 되는 자동화를 만드신다면 그대로 참고할 만한 패턴입니다.

월 약 310달러, 멀티에이전트 운영비를 공개한 드문 사례

멀티에이전트는 단일 에이전트보다 토큰을 훨씬 많이 씁니다. 그래서 대부분의 프로젝트가 "상시 운영하면 얼마 드나요"라는 질문에 답을 못 합니다. PRISM-INSIGHT는 README에 월 운영비 내역을 적어 뒀습니다.

항목월 비용
OpenAI약 235달러
Anthropic약 11달러
크롤링·검색약 35달러
서버약 30달러
합계약 310달러

모델도 역할별로 갈라 놨습니다. 분석과 매매 판단, 번역은 OpenAI 계열이, 리포트 생성과 사용자 상담은 Claude 계열이 맡습니다. 이 배분이 비용 내역에도 그대로 드러나죠. 다만 릴리스마다 모델 버전이 계속 올라가고 있어서, 특정 모델명을 기준으로 설계를 고정하면 금방 낡습니다.

비용을 낮추는 우회로도 준비돼 있습니다. API 키로 과금하는 모드 외에, ChatGPT 구독 계정을 OAuth 프록시로 물려 API 청구 없이 돌리는 모드를 환경변수 하나로 전환할 수 있습니다. 개인이 실험용으로 돌려 보는 문턱을 낮추는 장치입니다.

데이터 소스도 최소 권한으로 붙습니다. 한국 시장은 제작자가 직접 만든 시세 MCP 서버와 크롤러를, 미국 시장은 시세용과 공시용 MCP 서버를 쓰고, 뉴스와 웹 검색은 공통 서버 하나를 씁니다. 재무·산업 분석 에이전트에는 크롤러만, 매매 에이전트에는 시세와 DB, 검색, 시각 도구를 붙이는 식입니다. 에이전트마다 꼭 필요한 도구만 주면 컨텍스트 오염과 오작동이 함께 줄어듭니다.

오픈소스 논쟁: 엣지 소멸인가, 적응 속도인가

Hacker News에는 2025-11-16(오늘 기준 255일 전)에 올라온 소개 글이 있습니다. 반응 규모 자체는 크지 않았지만 논쟁 축은 선명합니다.

회의론은 이렇습니다. 우위를 만들어 낸다고 주장하는 시스템을 통째로 공개하는 건 대담한 선택이고, 충분히 많은 사람이 알게 되는 순간 그 우위는 사라진다는 겁니다.

제작자 쪽 반론은 이렇습니다. 이건 고정된 전략이 아니라 매번 실시간 데이터를 다시 분석하는 동적 멀티에이전트이고, 구현 복잡도와 LLM의 비결정성 때문에 그대로 복제하기 어렵다는 것이죠. 제3자는 전략이 노출돼도 개발이 멈추는 건 아니니 진짜 우위는 변화에 대응하는 속도 아니냐고 거들었고, 최초 회의론자는 그 적응 도구 자체를 다 같이 나눠 가지면 결국 한 단계 위에서 우위가 희석된다고 다시 받았습니다.

담론 규모는 작았지만 fork 240이라는 실측치가 더 정직한 신호일 수 있습니다. 말로 논쟁한 사람보다 가져가서 돌려 본 사람이 훨씬 많았다는 뜻이니까요. 공개하면 우위가 사라지는가, 아니면 공개해야 개선 속도가 붙는가. 자동화 자산을 만드는 입장이라면 한 번쯤 정면으로 답해 볼 만한 질문입니다.

자주 묻는 질문 (FAQ)

Q: 이 시스템을 그대로 돌리면 되나요?

설계를 참고하는 관점을 권합니다. 이 글은 에이전트 분업 구조와 운영 방식을 해설한 것이고, 원 저장소도 분석 정보는 참고용이며 투자 자문이 아니라고 명시하고 있습니다. 되돌릴 수 없는 동작이 포함된 시스템은 기본 모의 모드와 코드 방벽을 확인하신 뒤에 판단하시는 편이 안전합니다.

Q: 왜 분석 에이전트는 병렬로 안 돌리나요?

외부 API 호출 한도가 병목이기 때문입니다. 저장소 코드 컨벤션에 분석 에이전트를 동시 실행하는 코드가 잘못된 예로 적혀 있고, 대신 데이터 선수집과 캐싱으로 호출 횟수를 줄여 속도를 확보합니다. 한도에 여유가 있는 번역과 브로드캐스트, 다종목 처리 구간은 병렬로 돕니다.

Q: 상업적으로 써도 되나요?

라이선스가 둘로 나뉩니다. 개인·비상업·오픈소스 용도는 AGPL-3.0으로 쓸 수 있지만, 이 코드를 기반으로 상업 SaaS를 제공하려면 별도 상용 라이선스가 필요합니다. "완전 무료"로 이해하시면 안 됩니다.

Q: 운영 비용은 어느 정도인가요?

README 기준으로 월 약 310달러입니다. OpenAI 약 235달러, Anthropic 약 11달러, 크롤링·검색 약 35달러, 서버 약 30달러로 구성돼 있습니다. ChatGPT 구독을 OAuth로 물려 API 청구 없이 돌리는 경로도 제공됩니다.

7월 30일 라이브에서 직접 들어보세요

문서로 읽는 아키텍처와, 만든 사람이 화면을 띄워 놓고 설명하는 아키텍처는 밀도가 다릅니다.

2026년 7월 30일(목) 저녁 8시, QJC 정점(頂點) 라이브에서 PRISM-INSIGHT를 만든 현직 개발자 문상록 님이 직접 나옵니다. 슬라이드 발표가 아니라 실제 화면을 띄워 놓고 시스템을 설명하고 시연하는 자리예요. 에이전트를 어떤 기준으로 쪼갰는지, 코드 오케스트레이터를 고른 이유가 무엇이었는지, 돌려 보니 무엇이 문제였는지를 물어보기 좋은 기회입니다.

시청: https://youtube.com/live/vf3E36tOvtI

AI 에이전트 여러 개를 실제 업무에 붙여 보려는 분이라면, 남의 조직도를 한 번 뜯어보는 것만으로도 설계 시간이 크게 줄어듭니다.

참고자료