피드로 돌아가기
How I Built an Adversarial AI Council in React (and Why It Argues With You)
Dev.toDev.to
Frontend

Single-file SPA 기반 Local-first Multi-agent Decision Engine 구현

How I Built an Adversarial AI Council in React (and Why It Argues With You)

Stephen Dale2026년 6월 19일3intermediate

Context

AI Assistant의 과도한 긍정 편향으로 인한 의사결정 맹점 발생 및 데이터 프라이버시 우려에 따른 신뢰 구축 필요성 대두. 기존 Chatbot 구조의 단순 대화 중심 인터페이스가 실질적인 의사결정 근거 제공에 한계가 있음을 인지.

Technical Solution

  • Deterministic Turn-based Engine 설계를 통한 예측 가능한 멀티 에이전트 상호작용 구현
  • Prompt Injection 기반의 Discussion Mode 분리로 State Machine 복잡도를 제거한 런타임 최적화
  • Dexie.js 및 IndexedDB를 활용한 Local-first 아키텍처 설계로 서버리스 데이터 관리 및 사용자 프라이버시 보장
  • Vite-plugin-singlefile 기반의 Single-file SPA 빌드로 인프라 오케스트레이션 및 배포 복잡도를 제로화
  • BYOK(Bring Your Own Key) 모델 채택을 통한 API 비용 전가 및 백엔드 데이터 처리 부하 제거
  • Chat Transcript보다 Decision Record라는 정형화된 결과물을 최우선 출력으로 설정한 UX 설계

- 복잡한 오케스트레이션보다 Deterministic한 순차 실행 구조가 디버깅 및 신뢰성 확보에 유리한지 검토 - 데이터 민감도가 높은 도구 설계 시 Local-first 전략을 통한 Trust Shortcut 확보 고려 - 단순 배포가 목표인 소규모 도구의 경우 Single-file SPA 빌드로 인프라 유지보수 비용 최소화 적용 - AI 결과물 도출 시 단순 대화형 UI 대신 정형화된 Verdict 포맷의 Decision Record 구조 도입

원문 읽기