TRENDSHIFT · 2026.06.15

PolyHelper 딥다이브
— "10개 이상의 AI를 합의로 묶는" 거대 모노레포의 해부

레포 접근 불가 안내
이 레포는 현재 비공개 또는 삭제 상태일 수 있습니다

github.com/PolyHelper/polyhelper에 접근하면 HTTP 404가 반환됩니다. 레포가 삭제·비공개 전환·이름 변경되었을 가능성이 있습니다. 이 딥다이브의 내용은 트렌딩 당시 클론·분석을 기반으로 작성되었으며, 일부 수치나 구조 정보는 캐시·스냅샷 기반입니다. 실제 레포 상태를 직접 확인하고 이용하시기 바랍니다.

PolyHelper는 스스로를 "인지 AI 외골격(Cognitive AI Exoskeleton)"이라 부르는, 10개 이상의 프런티어 AI 모델을 하나의 벤더 중립 런타임으로 묶어 합의·토론·셀프 진화시키는 초대형 TypeScript 모노레포다. 핵심 아이디어는 단순하다 — "AI 하나에게 묻고 믿지 말고, 여러 AI에게 동시에 묻고 그 답들을 합의 알고리즘으로 융합하라." 거기에 거버넌스(감사 로그·롤백·정책)와 자가 진화(PolyGenesis)를 얹었다. (저장소: PolyHelper/polyhelper · TypeScript/Svelte 5 · Nx 모노레포 · v4.0.0 · 다중 라이선스)

이 문서는 README의 야심찬 마케팅 문구를 그대로 옮기지 않고, "이 거대한 코드베이스의 구조에서 실제로 무엇을 배울 수 있는가"에 초점을 둔다. 멀티모델 오케스트레이션, Nx 모노레포 설계, 레이어 경계 강제, 합의 알고리즘 같은 설계 패턴이 학습 대상이다.
목차
  1. 프로젝트 한줄 요약
  2. 왜 주목받는가
  3. 기술 스택 전체 지도
  4. 아키텍처 심화 분석
  5. 디렉토리 구조 해부
  6. 학습 포인트 (기술별)
  7. 시스템 / 환경 요구사항
  8. 직접 해볼 수 있는 실습 과제
  9. 관련 기술 심화 학습 로드맵
  10. 핵심 키워드 사전
  11. 참고 링크

1프로젝트 한줄 요약

이 레포가 무엇을 하는 물건인가.

핵심 메시지

"AI 한 명에게 정답을 맡기지 않고,
10명을 회의실에 모아 합의·토론·투표로 답을 만드는 시스템."

당신이 중요한 질문을 한다고 하자. 보통은 ChatGPT 하나에 묻고 그 답을 믿는다. PolyHelper는 같은 질문을 Claude·GPT·Gemini·Grok·DeepSeek 등 여러 모델에게 동시에 던지고, 각자의 답을 합의(consensus) 알고리즘으로 융합해 "하나의 검증된 답 + 신뢰도 점수 + 모델 간 동의 매트릭스"를 만든다.

핵심은 "여러 AI를 호출한다"가 아니라, 그 답들을 어떻게 신뢰성 있게 하나로 합치는가다. 단순 다수결이 아니라 가중 투표·베이지안·TOPSIS·AHP·비잔틴 내결함성(BFT) 같은 191가지 합의 방식을 코드로 구현해 두었다.

PolyHelper는 세 가지 오케스트레이션 모드를 제공한다 — 수렴(Convergent): 여러 모델을 하나의 최선 답으로 합의, 발산(Divergent): 모든 독창적 아이디어를 보존·중복제거·랭킹, 아티팩트 카운슬(Artifact Council): 여러 후보 버전이 생성→비평→토론→정제를 거치는 8단계 토너먼트. 그 위에 PolyGenesis라는 자가 진화 엔진이 오케스트레이션 성능을 측정하고, 안전한 변이를 제안하고, 실패하면 롤백한다.

용어
오케스트레이션 (Orchestration)
여러 개의 AI 모델·도구·에이전트를 지휘자처럼 조율해 하나의 작업을 수행하게 하는 것. "어떤 모델에게 / 언제 / 어떤 순서로 / 어떻게 묶어서" 호출할지를 결정하는 상위 레이어다. PolyHelper의 심장부가 바로 이 부분이다.
용어
합의 (Consensus)
분산 시스템 용어. 여러 노드(여기서는 AI 모델)가 하나의 결론에 동의하도록 만드는 알고리즘. 블록체인의 합의 알고리즘과 같은 뿌리지만, 여기서는 "여러 LLM의 답변을 통계적·의미론적으로 융합"하는 데 쓴다.
읽기 전 주의
README의 수치는 액면 그대로 받아들이지 말 것

이 레포는 README에 "9.41M LOC", "208,483개 테스트", "191가지 합의 방식", "10+ 프런티어 AI" 같은 극적인 숫자를 내세운다. 이런 규모 주장은 검증이 어렵고 마케팅 색채가 짙다. 또한 "트릴리언 달러 빅테크와 소송 중" 같은 서사도 README에 담겨 있다. 이 문서는 그 서사가 아니라, 실제 코드 구조와 거기서 배울 수 있는 엔지니어링 패턴에 집중한다.

2왜 주목받는가

트렌딩 이유 · 경쟁 대비 차별점.

2025~2026년 AI 생태계의 화두는 "단일 모델 의존에서 멀티모델·에이전트 오케스트레이션으로"다. OpenRouter(라우팅), LangChain/LangGraph(체이닝), CrewAI(멀티에이전트) 등이 각자의 조각을 다룬다. PolyHelper가 주목받는 건 이 조각들을 "합의 + 거버넌스 + 자가 진화 + 제품 표면(웹/모바일/데스크탑/CLI)"까지 하나의 런타임으로 묶는 야심, 그리고 그 야심을 거대한 모노레포로 실제 코드화했다는 점이다.

비교 항목일반 멀티모델 도구PolyHelper
모델 결합 방식라우팅(하나 골라 호출)합의·융합(여러 답을 알고리즘으로 묶음)
답변 신뢰모델 출력 그대로신뢰도 점수 + 동의 매트릭스 + 환각 탐지
거버넌스거의 없음감사 로그·롤백·정책·Chairman 승인 게이트
자가 개선없음PolyGenesis — 성능 측정→변이→검증→롤백
배포 표면주로 라이브러리/CLI웹·모바일(RN)·데스크탑(Electron)·확장·8개 언어 SDK
API 키필수무료 티어 프로바이더 라우팅으로 키 없이 즉시 동작
단일 모델 의존의 함정
"한 모델의 환각을 한 모델로 검증할 수 없다"

LLM은 그럴듯하지만 틀린 답(환각, hallucination)을 자신 있게 내놓는다. 같은 모델에게 "맞아?"라고 물어도 같은 편향을 공유하므로 검증이 안 된다. 그리고 모델마다 강점이 달라(코딩·추론·창의성), 어떤 작업엔 어떤 모델이 나은지 일일이 고르는 "모델 룰렛"이 피곤하다.

PolyHelper의 접근
"독립적인 여러 모델로 교차 검증 + 합의"

서로 다른 학습 데이터·아키텍처를 가진 모델들이 독립적으로 같은 답에 도달하면 신뢰도가 올라간다(앙상블의 핵심 직관). 답이 갈리면 그 불일치 자체가 "이건 불확실하다"는 신호다. PolyHelper는 standalone CLI 도구 poly-consensus로 이 아이디어를 가장 간결하게 보여주고, 그것을 본체에서 191가지 합의 방식으로 확장한다.

또 하나의 트렌딩 포인트는 standalone 폴더다. 거대 모노레포와 별개로, 설치 없이 npx로 바로 쓰는 34개의 독립 CLI 도구를 제공한다. poly-hallucination(AI가 만든 코드의 가짜 패키지·잘못된 API 탐지), poly-pqc-migrate(양자 내성 암호 마이그레이션), poly-i18n(번역 파이프라인), poly-braille(점자 변환) 등 — 본체를 안 써도 가치 있는 "맛보기 도구"로 유입을 만든다. 이 "거대 플랫폼 + 가벼운 진입 도구" 투트랙 전략 자체가 배울 점이다.

3기술 스택 전체 지도

백엔드(엔진)·프론트엔드(클라이언트)·인프라 각각.

PolyHelper는 Nx로 관리되는 ESM 모노레포다. 핵심 언어는 TypeScript이고, 백엔드는 Node 서버, 프론트엔드는 Svelte 5, 데스크탑은 Electron, 모바일은 React Native(Expo)다. 한 저장소 안에 apps/ libs/ packages/ sdk/ standalone/ 같은 여러 작업공간(workspace)이 공존한다.

① 백엔드 — 오케스트레이션 런타임 (서버 우선)

README의 표현을 빌리면 "V4는 서버 우선(server-first) 플랫폼이고 apps/web은 여러 클라이언트 중 하나일 뿐"이다. 즉 핵심 두뇌는 백엔드 런타임에 있고, 각 클라이언트는 그 위에 붙는 표면이다.

요소역할
Node.js 22+ (ESM)서버 런타임. type:"module" 순수 ESM. server.js가 진입점.
TypeScript 5.9전 코드베이스의 주 언어. tsconfig.base.json + 경로 별칭(tsconfig.paths.json, 15KB).
express 4HTTP 서버 / REST API. MCP는 REST + JSON-RPC/SSE 동시 노출.
ws 8WebSocket. 스트리밍 합의·실시간 토큰 전송.
zod 3런타임 스키마 검증. 합의 입출력·API 경계 타입 안전.
better-sqlite3 12로컬 영속화(세션·메모리·계보 기록 등). 동기 SQLite.
AI SDK들@anthropic-ai/sdk·openai·@google/generative-ai 등 — 멀티 프로바이더 어댑터.

② 프론트엔드 — Svelte 5 웹 + 멀티 클라이언트

웹 UI는 Svelte 5(룬 기반) + Vite 7로 빌드한다. React가 아니라 Svelte를 고른 점이 특징적이다(컴파일 타임 반응성, 가벼운 번들). 같은 코어 위에 모바일·데스크탑·확장이 얹힌다.

클라이언트스택
웹 (apps/web)Svelte 5 + Vite 7 + svelte-check 타입체크. WCAG 2.2 AAA 접근성 목표.
데스크탑 (apps/electron)Electron 39 + electron-builder. mac/win/linux 패키징, 포터블 빌드.
모바일 (apps/mobile-rn)React Native + Expo SDK 55. 오프라인 우선, 음성·운전 모드, 생체인증.
브라우저 확장 (apps/extension)웹 확장. 페이지 컨텍스트에서 오케스트레이션 호출.
웨어러블apps/wear-os, apps/garmin-connect-iq — "외골격" 서사의 일부.

③ 인프라 · 빌드 · 품질 게이트

이 레포에서 가장 배울 게 많은 부분이 바로 품질 인프라다. 거대 모노레포를 굴리기 위한 도구가 빼곡하다.

도구역할
Nx 22모노레포 태스크 오케스트레이션·캐싱·영향 분석(affected). nx.json.
pnpm workspace패키지 매니저 + 워크스페이스. pnpm-lock.yaml이 1.1MB(의존성 규모를 짐작).
dependency-cruiser레이어 경계 강제. apps→libs→packages 방향 위반을 빌드에서 차단(19KB 규칙).
Jest 30 + Vitest 4두 가지 테스트 러너 병행(레거시/신규). Stryker 변이 테스트도 설정.
Playwright 1.57E2E + 접근성(a11y) 자동 감사(playwright.a11y.config.ts).
Docker / fly.toml / gitops컨테이너 배포 + Fly.io + GitOps 디렉토리. PM2(ecosystem.config.cjs)로 프로세스 관리.
OpenAPI + StainlessAPI 스펙(openapi/) → Stainless로 8개 언어 SDK 자동 생성(stainless.yaml 78KB).
Lighthouse / SonarQube / Knip성능 예산·정적 분석·미사용 코드 탐지. Husky + lint-staged 커밋 훅.
비유

이 레포의 도구 체계는 "대형 공장의 품질관리 라인"에 가깝다. 부품(패키지)이 정해진 방향으로만 조립되도록(dependency-cruiser) 강제하고, 컨베이어 끝마다 검사기(테스트·a11y·Lighthouse·Sonar)를 두고, 불량이면 라인을 멈춘다(release-gates). 개별 합의 알고리즘보다, 이 "거대 코드베이스를 무너지지 않게 유지하는 인프라"가 실무에서 더 자주 마주칠 학습 대상이다.

4아키텍처 심화 분석

ASCII 시스템 구조도 + 핵심 설계 패턴.

5계층 레이어드 아키텍처

PolyHelper의 골격은 단방향 의존 레이어다. 위 레이어는 아래 레이어만 의존할 수 있고, 역방향은 dependency-cruiser가 차단한다. 이것이 거대 코드베이스가 스파게티가 되지 않는 비결이다.

의존 방향 (위 → 아래만 허용) ┌──────────────────────────────────────────────────────┐ │ apps/ 웹 · 모바일 · 데스크탑 · 확장 · 웨어러블 │ ← 사용자 표면 └───────────────┬──────────────────────────────────────┘ │ (uses) ┌───────────────▼──────────────────────────────────────┐ │ libs/ 공유 라이브러리 (TS + Svelte 컴포넌트) │ └───────────────┬──────────────────────────────────────┘ │ ┌───────────────▼──────────────────────────────────────┐ │ packages/server-* 서버 게이트웨이 · API │ ├──────────────────────────────────────────────────────┤ │ packages/platform-* 플랫폼 (AI 프로바이더 등) │ ├──────────────────────────────────────────────────────┤ │ packages/core-* 엔진 (consensus · orchestration │ │ · cognition · governance ...) │ ├──────────────────────────────────────────────────────┤ │ packages/core-os/* 최하부 OS (types · utils · │ │ persistence · security · 토큰) │ └──────────────────────────────────────────────────────┘ * dependency-cruiser.cjs 가 이 화살표를 코드로 강제한다.
용어
레이어드 아키텍처 + 경계 강제
코드를 추상화 수준별 층으로 나누고, "위층은 아래층만 안다"는 규칙을 둔다. PolyHelper는 이 규칙을 문서가 아니라 린트 규칙(dependency-cruiser)으로 강제해, 실수로 역방향 import를 하면 CI가 실패한다. 대규모 팀에서 구조가 썩는 것을 막는 핵심 기법.

합의 파이프라인 — "수렴 모드"의 흐름

가장 대표적인 동작인 Convergent(수렴) 합의가 한 질문을 어떻게 처리하는지 그려보면 다음과 같다.

사용자 질문 │ ▼ ┌─────────────┐ 질문을 N개 프로바이더로 팬아웃(fan-out) │ 오케스트레이터 │──┬──► Claude ─┐ └─────────────┘ ├──► GPT │ 각 모델 독립 응답 ├──► Gemini ├─ (병렬, 예산·타임아웃 라우팅) ├──► Grok │ └──► DeepSeek ─┘ │ ▼ ┌──────────────┐ 응답 N개를 모아 │ 합의 엔진 │ ① 의미 유사도 측정 │ (191 methods)│ ② 가중 투표 / 베이지안 / TOPSIS └──────┬───────┘ ③ BFT로 이상치(악성·환각) 격리 │ ▼ ┌──────────────┐ │ Chairman 합성 │ 하나의 최종 답 + 신뢰도 + 동의 매트릭스 └──────┬───────┘ │ ▼ ┌──────────────┐ │ 거버넌스 게이트 │ 감사 로그 기록 · 정책 검사 · (필요시) 승인 └──────────────┘ │ ▼ 검증된 단일 답변

여기서 "Chairman(의장) 합성"이라는 패턴이 흥미롭다. 단순 평균이 아니라, 모델들의 답을 받아 한 단계 더 높은 LLM이 "의장"으로서 종합·판정한다. 그리고 모든 결정에 감사 로그(audit trail)를 남겨 사후 재현·검증을 가능하게 한다. 의료·금융 같은 규제 도메인을 노린 설계다.

세 가지 오케스트레이션 모드

모드목적비유
Convergent
(수렴)
여러 답 → 하나의 최선 답. 중요한 결정용.배심원단의 평결
Divergent
(발산)
모든 독창적 아이디어 보존·중복제거·랭킹. 창의·전략·리서치용.브레인스토밍 보드
Artifact Council
(아티팩트 카운슬)
경쟁 버전들이 생성→비평→토론→정제하는 8단계 토너먼트.토론 대회 + 편집 회의

PolyGenesis — 거버넌스 하의 자가 진화

가장 야심찬(그리고 가장 검증이 어려운) 부분이다. PolyGenesis는 오케스트레이션의 "적합도(fitness)"를 측정하고, 더 나은 라우팅·파라미터를 향한 변이(mutation)를 제안하며, 실행 가능한 검증(contour)에 통과하면 적용하고 실패하면 롤백 + 후회 메모리(regret memory)에 기록한다. README의 예시:

의료 환각률 34%로 상승 감지 │ ▼ PolyGenesis가 결함 탐지 라우팅 변이 제안 (round-robin → quality-first) │ ▼ SixPointGuard 로 검증 환각률 11%로 하락 → 유전체 v42 → v43 채택 │ └─(만약 실패했다면)─► 롤백 + 항체 생성 + 후회 메모리 기록 (재발 방지)
비판적 시각
"자가 진화"는 코드보다 서사가 앞서 있다

PolyGenesis·"디지털 유기체"·"meta-cognition" 같은 개념은 매력적이지만, 실제로 안전하고 유의미하게 동작하는지는 외부에서 검증하기 어렵다. 학습자 입장에서는 이 부분을 "이런 식으로 자가 최적화 루프를 설계할 수 있다"는 아키텍처 아이디어로 받아들이되, 마케팅 수치를 사실로 단정하지 않는 균형이 필요하다.

5디렉토리 구조 해부

87개 패키지 · 다중 클라이언트 · 8개 언어 SDK.

polyhelper/ ├── apps/ ← 사용자 표면(클라이언트) │ ├── web/ 웹 UI (Svelte 5 + Vite) │ ├── electron/ 데스크탑 (main: apps/electron/main.js) │ ├── mobile-rn/ 모바일 (React Native + Expo) │ ├── extension/ 브라우저 확장 │ └── wear-os/ garmin-... 웨어러블 ├── packages/ ← 백엔드 엔진 (87개 패키지) │ ├── core-os/ 최하부: types·utils·persistence·security·design-tokens │ ├── core-consensus/ 합의 알고리즘 (BFT·베이지안·TOPSIS·AHP·chairman ...) │ ├── core-orchestration/ 오케스트레이션 (arena·artifact-council·swarm·debate) │ ├── core-polygenesis/ 자가 진화 엔진 │ ├── core-governance/ 감사·정책·승인 게이트 │ ├── core-cognition/ 인지 파이프라인(외골격 서사) │ ├── core-providers/ AI 프로바이더 어댑터 │ ├── core-security/ 보안(PQC·secret scan 등) │ ├── packs/ 도메인 팩 (medical·automotive·voice·accessibility ...) │ └── ... (core-* 50여 개) ├── libs/ ← 공유 라이브러리 (TS + Svelte) │ └── poly-deliberation/ bridges/ poly-handlers/ ... ├── sdk/ ← 8개 언어 SDK (Go·Java·Kotlin·Python·Rust·Swift·C#·TS) ├── standalone/ ← npx로 바로 쓰는 34개 독립 CLI 도구 ★ │ ├── poly-consensus/ 5개 모델 합의 (가장 좋은 입문 예제) │ ├── poly-hallucination/ AI 코드의 가짜 패키지·API 탐지 │ ├── poly-pqc-migrate/ 양자 내성 암호 마이그레이션 │ └── poly-i18n/ poly-braille/ poly-sbom/ ... (총 34개) ├── docs/ ← 방대한 문서(86개 하위 디렉토리) ├── docs-mintlify/ openapi/ ← API 문서 + 스펙 ├── server.js ← 백엔드 진입점 ├── nx.json ← Nx 모노레포 설정 ├── .dependency-cruiser.cjs ← 레이어 경계 규칙 (구조 강제) ├── stainless.yaml ← SDK 자동 생성 설정 (78KB) └── pnpm-workspace.yaml ← 워크스페이스 정의
길찾기 팁

이 레포를 처음 열면 압도된다. 가장 빠른 학습 경로는 standalone/poly-consensus/src/cli.js부터 읽는 것이다. 본체의 191가지 합의를 다 보기 전에, "5개 모델에 병렬 요청 → 답을 융합 → 신뢰도 계산"이라는 핵심 아이디어가 단일 파일 CLI에 압축돼 있다. 거기서 감을 잡은 뒤 packages/core-consensus/로 확장해 들어가면 된다.

6학습 포인트 (기술별)

이 레포에서 무엇을, 어떻게 배울 것인가.

① Nx 모노레포 + 레이어 경계 강제

가장 실무적인 학습 대상. nx.json, pnpm-workspace.yaml, .dependency-cruiser.cjs를 읽으면 "여러 패키지를 한 저장소에서 어떻게 캐싱·영향분석하고, 의존 방향을 어떻게 코드로 강제하는가"를 배운다. 회사 코드베이스가 커질 때 반드시 마주칠 문제다.

실습 아이디어: .dependency-cruiser.cjs의 규칙 하나를 골라, "이 규칙이 없으면 어떤 나쁜 import가 가능해지는가"를 한 문장으로 설명해 보기.

② 멀티 프로바이더 어댑터 패턴

core-providers/와 standalone 도구들은 Claude·GPT·Gemini를 동일한 인터페이스로 추상화한다. 각 SDK의 API 모양이 다른데도 위에서는 똑같이 호출되도록 만드는 어댑터(Adapter) 패턴의 좋은 실전 예시다.

③ 합의 알고리즘 — 분산 시스템 ↔ LLM 앙상블

core-consensus/에는 BFT(비잔틴 내결함성), 가중 다수결, 베이지안, TOPSIS·AHP(다기준 의사결정) 같은 알고리즘이 LLM 답변 융합에 응용돼 있다. 분산 시스템 이론을 AI에 적용하는 흔치 않은 사례라, 두 분야를 잇는 다리로 공부하기 좋다.

④ Svelte 5 + Vite + 접근성(a11y) 우선 설계

React가 익숙하다면 Svelte 5의 룬(rune) 기반 반응성이 신선하다. 또 이 프로젝트는 WCAG AAA·Playwright a11y 자동감사를 갖춰, 접근성을 "나중에 붙이는 것"이 아니라 CI 게이트로 강제하는 법을 보여준다.

⑤ OpenAPI → 다국어 SDK 자동 생성

openapi/ 스펙 하나에서 Stainless로 8개 언어 SDK를 뽑는다. "API를 코드로 한 번 정의하고, 클라이언트는 생성한다"는 현대적 API 워크플로의 모범 사례다.

추천 학습 순서
작은 것 → 큰 것

(1) standalone/poly-consensus--demo로 실행하며 합의 개념 체득 → (2) poly-hallucination 같은 정적 분석 도구의 단순함 음미 → (3) 본체를 pnpm install && pnpm start로 띄워 웹 UI 관찰 → (4) core-consensus의 한 알고리즘 파일을 골라 정독 → (5) .dependency-cruiser.cjs로 전체 구조 규칙 파악.

7시스템 / 환경 요구사항

무엇이 있어야 돌려볼 수 있나.

항목요구
Node.js22+ (.nvmrc 기준, @types/node 24). ESM 전용이라 구버전 불가.
패키지 매니저pnpm (워크스페이스). npm/yarn으로는 정상 동작 보장 안 됨.
디스크 / 메모리의존성·소스가 방대(체크아웃 6.7만 파일). SSD + 16GB RAM 권장. 빌드 캐시 고려하면 여유 필요.
AI API 키불필요(즉시 동작) — 무료 티어 프로바이더로 라우팅. 자기 키나 로컬 Ollama는 선택.
데스크탑 빌드Electron 39 + electron-builder. mac은 코드서명 스크립트 별도.
모바일 빌드Expo SDK 55 환경(Xcode/Android SDK). Capacitor 설정도 존재.
실행(개발)pnpm installpnpm start (백엔드 + 웹 UI :5173). 헤드리스는 pnpm start:server.
현실적 주의
"풀 빌드"는 가볍지 않다

shallow clone(--depth 1)만 해도 6.7만 개 파일을 풀어야 한다. 전체를 빌드·테스트하려는 시도는 시간·자원 부담이 크다. 학습 목적이라면 standalone 도구 하나를 npx로 돌려보는 것이 가장 가성비 높은 시작이다.

8직접 해볼 수 있는 실습 과제

난이도별로 손을 움직여 보자.

난이도 ★ — 입문

poly-consensus 데모 돌려보기 15분

npx @polyhelper/poly-consensus --demo "스타트업에 가장 좋은 DB는?"를 실행하고, 출력의 "동의 매트릭스"와 "신뢰도 점수"가 무엇을 뜻하는지 한 문단으로 정리해 본다. 데모 모드는 API 키 없이 동작한다.

난이도 ★★ — 코드 읽기

합의 로직 한 줄 따라가기 1시간

standalone/poly-consensus/src/cli.js를 열어, "여러 모델에 병렬 요청을 보내는 부분"과 "답을 합치는 부분"을 각각 찾아 주석을 단다. Promise.all / 융합 함수가 어디에 있는지가 핵심.

난이도 ★★★ — 구조 분석

레이어 경계 규칙 해독 반나절

.dependency-cruiser.cjs에서 "금지된 의존 방향" 규칙 3개를 골라, 각각이 막는 시나리오를 ASCII 화살표로 그려 본다. 그리고 packages/core-os가 왜 아무것도 import하면 안 되는 최하층인지 설명한다.

난이도 ★★★★ — 직접 만들기

나만의 미니 합의 CLI 1~2일

Node + openai/@anthropic-ai/sdk로 "같은 질문을 2~3개 모델에 병렬로 보내고, 답이 일치하면 신뢰도↑, 갈리면 둘 다 보여주는" 50줄짜리 CLI를 직접 작성한다. poly-consensus의 축소판을 만들며 핵심 아이디어를 내 것으로.

난이도 ★★★★★ — 심화

도메인 팩 구조 모방 며칠

packages/packs/의 한 팩(예: medical 또는 accessibility)을 읽고, "특정 도메인에 합의 방식을 어떻게 특화하는가"를 분석한 뒤, 내 관심 도메인용 팩의 폴더 구조 + 인터페이스 초안을 설계해 본다.

9관련 기술 심화 학습 로드맵

주차별로 따라갈 수 있는 커리큘럼.

주차주제핵심 활동
1주LLM API 기초 & 멀티 프로바이더OpenAI/Anthropic/Gemini SDK로 같은 질문 호출. 어댑터 패턴으로 공통 인터페이스 만들기.
2주앙상블 & 합의 직관다수결 → 가중 투표 → 의미 유사도 융합 순으로 구현. poly-consensus 정독.
3주분산 합의 이론비잔틴 장군 문제·BFT·정족수(quorum) 개념 학습 → LLM 이상치 격리에 적용.
4주다기준 의사결정(MCDM)TOPSIS·AHP·PROMETHEE를 공부하고 core-consensus의 구현과 대조.
5주Nx 모노레포 운영작은 Nx 워크스페이스를 직접 만들고 dependency-cruiser로 경계 규칙 적용.
6주Svelte 5 + Vite 프런트엔드룬 기반 반응성으로 합의 결과 시각화 미니앱 제작.
7주API 스펙 & SDK 생성OpenAPI 작성 → 코드젠으로 클라이언트 생성하는 워크플로 체험.
8주거버넌스 & 자가 최적화감사 로그·롤백·"측정→변이→검증" 루프를 작은 시스템에 직접 설계.

10핵심 키워드 사전

이 레포를 읽다 만나는 용어들.

용어
Consensus (합의)
여러 AI 응답을 하나의 결론으로 융합하는 것. 단순 다수결부터 베이지안·BFT까지 다양.
용어
BFT (Byzantine Fault Tolerance)
일부 노드가 고장나거나 악의적이어도 시스템이 올바른 합의에 도달하게 하는 기법. 여기선 환각·이상 응답을 격리하는 데 응용.
용어
Convergent / Divergent
수렴(여러 답→하나) vs 발산(아이디어 모두 보존). 사고의 두 방향을 모드로 구현.
용어
Chairman 합성
상위 모델이 "의장"으로서 다른 모델들의 답을 받아 최종 종합·판정하는 패턴.
용어
PolyGenesis
자가 진화 엔진. 적합도 측정 → 변이 제안 → 검증 → 채택/롤백. 거버넌스로 통제된 자기 최적화 루프.
용어
Regret Memory (후회 메모리)
실패한 변이를 기록해 같은 실수를 반복하지 않게 하는 저장소. 강화학습의 경험 재생과 닮은 발상.
용어
Nx
모노레포 빌드 시스템. 태스크 캐싱·영향분석(affected)·의존 그래프로 거대 저장소를 효율적으로 관리.
용어
dependency-cruiser
패키지 간 의존 방향을 검사·강제하는 도구. 잘못된 import를 CI에서 차단해 구조를 보호.
용어
TOPSIS / AHP
다기준 의사결정(MCDM) 알고리즘. 여러 후보를 여러 기준으로 점수화해 순위를 매김. 합의 융합에 활용.
용어
MCP (Model Context Protocol)
AI가 외부 도구를 표준 방식으로 호출하게 하는 프로토콜. PolyHelper는 REST + JSON-RPC/SSE로 노출.
용어
PQC (Post-Quantum Cryptography)
양자컴퓨터로도 깨기 어려운 암호. poly-pqc-migrate가 기존 RSA/ECDSA를 NIST PQC로 옮겨줌.
용어
WCAG 2.2 AAA
웹 접근성 지침의 최고 등급. 시각·청각·운동 장애 사용자까지 고려한 설계 기준.

11참고 링크

더 파고들 곳.