MiroFish-Ko 개인 수정판 — 로컬 LLM·Codex CLI로 돌리는 정책 여론 시뮬레이터 화면

공직 커뮤니티 · 커뮤니티 · 기획·정책 · 2026-09-15 게시

군집 지능 시뮬레이션 엔진 MiroFish의 한글 번역판을 포크해 공공 정책 시뮬레이션용으로 손본 개인 수정판이 공유됐다. Zep Cloud 의존을 로컬 SQLite로 바꾸고 Codex CLI 실행에 Claude CLI 폴백과 로컬 LLM 경로를 더했으며, 레딧·트위터에 더해 Threads 성격의 시뮬레이션 플랫폼과 경량·풀 시뮬레이션 모드를 나눴다. 실행 로그 기반 근거 집계와 인용·수치 검증, 정책 쇼케이스 문서를 붙여 대규모 페르소나 노드로 이벤트 타임라인을 예측하는 정책 검토 도구로 쓰는 시도다.

상세 정보

사례 성격
커뮤니티
출처 채널
오픈채팅
수집일
2026-09-15
태그
#정책시뮬레이션 #멀티에이전트 #로컬LLM #오픈소스
실행 환경
서버 구축
망 요건
인터넷 필수
배포 환경
로컬 PC
AI 모델
혼합 — Codex CLI/Claude CLI(BYO 구독), 로컬 LLM(세부 미상)
라이선스
AGPL-3.0 (확인 2026-09-15)
저장소
★ 1 · 유지보수 활발
링크 점검
정상 (2026-11-02)

개발자

Dominic Lee

민간·커뮤니티 · 사례 기준

사례 2건 · 최고 AI-First

GitHub @Dominic-DK

이 개발자의 다른 프로젝트 1건

GitHub·공공 GitLab 공개 프로필 기준 — 공공AX 챔피언 디렉토리와 같은 자료입니다.

4축 평가

AX 단계AI-First
업무 범위S2 Tool bundle
업무 완결성C2 판단 보조
권한(P축)P1 산출물 생성(잠정)
위험도R2 중간
인간 통제결과 확인 후 사용
증거 등급E1 저장소·문서 확인
신뢰도낮음

저장소 README·변경내역에서 포크 출처(666ghj/MiroFish → 한글 번역판)와 수정 범위를 확인해 E1로 둔다. 시뮬레이션 실행·리포트·관리 화면·페르소나 연구 트랙이 한 묶음이라 S2이고, 여론 예측 결과는 정책 검토의 참고 자료라 C2로 본다. 다수 페르소나 에이전트가 자동 생성한 여론이 정책 판단에 섞일 수 있어 위험도는 R2로 두며, 공개 당일 저장소(스타 1)라 운영 실적은 확인되지 않아 신뢰도를 낮음으로 둔다.

디자인 패턴 분석

『모두의 공공AX 디자인 패턴』 카탈로그 v0.7.1 기준 — 사례를 기관이 함께 쓰는 AI 부품과 그 조립으로 읽은 결과입니다. · 패턴 성좌에서 전체 보기 ↗

업무 패턴 B6 에이전트 오케스트레이터 변형: 시뮬레이션

서비스 유형 0 기타 · 전이 단계 개인 사용 · 판정 카탈로그 v0.6

환경 축 배포:로컬 PC 네트워크:인터넷 필수 모델:혼합 런타임:서버 구축 권한:P1 산출물 생성

이 사례의 패턴 구성도 — 층별 부품과 배선서비스 블록업무 컴포넌트제어 흐름공통 서비스운영상호작용D8.0D8.0 기타·범용B6 · 주 패턴B6 에이전트 오케스트…B′3B′3 병렬 팬아웃·수집B′+B′+ 기억 관리B′5B′5 생성자-비평가A2.1A2.1 모델 서빙 ·…A2.2A2.2 모델 서빙 ·…A7A7 자체 제작 환경C7C7 폴백 스위치C4C4 감사 로그·지표F9F9 판정 근거·기여도…
패턴 구성도 — 층별 부품과 배선. 실선은 확인된 부품, 점선은 계획, 회색 점선은 보완이 필요한 필수 부품. 부품을 누르면 아래 상세로 간다.
제어 흐름(B′)
B′3 병렬 팬아웃·수집 B′+ 기억 관리 B′5 생성자-비평가
공통 서비스(A)
A2.1 모델 서빙 · 상용 API 호출 A2.2 모델 서빙 · 주권형 온프레미스 A7 자체 제작 환경
운영(C)
C7 폴백 스위치 구현 확인 C4 감사 로그·지표 구현 확인
신뢰할 수 없는 입력
시뮬레이션 플랫폼(레딧·트위터·Threads 유사)에 생성되는 페르소나 콘텐츠(모델 생성물이 다른 에이전트 입력으로 재유입)
상호작용(F)
F9 판정 근거·기여도 표시
서비스 블록(D)
D8.0 기타·범용
부품 배선
A2.1 → B6 · A2.2 → B6 · A7 → B6 · B6 → D8.0

판정 근거

군집 지능 시뮬레이션 엔진 MiroFish 한글판을 포크해 정책 시뮬레이션용으로 손본 개인 수정판으로, 대규모 페르소나 노드가 레딧·트위터·Threads 유사 플랫폼에서 반응하는 것을 시뮬레이션해 이벤트 타임라인을 예측한다. 복수 페르소나 에이전트가 병렬로 반응하고(B′3) 실행 로그로 근거를 집계·검증하며(B′5, F9) 로컬 SQLite로 장기 기억을 유지(B′+)하는 다단계 멀티에이전트 구조라 B6 에이전트 오케스트레이터의 시뮬레이션 변형으로 판정했다. Codex CLI 실패 시 Claude CLI·로컬 LLM으로 넘어가는 경로는 C7 폴백, 실행 로그 기반 근거 집계는 C4로 implemented. 개인이 3년 이상 다뤄 온 포크가 아니라 최근 공유된 개인 수정판이라 개인 사용 단계로 둔다.

구현 가이드

주 패턴 B6 에이전트 오케스트레이터을 구현할 때

구현 단계

  1. 업무를 도구 목록으로 나누고 도구마다 읽기/쓰기, 되돌리기 비용을 적어 C8 권한표를 먼저 만든다.
  2. 단일 에이전트 + ReAct 루프(B′7)로 시작해 C9 평가 세트로 재고, 하위 작업이 분리될 때만 B′4·B′3으로 승급한다.
  3. 신뢰 불가 입력(외부 문서·API 응답)을 읽는지 확인하고, P2 이상이면 S5 계획 고정 또는 S6 격리를 설계한다.
  4. 단계 상태·되돌림(C3), 호출 추적(C4), 되돌리기 어려운 조치 앞 확인(F6)을 붙인다.
  5. 모델 장애 대비 C7과 킬스위치를 시험하고 결정적 재생(S10) 기록을 남긴다.

점검표

환경 조건

E3 MCP·CLI. E1 폐쇄망이면 A8 로컬 MCP 호스트 + A2 로컬 모델 변형만 가능하다. E2 해외 상용 API면 A2 게이트웨이 + C7 + C8 도구별 승인. E4가 P2 이상으로 올라가기 가장 쉬운 부품이라 C2·C3·C4·C8 킬스위치가 필수이며, 신뢰 불가 입력 + P2 이상이면 S5 또는 S6 + S9가 필요하다(§5 매트릭스).

주의할 점

기본 배선 예

A8 → B6 (B′7 · B′3) → C8 → C4 · B6 → F6 (실행 전 확인)

피해야 할 안티패턴

관련 가이드라인

이 사례가 쓰는 부품과 이어지는 공공 AX 안내서·지침이다 (부록 E 공공 AX 가이드라인 문서 해설 기준, 겹치는 부품이 많은 순).

같은 주 패턴(B6)을 쓰는 다른 사례

같은 업무 패턴으로 조립된 사례를 서비스 유형이 같은 것부터 모았다 외 2건. 구현할 때 비교해 볼 수 있다.

이 사례에 쓰인 패턴

B6 에이전트 오케스트레이터 업무 컴포넌트

역할을 나눈 LLM들이 도구를 호출하며 계획을 세우고 다단계 업무를 이어 가며, 사람은 승인과 예외 처리를 맡는다.

PAX 사례 15건이 이 부품을 쓴다

맥락

여러 시스템·도구(A8 MCP·API·문서)를 오가는 다단계 업무, 데이터 조회·분석 에이전트(유형 5b), 망분리 환경의 로컬 MCP 호스트에 쓴다. 하위 작업이 실제로 분리되거나 AI가 도구를 골라야 할 때만 해당한다.

맞서는 힘(긴장)

  • 자율성 vs 권한 통제(P2 이상에서 C8 필수)
  • 멀티에이전트의 분업 vs 조정 비용·충돌(X11)
  • 도구 출력 활용 vs 도구 출력 속 지시가 명령이 되는 위험(X13)
  • 탐색적 유연성 vs 재생·감사 가능성

해법

목표와 도구 목록(A8 MCP·API)을 받아 AI가 계획을 세우고 도구를 골라 호출하며, 필요하면 하위 전문 에이전트에 위임한다(B′4·B′7·B′8). 단일 에이전트에서 시작해 하위 작업이 분리될 때만 계층·병렬로 승급한다. 도구별 읽기/쓰기 권한과 실행 승인은 C8로, 단계 상태와 되돌림은 C3로, 모든 호출은 C4 추적 로그로 남긴다. 신뢰 불가 입력을 읽는 경우 S5 계획 고정이나 S6 격리로 도구 출력이 새 행동을 끼워 넣지 못하게 하고, 되돌리기 어려운 조치 앞에는 F6 확인을 둔다.

이럴 때 쓴다

  • 한 건의 처리가 여러 시스템 조회·작성·검증에 걸쳐 있고 AI가 도구 순서를 골라야 할 때
  • 하위 작업이 실제로 분리되거나 컨텍스트 창이 부족할 때
  • C8·C3·C4 통제를 함께 갖출 수 있을 때

이럴 때는 쓰지 않는다

  • 단계 순서가 고정된 파이프라인일 때(B′1을 가진 B1·B4)
  • 실제 흐름이 초안 → 사람 확정일 때(B1)
  • 스케줄러·크롤러 수준 자동화일 때(agent_system=true라도 B6 아님)
  • 단일 에이전트가 되기 전에 멀티에이전트부터 만들려 할 때(X11)

얻는 것

  • 여러 시스템을 오가는 업무 흐름 자체를 재설계
  • 도구 교체로 다른 기관이 그래프를 재사용 가능
  • First 지향 구조

점검표

  • 복수 LLM 역할·도구 호출 루프·AI의 계획 선택이 실제로 있는가(R2)
  • 도구별 읽기/쓰기 권한과 실행 승인이 명시되어 있는가
  • 모든 도구 호출이 추적되는가
  • 도구 출력이 새 행동을 촉발하지 못하게 막는 구조가 있는가

구조 — 참여 부품

  • 계획·감독 에이전트 — 목표를 쪼개고 도구·하위 에이전트를 선택
  • 전문 하위 에이전트 — 조회·작성·검증 등 역할별 수행
  • A8 MCP 서버·호스트 — 도구 인터페이스와 레지스트리
  • C8 권한 경계·킬스위치 — 도구별 권한·실행 승인·즉시 중단
  • C4 감사 로그·지표 — 호출 추적
  • 담당자 — 승인 관문과 예외 처리

변형

  • 멀티에이전트 오케스트레이션: 감독자가 역할별 에이전트에 일을 맡기고 결과를 합친다
  • 관문 내장형(스테이지-게이트): 파이프라인 안에 사람 승인 관문이 여럿 있다(R2)
  • 단일 에이전트 도구 연쇄: 하나의 에이전트가 계획하고 여러 도구를 호출한다(R2)
  • 자가검증 루프 내장: 실행 결과를 스스로 검증하고 재시도한다(R2)
  • 로컬 MCP 호스트: 망분리 환경에서 도구별 위험도·실행 승인·감사 대시보드를 갖춘다(E1 폐쇄망이면 이 변형만 가능)
  • 시뮬레이션: 여러 에이전트로 정책·여론 등을 모의 실행한다
  • 에이전트 함대 오케스트레이션: 한 사람이 다수의 독립 코딩 에이전트를 병렬로 지휘하고 일을 배정·수합한다(R25)

참조 구현 예

  • PAX 망분리 환경용 로컬 AI 에이전트 + KOSIS 공식 MCP — 로컬 MCP 호스트, 도구별 위험도·실행 승인·감사 대시보드(§9)
  • PAX MOPAN — RAG·MCP·워크플로 조합 바탕 시스템(카드 참조 구현)
  • PAX c54ee4b5fb3ee4c5 — Orca ADE — 여러 코딩 에이전트 병렬 지휘, B6-f 해외 참고(§13)

관련 부품

C8 필수 통제 — 도구별 권한·실행 승인 · A8 끼울 자리 — MCP 도구 · B′4 기본 배선 — 계층 분해·감독자 · B′7 시작 배선 — 단일 에이전트 ReAct에서 승급 · S5 보안 짝 — 계획 고정으로 도구 출력 인젝션 차단 · F6 이용자 쪽 대응 — 에이전트 행동 확인

참고 자료

Google ADK 8패턴 · Gulli ch.7 Multi-Agent·ch.6 Planning·ch.2 Routing · Springer Supervisor/Collaboration · GoF Mediator, Microservice Aggregator

이 부품과 이어지는 가이드라인

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

B′3 병렬 팬아웃·수집 제어 흐름

의존성 없는 하위 작업을 동시에 돌리고 결과를 취합하는 배선이다. 구획형은 서로 다른 부분을, 투표형은 같은 작업을 여러 번 돌려 다수결로 합친다.

PAX 사례 8건이 이 부품을 쓴다

맥락

다중 출처 검색, 여러 후보 생성 방법의 병렬 적용, 같은 추출을 여러 번 돌려 다수결하는 앙상블에 쓴다. B6 로컬 호스트 변형(유형 5b)이 이 배선을 쓰고, S6 맵리듀스는 이 원형의 격리·보안형이다.

맞서는 힘(긴장)

  • 지연 단축·관점 다양화 vs 호출 수·비용 증가
  • 취합 규칙의 단순함 vs 결과가 엇갈릴 때의 판정 기준
  • 하위 작업 독립성 가정 vs 실제로는 의존이 있는 경우

해법

작업을 서로 의존하지 않는 하위 작업으로 나눠 동시에 실행하고, 결과를 결정적 규칙이나 합성 단계로 취합한다. 구획형은 하위 작업마다 다른 출처·관점을 맡기고, 투표형은 같은 작업을 여러 번 돌려 다수결·일치 여부로 신뢰도를 정한다. 결과가 엇갈리면 보류해 사람에게 보낸다. 신뢰 불가 문서를 다룬다면 문서마다 격리 인스턴스를 두고 규칙으로 합쳐 S6으로 만든다.

이럴 때 쓴다

  • 하위 작업이 진짜로 독립일 때
  • 병렬화가 지연을 의미 있게 줄일 때
  • 단일 실행의 우연한 오류를 다수결로 줄여야 할 때

이럴 때는 쓰지 않는다

  • 하위 작업이 서로의 결과에 의존할 때(B′1·B′8)
  • 호출 비용을 늘릴 여유가 없을 때
  • 단일 에이전트가 아직 제대로 동작하지 않을 때(X11)

얻는 것

  • 지연 단축
  • 다관점·다출처 결과
  • 다수결로 우연한 오류 감소

점검표

  • 하위 작업이 서로 독립인가
  • 취합 규칙과 불일치 처리 규칙이 정의되어 있는가
  • 병렬화로 얻은 지연·품질 이득을 쟀는가

구조 — 참여 부품

  • 분배기 — 하위 작업으로 나눠 동시에 실행
  • 하위 작업 실행기 — 출처·관점·방법별 처리
  • 수집기 — 규칙·다수결로 취합하고 불일치 건 보류

변형

  • 구획(Sectioning): 서로 다른 부분 작업을 병렬로 돌린다(UrbanLaw 5인 AI 패널)
  • 투표(Voting): 같은 작업을 여러 번 돌려 다수결로 정한다

참조 구현 예

  • UrbanLaw 5인 AI 패널 — 구획형(카드)

관련 부품

S6 격리·보안형 — 격리 LLM·맵리듀스 · B′4 이웃 — 계층 위임 · B6 배선 자리 — 유형 5b 로컬 호스트 변형 · B3 다중 출처 접지(UrbanLaw 5인 AI 패널)

참고 자료

Google ADK #3 Parallel Fan-out · Gulli ch.3 Parallelization · Heiland Microservice Horizontal · adaptive.live 병렬화(구획·투표)

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

B′+ 기억 관리 제어 흐름

세션 안의 맥락과 세션을 넘는 장기 기억을 유지하는 배선이다. 공공에서는 개인정보 축적과 직결되므로 등급·비식별 없이 장기 기억을 두지 않는다.

PAX 사례 15건이 이 부품을 쓴다

맥락

다회차 상담, AI 코딩 지원처럼 이전 결정·서식을 이어 써야 하는 업무에 쓴다. S3 컨텍스트 방화벽은 이 원형을 의존 대상으로 두고, 이용자 쪽 면은 F8 대화 이력·되돌리기다. 사건 기록은 C4가 맡는다.

맞서는 힘(긴장)

  • 맥락 유지로 인한 효율 vs 개인정보·등급 정보 축적
  • 장기 기억의 편의 vs 기억 오염(잘못된 기억의 재사용)
  • 토큰 절약 vs 요약 과정의 정보 손실

해법

세션 기억과 장기 기억을 구분하고, 장기 기억에 넣을 항목(결정·제약·서식 프로필 등)을 명시적으로 정한다. 저장 전 E5 등급을 확인하고 C5로 비식별하며, 기억은 신뢰 구역을 분리해(S3) 지시와 섞이지 않게 한다. 보관 기간과 삭제·열람 경로를 두어 이용자가 F8로 확인·되돌릴 수 있게 하고, 사건·처리 기록은 기억이 아니라 C4에 남긴다.

이럴 때 쓴다

  • 다회차 업무에서 이전 결정·제약을 이어 써야 할 때
  • 같은 맥락을 반복 주입해 비용·지연이 커질 때(§7.5)
  • 비식별과 보관 규칙을 운영할 수 있을 때

이럴 때는 쓰지 않는다

  • E5 S 이상 정보를 비식별 없이 저장해야 할 때
  • 처리 이력·감사 기록이 목적일 때(C4)
  • 단발성 질의응답일 때

얻는 것

  • 토큰 낭비 감소
  • 맥락 상실 방지
  • 서식·결정의 재사용

점검표

  • 장기 기억에 들어가는 항목이 명시되어 있는가
  • 저장 전 비식별이 되는가
  • 보관 기간과 삭제 경로가 있는가
  • 기억이 지시와 구분된 구역으로 주입되는가

구조 — 참여 부품

  • 기억 저장소 — 세션·장기 기억 보관(로컬 저장 등)
  • C5 가드레일 필터 — 저장 전 비식별
  • S3 컨텍스트 방화벽 — 기억 구역을 지시와 분리
  • F8 대화 이력·되돌리기 — 이용자가 이력 열람·되돌리기

변형

  • 세션 기억: 한 세션 안의 대화·작업 맥락을 유지한다
  • 장기 기억: 세션을 넘어 결정·제약을 저장하고 다음 세션에 되읽는다(MCP 메모리 서버 등)
  • 서식 기억: 읽어 둔 기관 서식을 프로필로 캐시해 재사용한다

참조 구현 예

  • PAX 17ed2d7a88c03119 — 기관 서식을 프로필로 캐시해 재사용하는 서식 기억(§13)
  • PAX c483c6ad4ccff0ab — 세션 종료 훅으로 결정·제약을 로컬 SQLite에 저장하고 다음 세션에 되읽는 MCP 메모리 서버(§13 A8)

관련 부품

C5 필수 전제 — 비식별 · S3 보안 짝 — 기억 구역 분리 · F8 이용자 쪽 대응 — 대화 이력·되돌리기 · C4 경계 — 사건 기록은 C4 · A8 메모리 서버를 MCP 도구로 제공

참고 자료

Gulli ch.8 Memory · Towards AI #6 · aiux Thread History

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

B′5 생성자-비평가 제어 흐름

생성과 검증을 분리해, 비평이 통과시킬 때까지 생성물을 고쳐 다시 만드는 배선이다. 반복 상한이 없으면 비용이 폭주한다.

PAX 사례 11건이 이 부품을 쓴다

맥락

B1 코파일럿(유형 ④ 내부 문서·기안, ⑫ 개발 코파일럿)과 B4 접수·심사, 유형 ⑦ 대조·점검의 기본 배선이다. C5 Model Critic도 이 원형에서 나왔다.

맞서는 힘(긴장)

  • 품질 향상 vs 호출 비용·지연
  • LLM 비평의 유연성 vs 비결정성(규칙 검사로 보강 필요)
  • 반복 수정의 개선 효과 vs 수렴하지 않는 루프

해법

생성자가 초안을 만들면 비평자(다른 프롬프트·모델 또는 규칙 검사)가 기준에 따라 통과·불통과와 수정 사유를 내고, 불통과면 사유를 붙여 다시 생성한다. 반복은 2~3회로 상한을 두고, 상한에 도달하면 사람에게 넘긴다. LLM 자가채점의 비결정성은 글자 수·필수 항목·논리 모순 같은 규칙 검사로 보강한다. 비평 기준은 A9 스킬에 두고 C9 평가 세트로 기준 자체를 검증한다.

이럴 때 쓴다

  • 출력 품질이 들쭉날쭉할 때(§7.5)
  • 품질 기준을 비평 규칙으로 적을 수 있을 때
  • 유형 ④·⑦·⑫ 조립 템플릿

이럴 때는 쓰지 않는다

  • 기준이 수치 목표(정확도·길이·형식)라 그 목표까지 순환하면 되는 경우(B′6)
  • 재생성 없이 기각·강등만 하면 되는 판정일 때(B′9)
  • 반복 상한과 비용 지표를 둘 수 없을 때(X12)

얻는 것

  • 출력 품질 안정
  • 비평 이력으로 수정 사유 추적
  • 규칙 검사와 결합하면 비결정성 완화

점검표

  • 반복 상한이 설정되어 있는가
  • 비평자가 생성자와 분리되어 있는가
  • 규칙으로 검사 가능한 항목을 코드로 검사하는가
  • 비평 도입 효과를 평가 세트로 쟀는가

구조 — 참여 부품

  • 생성자 — 초안 생성과 수정
  • 비평자 — 기준 검사, 통과 여부와 수정 사유 제시(LLM 또는 규칙)
  • A9 업무 규범 스킬 — 비평 기준 보관
  • C1 검토 큐 — 반복 상한 도달 건 처리

관련 부품

C5 운영 부품 — Model Critic의 원형 · B′6 이웃 — 수치 목표형 반복 · B′9 대안 — 재생성 없이 기각·강등 · S8 탐지형 — 독립 검증기·이중 심판 · B1 배선 자리 — 유형 ④·⑫

참고 자료

Google ADK #5 Generator-Critic · Gulli ch.4 Reflection · Towards AI #1 · InfoQ Model Critic · adaptive.live 평가자-최적화자

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

A2.1 모델 서빙 · 상용 API 호출 공통 서비스

GPT·Gemini·Claude·HyperCLOVA X·Upstage 등 상용 모델 API를 서빙 계층을 거쳐 호출해 자체 인프라 없이 최신 모델 성능을 쓴다.

PAX 사례 88건이 이 부품을 쓴다

맥락

E2는 해외 상용 API(또는 국산 상용 모델 API), E1은 인터넷망·클라우드다. E5 등급이 O이거나 비식별 후 전송해도 되는 업무에 맞는다. 대민 상담(B3)·코파일럿(B1)·콘텐츠 생성(B7)에서 흔하다.

맞서는 힘(긴장)

  • 모델 성능·도입 속도 vs 데이터 반출·주권
  • 종량 과금의 초기 저비용 vs 호출량 증가 시 비용 예측 어려움
  • 벤더의 모델 개선 vs 예고 없는 품질 회귀
  • 단일 API의 단순함 vs 장애 시 서비스 중단

해법

업무 코드는 서빙 계층만 부르고, 서빙 계층이 상용 API를 호출한다. 행정망 본문이 나가는 경로 앞에는 C5 비식별 전처리를 두고, 대체 모델을 등록해 C7 폴백을 건다(§5 매트릭스 E2 해외 상용 API 행). 모델 버전을 고정하고 모델·프롬프트·설정 조합을 릴리스처럼 관리해 업데이트 전후를 C9로 비교한다. 비용이 문제면 라우팅·캐싱으로 큰 모델 호출을 줄인다. E5가 S 이상이면 이 변형 단독으로는 안 되고 A2.4 내부망 프록시를 거친다.

이럴 때 쓴다

  • 인터넷망·클라우드 환경이고 데이터 등급이 O이거나 비식별 후 전송 가능할 때
  • PoC 초기에 모델 성능을 빠르게 확인해야 할 때
  • 자체 GPU·운영 인력이 없을 때

이럴 때는 쓰지 않는다

  • E1이 폐쇄망이면 조립 오류(A2.2·A2.4로)
  • E5가 S 이상인데 내부망 프록시가 없을 때(A2.4 필수)
  • 상시 서비스인데 대체 경로를 둘 수 없을 때

얻는 것

  • 인프라 없이 최신 모델 성능
  • 빠른 PoC
  • 벤더의 지속적 개선

점검표

  • 업무 코드가 상용 API를 직접 부르지 않는가
  • 외부로 나가는 프롬프트에서 무엇이 걸러지는지 답할 수 있는가
  • API 장애 시 대체 경로가 있는가
  • 모델 버전과 호출당 비용·지연이 기록되는가

구조 — 참여 부품

  • A2 서빙 계층 — 업무 코드 대신 상용 API를 호출하고 버전·사용량을 기록
  • C5 가드레일(비식별 전처리) — 외부 전송 전 민감정보 제거
  • 상용 모델 API — 기관 밖에서 추론을 수행
  • C7 폴백 스위치 — API 장애·품질 저하 시 대체 모델·수동 처리로 전환

변형

  • 해외 상용 API: GPT·Gemini·Claude 등이다. E2 값은 해외 상용 API.
  • 국산 상용 API: HyperCLOVA X·Upstage 등 국내 사업자 API. 망·등급 조건은 해외와 같이 따진다.
  • 구조화 호출: function calling·JSON Schema로 출력 형식을 고정해 부른다. 판정은 규칙 엔진에 남긴다.

관련 부품

C7 필수 짝 — 상용 API 의존이면 폴백 필수 · C5 선행 — 외부 전송 전 비식별 · A2.4 대안 — 행정망·민감 등급일 때 중계 경유 · C9 짝 — 모델 업데이트 회귀시험

참고 자료

Fowler Direct Prompting · InfoQ 모델 라우팅·캐싱 · Microservice 패턴 Circuit Breaker

이 부품과 이어지는 가이드라인

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

A2.2 모델 서빙 · 주권형 온프레미스 공통 서비스

오픈웨이트 모델을 기관 서버·폐쇄망·로컬 PC 안에서 Ollama·vLLM 등으로 구동해 데이터를 기관 밖으로 내보내지 않고 추론한다.

PAX 사례 54건이 이 부품을 쓴다

맥락

E1은 폐쇄망·행정망·로컬 PC, E2는 해외 오픈웨이트(로컬) 또는 국산 오픈웨이트, E5는 S 이상이다. 폐쇄망 B3·B6·B8, 유형 3(현장 폐쇄망 서버 추론), 유형 12 개발 코파일럿은 이 변형을 기본으로 쓴다.

맞서는 힘(긴장)

  • 데이터 주권 vs 상용 최신 모델 대비 성능
  • GPU·서버 고정비 vs 종량 과금
  • 모델 운영·갱신 역량 vs 외부 의존 제거
  • 저사양 장비 구동 vs 모델 크기

해법

오픈웨이트 모델을 기관 안에 설치하고 서빙 계층(Ollama·vLLM·LM Studio 등)으로 업무 부품에 노출한다. 임베딩 모델도 로컬로 두어 B3 검색까지 망 안에서 끝낸다(§5 E1 폐쇄망 행 '로컬 임베딩'). 모델 선정은 C9 평가 세트로 상용·온프레미스 후보를 같은 조건에서 비교해 정한다. 폐쇄망에서 C7 경로는 수동 전환·다른 로컬 모델로 제한되므로 둘 이상의 로컬 모델이나 수동 절차를 미리 둔다. 모델·패키지 반입은 S11 인제스천 검증을 거친다.

이럴 때 쓴다

  • E1이 폐쇄망·행정망이거나 문서가 PC 밖으로 나가면 안 될 때
  • E5가 S 이상인데 내부망 프록시(A2.4)를 쓸 수 없을 때
  • 현장 폐쇄망 서버에서 추론해야 하는 유형 3
  • C7의 대체 경로로 로컬 모델을 둘 때

이럴 때는 쓰지 않는다

  • 추론 인프라·운영 인력을 확보할 수 없을 때
  • 현장 기기 자체에서 돌아야 하면 A5(엣지 런타임)
  • 모델을 재학습했으면 A2.3

얻는 것

  • 데이터가 기관 밖으로 나가지 않음
  • 호출 비용이 고정비로 바뀜
  • 폐쇄망에서도 LLM 사용 가능
  • C7의 대체 경로 후보

점검표

  • 추론·임베딩 어디에서도 데이터가 망 밖으로 나가지 않는가
  • 모델 선정 근거(평가 세트 비교)가 남아 있는가
  • 반입한 모델·패키지의 무결성 검사 기록이 있는가
  • 대체 로컬 모델 또는 수동 전환 절차가 있는가

구조 — 참여 부품

  • A2 서빙 계층 — 로컬 모델을 업무 부품에 노출
  • 오픈웨이트 모델·로컬 임베딩 — 기관 안에서 추론·색인
  • GPU 서버 또는 워크스테이션 — 추론 인프라
  • S11 인제스천·공급망 검증 — 폐쇄망 반입 모델·패키지 검사

변형

  • 기관 서버형: vLLM 등으로 기관 GPU 서버에서 다수 이용자에게 서빙한다.
  • 로컬 PC·워크스테이션형: Ollama·LM Studio로 개인 PC나 단일 워크스테이션에서 돌린다(온나라 sAIde).
  • 범정부 공통기반 내부망 설치형: 국산 독자모델·오픈웨이트를 공통기반 내부망에 직접 설치해 여러 부처에 제공한다(PAX 행정안전부 사례).

참조 구현 예

  • PAX 58420e002644542c — 행정안전부, 엑사원·Gemma4를 범정부 공통기반 내부망에 설치해 약 8천 명에 롤아웃(§13 A2.2)
  • PAX 01963ce2b093182c — 양산시, 저사양 온프레미스 로컬 LLM으로 보고서 작성 전 과정을 폐쇄망 안에서 처리(§13 A2.2)
  • PAX 온나라 sAIde — 온나라 사이드패널 + 로컬 Ollama 요약(§9)

관련 부품

C7 대체 경로 — 상용 API 장애 시 전환 대상 · A8 짝 — 폐쇄망 로컬 MCP 호스트 · S11 선행 — 폐쇄망 반입 검증 · A5 대안 — 현장 기기 추론 · C9 선행 — 모델 선정 근거

참고 자료

Heiland '업무 로직과 ML 모델 분리' · GoF Strategy

이 부품과 이어지는 가이드라인

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

A7 자체 제작 환경 공통 서비스

외부 용역 없이 기관 인력이 저작도구·AI 코딩 에이전트로 도구를 직접 만들고 고치는 제작 환경이다.

PAX 사례 317건이 이 부품을 쓴다

맥락

업무 담당자가 AI 코딩 도구·저작도구·오픈소스로 직접 만드는 과제에 쓴다. 유형 8(취합·변환 자동화)에서는 필수 기반이다. PAX 557건에서 A7이 붙고 BYO 모델을 쓰는 사례는 29건이다.

맞서는 힘(긴장)

  • 제작 속도·현장 적합성 vs 유지보수 연속성
  • 개인 역량 의존 vs 조직 인수인계
  • 무예산 제작 vs 보안 검토·기관 공식화 절차

해법

기관 인력이 AI 코딩 에이전트·저작도구·오픈소스로 직접 만들되, 처음부터 전이를 전제로 한다. 설정·데이터(연락처·업무분장 등)는 코드 밖 파일로 빼 비개발자도 고치게 하고, 작업 지시서 자체를 코딩 에이전트가 수행할 프롬프트로 설계해 제작 절차를 남긴다. MIT·Apache 등 라이선스를 명시하고 공공 깃랩(A3)이나 혁신24 자료실에 등재해 담당자가 바뀌어도 이어지게 한다. 실사용 건수로 성과를 재 기관 공식으로 올린다.

이럴 때 쓴다

  • 반복 업무를 줄이는 소규모 도구를 빠르게 만들 때
  • 용역 없이 작은 수정을 계속해야 할 때
  • 유형 8 취합·변환 자동화

이럴 때는 쓰지 않는다

  • P2 이상 시스템 쓰기·처분이 걸려 보안 검토·통제 부품이 먼저 필요한데 이를 갖출 수 없을 때
  • 라이선스·저장소·인수인계를 정할 수 없어 전이가 불가능할 때(X9 위험)

얻는 것

  • 제작 속도와 현장 적합성
  • 내부 유지보수 역량 축적
  • 무예산·소예산 제작

점검표

  • 라이선스가 명시되어 있는가
  • 저장소가 개인 PC가 아닌 공유 위치에 있는가
  • 담당자가 바뀌어도 고칠 수 있는 문서·설정 분리가 있는가
  • 실사용 지표가 있는가

구조 — 참여 부품

  • 업무 담당자 — 요구를 알고 직접 만드는 제작자
  • AI 코딩 에이전트·저작도구 — 코드·화면·워크플로 생성
  • A3 공공 깃랩·자료실 — 등재처 — 담당자 이동 후에도 이어지게
  • A9 업무 규범 스킬 — 제작 규범·지시서를 재사용 가능한 형태로

변형

  • 비개발자 바이브코딩: 교육 후 비개발 직원이 AI 코딩으로 웹앱을 만들고 실사용 지표까지 잰다.
  • 용역 탈피 단계형: 1단계는 전문기업과, 2단계는 직원이 도구를 대여해 라벨링·학습·개발을 직접 한다.
  • 오픈소스 조립형: n8n·FastAPI·Qdrant·LM Studio 등 오픈소스로 워크플로를 직접 조립하고 설정을 공유한다.
  • 사람+에이전트 작업 단위형: 작업 지시서를 코딩 에이전트 입력 프롬프트로 설계해 '사람 1인 + 에이전트 1세션' 단위로 일한다.

참조 구현 예

  • PAX 145a534a79c6fc53 — 공무원 1인 개발 도구가 혁신24 자료실로 여러 기관에 확산(§13 A7)

관련 부품

A3 등재처 — 공공 깃랩 · A9 짝 — 제작 규범을 스킬로 · B0 주 산출물 — 결정적 도구 · A10 짝 — 유형 8 필수 · X9 주의 — 담당자와 함께 사라지는 도구

참고 자료

GoF Prototype · PAX 전이 플레이북

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

C7 폴백 스위치 운영 컴포넌트

모델·API·도구가 멈추거나 품질이 떨어질 때 대체 모델·규칙 기반 축소·수동 처리로 경로를 바꿔 서비스가 끊기지 않게 한다.

PAX 사례 12건이 이 부품을 쓴다

맥락

상용 API 또는 단일 모델에 의존하는 모든 B 부품. 특히 E2가 해외 상용 API이거나 B5처럼 상시 가동해야 하는 서비스.

맞서는 힘(긴장)

  • 가용성 vs 비용(대체 경로를 상시 유지하는 비용)
  • 품질 일관성 vs 대체 경로의 품질 저하
  • 자동 전환의 신속성 vs 전환 판단의 오작동 위험

해법

오류율·지연·단가 신호를 감시하다가 임계를 넘으면 재시도 → 기존 API → 대체 MCP → 대체 모델 → 규칙 기반 축소 → 수동 전환 순으로 경로를 바꾼다. 장애 범위는 격리(Bulkhead)로 한 부품에 가두고, 모델 교체는 무중단(Blue-Green)으로 한다. 전환은 C4 감사 로그에 남기고, 복구 후에는 원래 경로로 되돌리는 조건도 함께 정한다. 대체 경로의 품질 저하는 이용자에게 F7 한계 안내로 알린다.

이럴 때 쓴다

  • E2가 해외 상용 API이거나 혼합일 때
  • B5 현장 감지·경보처럼 상시 서비스일 때 필수
  • 대민 자동응답(B3 대민형)처럼 중단 비용이 큰 경우
  • 유형 ① 대민 상담(상시), ③ 현장 감시

이럴 때는 쓰지 않는다

  • B0 결정적 도구처럼 런타임 AI가 없을 때
  • 로컬 완결 도구로 외부 의존이 없을 때
  • 유형 ①·⑦에서 model_dependency가 없음(비LLM)일 때는 필수에서 면제(R7)

얻는 것

  • 핵심 서비스 연속성
  • 벤더 종속 완화(X4 예방)

점검표

  • 대체 경로가 최소 하나 구현되어 있는가
  • 전환 임계와 복귀 조건이 수치로 정의되어 있는가
  • 전환 이력이 로그로 남는가
  • 실증 기간에 전환을 1회 이상 실행한 기록이 있는가

구조 — 참여 부품

  • A2 모델 서빙 계층 — 주 경로와 대체 모델을 함께 노출하는 끼울 자리
  • 상태 감시기 — 오류율·지연을 임계와 비교해 전환을 결정
  • C4 감사 로그·지표 — 전환 시점·사유·복구를 기록
  • 수동 처리 담당자 — 모든 자동 경로가 실패했을 때의 최종 경로

변형

  • 대체 모델 전환: 상용 API 장애 시 다른 상용 모델 또는 로컬 오픈웨이트 모델(A2.2)로 전환
  • 규칙 기반 축소: AI 판정 대신 결정적 규칙·공식 템플릿으로 기능을 줄여 계속 운영(Fail-safe)
  • 수동 전환: 담당자 처리로 되돌리고 접수만 유지
  • 격리(Bulkhead): 장애가 난 부품의 영향 범위를 가둠
  • 무중단 교체(Blue-Green): 모델 업데이트를 병행 운영 후 전환하고 급락 시 이전 안정 모델로 복귀

참조 구현 예

  • PAX MiroFish-Ko — Codex CLI → Claude CLI → 로컬 LLM 폴백 (증거 E1)

관련 부품

C8 짝 — 권한 경계는 막는 통제, 폴백은 이어 가는 통제 · A2 끼울 자리 — 대체 모델은 모델 서빙 계층에 등록 · C4 기록처 — 헬스체크가 전환 신호, 전환 이력 기록 · C9 선행 — 모델 교체(Blue-Green) 전 회귀시험 · F7 이용자 쪽 대응 — 대체 경로 운영 중 한계 안내

참고 자료

Gulli ch.12 Exception Handling · Microservice 패턴 #15 Circuit Breaker · Bulkhead · Blue-Green · PAX Native 관문 4

이 부품과 이어지는 가이드라인

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

C4 감사 로그·지표 운영 컴포넌트

처리 건마다 흔적을 적재하고 수정률·처리시간·자동처리율·가용성을 집계해, '지난달 수정률'을 숫자로 말할 수 있게 한다.

PAX 사례 16건이 이 부품을 쓴다

맥락

AI 산출물이 업무 결과에 영향을 주는 모든 B 부품. 특히 C2·C6·C7을 붙이려는 서비스, E4 P2 이상, 기관 공식으로 전이하려는 자생 도구.

맞서는 힘(긴장)

  • 기록의 완전성 vs 저장·개인정보 부담
  • 지표의 단순성 vs 업무 실상 반영
  • 로그 적재 vs 실제로 지표를 보고 조치하는 조직 습관

해법

모든 부품의 이벤트(요청·응답·검토 결정·수정·전환·오류)를 건 단위로 적재한다. 로그 집계, 성능 지표(수정률·처리시간·자동처리율), 분산 추적(에이전트 호출 연쇄), 헬스체크(도구·모델 가용성)의 네 하위 항목으로 나눠 구현한다. 지표는 대시보드나 정기 보고로 실제로 보고, C2·C6·C7이 이 지표를 읽어 판단하게 한다. 개인정보가 들어가는 로그는 E5 등급에 맞춰 보관 범위를 정한다.

이럴 때 쓴다

  • C2·C6·C7 중 하나라도 붙이려 할 때(이들이 C4를 읽는다)
  • E4 P2 이상
  • 유형 ② 접수·심사, ③ 현장 감시, ⑤b 데이터 에이전트(호출 추적), ⑧ 취합·변환의 기관 전이
  • 자생 도구가 부서 공유·기관 공식으로 전이하려 할 때

이럴 때는 쓰지 않는다

  • E1 로컬 PC 완결 개인 도구로 개인 사용에 머물 때(단, 기관 전이 시 재장착 — §5 매트릭스)

얻는 것

  • 성과를 숫자로 말할 수 있음
  • C2·C6·C7의 판단 근거
  • 사고 시 원인 추적

점검표

  • 건별 로그가 적재되는가
  • 수정률·처리시간 등 지표가 정의되어 있는가
  • 실증 기간 지표가 실제로 집계되었는가
  • C2·C6·C7이 읽는 지표가 C4에서 나오는가

구조 — 참여 부품

  • 로그 집계 — 건별 이벤트 적재
  • 성능 지표 — 수정률·처리시간·자동처리율 산출
  • 분산 추적 — 에이전트·도구 호출 연쇄 추적
  • 헬스체크 — 도구·모델 가용성 감시(C7의 입력)
  • 감사 대시보드 — 지표를 사람이 보고 조치하는 화면

변형

  • 로그 집계: 건별 처리 이력 적재
  • 성능 지표: 수정률·처리시간·자동처리율·이용량 집계
  • 분산 추적: 에이전트 호출 연쇄를 추적해 '왜 그렇게 답했는지' 복원
  • 헬스체크: 도구·모델 가용성 감시

참조 구현 예

  • PAX 55f606c2835337ba — 전북특별자치도 — 운영 3개월 누적 이용 10만 건·이용자 3천 명 지표 공개
  • PAX 망분리 환경용 로컬 AI 에이전트 — 감사 대시보드(§9 조립 예시)

관련 부품

C2 이용처 — 자동처리율·임계값 조정 · C6 이용처 — 수정·이의·오탐 기록이 환류 입력 · C7 이용처 — 헬스체크가 전환 신호 · S10 구분 — 재현 가능한 순서 기록 · C9 짝 — 배포 전 평가와 운영 지표 대조

참고 자료

Gulli ch.19 Evaluation & Monitoring · Microservice 관측 4종(Log Aggregation · Metrics · Tracing · Health Check)

이 부품과 이어지는 가이드라인

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

F9 판정 근거·기여도 표시 상호작용 패턴

SHAP 요인 문장, 의심 부위 BBox, 판정 사유 코드, 자연어 판독 이유, 예측-실제 잔차로 모델이 왜 그렇게 판정했는지 보인다. B2·B4·B5의 필수 면이다.

PAX 사례 23건이 이 부품을 쓴다

맥락

B2 예측·추천기, B4 인식 파이프라인, B5 감지·경보. 유형 ③ 현장 감시, 5a 분석, ⑩ 위험 예측, ⑪ 추천·매칭(추천 사유). v0.6에서 추가.

맞서는 힘(긴장)

  • 설명의 충실성 vs 이해 가능성
  • 근거 공개 vs 적대적 이용자에게 탐지 기준 노출(X16)

해법

판정마다 기여 요인(SHAP)·의심 부위(BBox)·사유 코드·자연어 근거를 결과와 함께 보인다. 담당자가 근거를 열어 확인하고 최종 판단하게 한다. 위조 탐지처럼 적대적 이용자가 있는 D3 접점에서는 이용자에게 '정상/위조의심'만 보이고 세부 근거는 관리자 화면에만 둔다(근거 은닉).

이럴 때 쓴다

  • B2·B4·B5의 판정 결과를 사람이 검토할 때
  • 유형 ③⑤a⑩⑪처럼 F9가 필수인 유형

이럴 때는 쓰지 않는다

  • 위조 탐지 등 적대적 이용자에게 근거를 그대로 보이는 경우(X16 — 관리자 전용으로)
  • 문서 출처만 보이면 되는 지식 접지 응답(F1)

얻는 것

  • 담당자가 판정을 검토할 근거
  • 오판 원인 파악
  • 추천·선별 결과의 설명 책임

점검표

  • 판정마다 근거가 보이는가
  • 적대적 접점에서 근거가 관리자에게만 노출되는가
  • 최종 판단 주체가 명시되는가

구조 — 참여 부품

  • A2.5 비LLM 학습 모델 서빙 — 판정과 기여도 산출
  • 근거 표시 화면 — 요인·BBox·사유 코드 제시
  • 담당자 — 근거를 보고 최종 판단

변형

  • 요인 기여도: SHAP 등 요인 문장
  • 위치 표시: 의심 부위 BBox
  • 사유 코드·자연어 근거: 판정 사유 코드와 판독 이유 문장
  • 관리자 전용 근거(근거 은닉): 적대적 접점에서 세부 근거를 관리자에게만 노출

참조 구현 예

  • PAX 3b195a5faf820769 — 정비 대상 판정의 근거를 따로 열어 확인하게 하고 오류 가능성을 화면에 명시한 F9+F7 표준형
  • PAX 8c461c4901e30775 — 실험마다 의도·판정 근거·실제 프롬프트를 함께 공개

관련 부품

F1 구분 — 문서 출처 · F7 짝 — F9+F7 표준형 · B2 끼울 자리 — 예측·추천기의 필수 면 · B′9 짝 — 판정 게이트의 근거 출력 · X16 안티패턴 — 적대적 접점의 근거 노출

참고 자료

카탈로그 v0.6 개정 F9 · aiuxpatterns Results

이 부품과 이어지는 가이드라인

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

D8.0 기타·범용 서비스 블록

동작 키워드로 판정되지 않는 내부 운영 도구(범용 플랫폼·에이전트 개발 환경·교육)를 담는 블록이다. 다음 판에서 하위 블록을 추가할 후보군이다.

PAX 사례 45건이 이 부품을 쓴다

맥락

국민 접점이 없고 D8.1~D8.10의 어느 동작 키워드에도 걸리지 않는 내부 도구. PAX 45건. 범용 플랫폼, 에이전트 개발 환경, 교육·학습 도구, AI 런타임 없는 행정정보시스템(R24) 등. 업무 영역별 PAX 건수(557건 태깅): 공통·범용 26, 문서·기안 4, 기획·정책 4, 시설·안전 3, 인사·복무 3, 감사·법무 2, 데이터·통계 2, 회계·정산 1.

맞서는 힘(긴장)

  • 분류 완결성 vs 억지 분류로 인한 블록 의미 희석
  • 범용 도구의 넓은 재사용성 vs 업무 산출물 불명확(X8·X1 위험)
  • 후보군 보존 vs 카탈로그 세분화 과잉

해법

먼저 동작 키워드 우선순위를 끝까지 적용해 D8.1~D8.10 중 하나로 판정되는지 확인한다. 어느 것에도 걸리지 않을 때만 D8.0에 두고, 카탈로그 피드백(missing_patterns)에 반복 구조를 기록한다. 범용 도구는 그 자체보다 그것이 어느 업무 산출물로 이어지는지가 중요하므로, 대표 사용 시나리오를 하나 골라 해당 하위 블록의 조립 템플릿으로 설계를 점검한다. AI 런타임이 없는 행정정보시스템은 유형 0 기타·X1 표기로 따로 표시한다(R24).

이럴 때 쓴다

  • 동작 키워드 우선순위를 끝까지 적용해도 D8.1~D8.10 어디에도 걸리지 않을 때
  • 범용 플랫폼·개발 환경·교육처럼 특정 업무 동작이 없을 때

이럴 때는 쓰지 않는다

  • 하나라도 동작 키워드가 걸리면 그 하위 블록
  • 국민 접점이 있으면 D1~D7
  • 범용 도구라도 대표 PoC가 특정 업무 산출물을 내면 그 산출물의 블록(R1)

얻는 것

  • 억지 분류를 피해 하위 블록 의미 보존
  • 새 하위 블록 후보군 확보

점검표

  • 우선순위를 끝까지 적용했는가
  • 대표 업무 산출물이 무엇인지 적혀 있는가
  • 반복 구조가 피드백으로 기록되었는가

구조 — 참여 부품

  • 공직자(개발자·학습자) — 범용 도구를 써서 자기 업무 도구를 만들거나 배움
  • B6 도구 호출 에이전트 — 범용 에이전트·멀티에이전트 프레임워크
  • B0 결정적 도구 — AI 런타임 없는 범용 플랫폼·행정시스템
  • A7 자체 제작 환경 — 기관 인력이 직접 제작하는 환경

변형

  • 범용 에이전트·멀티에이전트 프레임워크: 특정 업무에 묶이지 않는 에이전트 개발 환경(DevEval Agents).
  • 교육·학습 도구: AI 활용 교육, 챔피언 인증 학습관리 등.
  • AI 무관 행정정보시스템: AI 런타임이 없는 순수 행정시스템. 유형 0 기타, X1 명시(R24).

참조 구현 예

  • DevEval Agents — 카탈로그 D8.0 카드 예: ODA 사업평가 멀티 에이전트 프레임워크
  • 정부 지원사업 전수조사 에이전트 스킬 ir-search — 카탈로그 D8.0 카드 예

관련 부품

D8.1 가장 흔한 재판정처 — 탐색·조회 · D8.3 재판정처 — 개발 코파일럿 · X11 범용 멀티에이전트 환경의 함정 · X1 AI 런타임 없는 행정시스템 표기(R24)

참고 자료

카탈로그 §6 D8 교차표 · PAX 업무 10분류

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

X11 처음부터 멀티에이전트 안티패턴

하위 작업이 분리되지 않는데 에이전트를 여럿 두어 조정 비용만 늘리는 함정이다. 단일 에이전트로 되돌리면 더 잘 되는 경우가 많다.

맥락

B6 오케스트레이터를 설계하거나 B′3 병렬·B′4 계층 분해를 도입하려는 과제, 특히 단일 에이전트 구성을 시도해 본 기록이 없는 과제.

맞서는 힘(긴장)

  • 역할 분리의 설계 명료함 vs 에이전트 간 조정 비용
  • 병렬 처리의 지연 단축 vs 결과 통합의 복잡도
  • 기술적 인상 vs 단순한 구조의 품질·비용

해법

B′ 원형 선택 규칙대로 단일 에이전트(B′1 순차, B′7 ReAct 도구 루프)에서 시작한다. 하위 작업이 진짜로 분리되거나, 병렬이 지연을 의미 있게 줄이거나, 컨텍스트 창이 부족할 때만 B′3 병렬·B′4 계층 분해로 승급한다. 승급 판단은 C9 평가 세트로 단일 구성과 비교해 내린다. 에이전트끼리 충돌·중복이 관측되면 B′4 감독자 계층이나 B′2 라우터로 정리하거나 단일 에이전트로 후퇴한다. B6 태그는 R2 요건(복수 LLM 역할 + 도구 호출 루프 + AI가 계획·도구를 선택)을 만족할 때만 붙인다.

이럴 때 쓴다

  • 에이전트가 여럿인데 하위 작업의 입력·출력이 서로 얽혀 독립적으로 돌지 않는다
  • 단일 에이전트 구성과 비교한 기록이 없다
  • 에이전트끼리 충돌·중복·재작업이 관측된다
  • 호출 비용·지연이 에이전트 수에 비례해 늘었는데 품질 개선 근거가 없다

이럴 때는 쓰지 않는다

  • 하위 작업이 진짜로 분리되고(서로 다른 데이터·도구), 병렬이 지연을 줄이거나 컨텍스트가 부족해 승급한 경우
  • R2 요건을 만족하는 B6로, 단일 구성보다 나음이 C9로 확인된 경우
  • 고정 순서 파이프라인을 B′1으로 정직하게 서술한 경우

얻는 것

  • 구조도가 명료하고 기술적으로 인상적이다
  • 역할별로 프롬프트를 나눠 관리하기 쉬워 보인다

점검표

  • 하위 작업이 서로 다른 데이터·도구로 독립적으로 도는가
  • 단일 에이전트 구성과 C9로 비교한 기록이 있는가
  • 승급 사유가 문서에 적혀 있는가
  • 에이전트 사이 충돌을 정리하는 감독자·라우터가 있는가

구조 — 참여 부품

  • B′1 순차 파이프라인 — 시작점이 되는 단일 흐름
  • B′7 ReAct 도구 루프 — 단일 에이전트 도구 사용의 기본형
  • B′4 계층 분해·감독자 — 하위 작업이 분리될 때만 승급하는 형태
  • C9 평가 세트·회귀시험 — 단일 vs 멀티 구성을 같은 자로 비교

변형

  • 페르소나 분할형: 같은 문서를 읽는 작업을 역할 이름만 다른 에이전트 여럿에 나눔
  • 고정 파이프라인 위장형: 실제로는 고정 순서 단계인데 에이전트 N개로 서술(R2상 B6 아님)
  • 무감독 협업형: 감독자·라우터 없이 에이전트끼리 대화하며 결과를 합침

관련 부품

B′7 대체 — 단일 에이전트 도구 루프에서 시작 · B′1 대체 — 고정 순서면 순차 파이프라인으로 · B′4 승급 목표 — 하위 작업이 분리될 때만 · B′2 정리 수단 — 충돌·중복을 라우터로 분기 · C9 판단 근거 — 단일 vs 멀티 비교

참고 자료

Towards AI '단일 에이전트에서 시작해 승급' · Google ADK Hierarchical·Coordinator · Gulli ch.7 Multi-Agent

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

X13 도구 출력이 지시가 되는 에이전트 안티패턴

검색 결과·첨부·API 응답을 읽은 모델이 그 안의 문장을 새 명령으로 받아 도구를 부르는 구조를, 탐지 필터 하나로 지키려는 함정이다.

맥락

E4가 P2 이상(시스템 쓰기·처분 보조)이면서 민원 입력·제출 서류·웹 문서·타 기관 API 응답 같은 신뢰 불가 입력을 읽는 에이전트. 특히 B6·5b 데이터 에이전트.

맞서는 힘(긴장)

  • 범용 에이전트의 유연성 vs 신뢰 불가 입력 뒤의 행동 제약
  • 단일 LLM 구조의 단순함 vs 격리·계획 고정의 설계 비용
  • 탐지 필터의 손쉬움 vs 증명 가능한 보증

해법

과제의 AI가 읽는 입력 중 기관 밖에서 작성된 것을 untrusted_inputs로 나열하고, §4.2 신뢰 불가 입력 규칙대로 S4 행동 선택기(미리 정한 행동 중 선택만, 결과가 LLM으로 돌아가지 않음), S5 계획 후 실행(외부 데이터를 읽기 전에 도구 호출 계획을 고정), S6 격리 LLM(도구 있는 LLM은 외부 데이터를 읽지 않고, 읽는 LLM은 도구가 없음) 중 하나를 갖춘다. S3 컨텍스트 방화벽과 S8 독립 검증기는 보조로 붙이되 S8만으로는 규칙을 충족하지 못한다. C8 승인 게이트도 신뢰 불가 입력 규칙의 대체 통제로 인정되지 않는다(R6). 그 전 단계에서는 E4를 P0~P1 읽기·산출물 범위에 묶어 두는 것이 곧 보안이다.

이럴 때 쓴다

  • E4가 P2 이상이고 untrusted_inputs가 비어 있지 않은데 S4·S5·S6이 모두 없다(신뢰 불가 입력 규칙 위반)
  • 외부 문서를 읽는 LLM이 같은 컨텍스트에서 쓰기 도구를 호출할 수 있다
  • 인젝션 대책이 탐지 필터·프롬프트 경고문뿐이다
  • 읽은 텍스트 중 어떤 것이 어떤 도구를 부를 수 있는지 답하지 못한다

이럴 때는 쓰지 않는다

  • E4가 P0~P1로 읽기·산출물 생성에만 묶여 도구 호출·시스템 쓰기가 없는 경우(S4·S5·S6 판정 전제 불충족, R6)
  • S4·S5·S6 중 하나가 구조적으로 갖춰진 경우(보안 목적 서술이 없어도 구조가 일치하면 충족)
  • AI가 읽는 입력이 모두 기관 내부에서 작성된 경우

얻는 것

  • 단일 LLM 범용 에이전트로 구조가 단순하다
  • 새 입력·새 도구를 자유롭게 붙인다

점검표

  • untrusted_inputs가 나열되어 있는가
  • 신뢰 불가 입력을 읽은 LLM이 쓰기 도구를 직접 부를 수 없는가
  • S4·S5·S6 중 하나가 구조로 구현되어 있는가
  • S8 탐지를 유일한 방어로 두지 않았는가

구조 — 참여 부품

  • S4 행동 선택기 — LLM이 정해진 행동 중 선택만 하게 제약
  • S5 계획 후 실행·코드 후 실행 — 외부 데이터를 읽기 전에 도구 계획 고정
  • S6 격리 LLM·맵리듀스 — 읽는 LLM과 도구 있는 LLM을 분리
  • S8 독립 검증기·이중 심판 — 보조 탐지. 단독으로는 보증이 아님

변형

  • 문서 속 지시: 첨부·제출 서류 안의 문장대로 에이전트가 도구를 호출
  • API 응답 오염: 타 기관 API·웹 검색 결과에 섞인 지시가 후속 행동을 바꿈
  • 탐지 단독 방어: 인젝션 탐지 필터(S8) 하나만 두고 구조적 제약이 없음

관련 부품

S6 대체 — 읽는 LLM과 도구 있는 LLM 격리 · S5 대체 — 외부 데이터 읽기 전 계획 고정 · S4 대체 — 정해진 행동 중 선택만 · S3 보조 — 신뢰 구역 분리 표기 · S8 보조 — 탐지(단독으로는 보증 아님) · S10 기록처 — 사고 재현

참고 자료

Beurer-Kellner 외(2025) 지도 원칙 '신뢰 불가 입력을 읽은 뒤에는 그 입력이 결과적 행동을 촉발할 수 없도록 제약' · Beurer-Kellner #1 Action-Selector, #2·#5 Plan-Then-Execute, #3·#4 Dual LLM

이 부품과 이어지는 가이드라인

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

X14 재생할 수 없는 사고 안티패턴

잘못된 처분이 나갔는데 그때의 프롬프트·검색·도구 호출 순서를 아무도 복원하지 못하는 함정이다. 지표는 있는데 기록이 없다.

맥락

E4가 P2 이상, 특히 P3 처분 보조(지급·승인·반려 결과에 직결)에 관여하는 AI 부품. 모델·프롬프트가 자주 바뀌는 상용 API 과제.

맞서는 힘(긴장)

  • 집계 지표의 손쉬움 vs 건별 재생 기록의 저장·보호 비용
  • 개인정보 최소 보관 vs 사고 재현 가능성
  • 빠른 모델·프롬프트 변경 vs 버전별 재현

해법

S10 결정적 재생으로 프롬프트·검색 결과·도구 호출·정책 결정·실행 흔적을 시각·주체·컨텍스트 해시와 함께 순서대로 기록하고, 필요하면 변조 방지 서명을 붙인다. 기록은 S1 단일 진입점에서 시작해 C4와 같은 파이프라인으로 적재하되, C4가 '얼마나'를 세고 S10은 '정확히 무엇이 일어났나'를 되돌리게 역할을 나눈다. 모델·프롬프트·설정 조합을 C9로 버전 고정해 그 시점의 구성을 재현할 수 있게 하고, 재생 기록을 C3 롤백·이의제기의 근거로 쓴다. 개인정보는 C5 비식별과 E5 등급에 맞춘 보관 기간으로 다룬다.

이럴 때 쓴다

  • 처리 건수·정확도 같은 집계 지표는 있으나 건별 프롬프트·검색·도구 호출 기록이 없다
  • '이 답의 근거 문서와 도구 호출 순서를 지금 볼 수 있는가'에 답하지 못한다
  • P3 처분 보조에 관여하면서 재생 기록이 없다
  • 모델·프롬프트 버전을 기록하지 않는다

이럴 때는 쓰지 않는다

  • B0 결정적 도구처럼 같은 입력이면 같은 출력이 나와 재생이 자명한 경우
  • E4가 P0~P1이고 산출물을 사람이 전건 확정해 AI 출력이 처분에 직접 닿지 않는 경우(S10 필요도는 낮지만 C4는 여전히 필요)
  • S10 수준의 건별 추적이 구현된 경우

얻는 것

  • 저장 비용과 개인정보 보관 부담이 적다
  • 집계 지표만으로 운영 보고가 가능하다

점검표

  • 임의의 과거 건 하나를 골라 프롬프트·검색·도구 호출 순서를 복원할 수 있는가
  • 기록에 당시 모델·프롬프트 버전이 포함되는가
  • 기록의 변조 방지 장치가 있는가
  • 이의제기 처리에 재생 기록이 쓰이는가

구조 — 참여 부품

  • S10 결정적 재생 — 빠진 부품. 사고를 그대로 재현
  • C4 감사 로그·지표 — 집계 지표는 있으나 재생에는 부족
  • S1 AI 게이트웨이·단일 진입점 — 모든 호출의 기록 시작점
  • C3 상태 머신·롤백 — 재생 기록을 근거로 되돌림·이의 처리

변형

  • 지표만 있는 형: 대시보드 집계는 있으나 건별 입력·호출 기록이 없음
  • 최종 출력만 저장형: 산출물만 저장하고 프롬프트·검색·도구 호출 순서는 버림
  • 버전 미고정형: 기록은 있으나 당시 모델·프롬프트 버전을 몰라 재현 불가

관련 부품

S10 대체 — 건별 결정적 재생 기록 · C4 짝 — 같은 파이프라인의 집계 지표 · S1 끼울 자리 — 기록이 시작되는 단일 진입점 · C3 이용처 — 롤백·이의제기의 근거 · C9 선행 — 모델·프롬프트 버전 고정

참고 자료

DistriNet 행위 기록(부인 방지) · Distributed Tracing · Beurer-Kellner Log Entity Actions

이 부품과 이어지는 가이드라인

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

X7 도구 설명 ≠ 실제 권한 안티패턴

MCP 도구 설명은 '조회'인데 코드는 쓰기·실행 권한을 가져, 설명만 믿고 도구를 부르는 에이전트가 의도하지 않은 변경을 일으키는 함정이다.

맥락

E3 MCP·CLI 설정 환경에서 A8 MCP 서버·호스트를 만들거나 가져다 쓰는 과제. 특히 업무 시스템 MCP(쓰기, P2)와 공공데이터 MCP(읽기, P0)가 한 호스트에 함께 연결된 경우.

맞서는 힘(긴장)

  • 빠른 MCP 래핑 vs 도구별 권한 분리
  • 도구 하나로 묶는 편의 vs 읽기/쓰기 분리의 운영 부담
  • 에이전트 자율 호출 vs 실행 전 승인

해법

A8의 각 도구에 실제 권한 수준(P0~P4)을 설명과 함께 명시하고, C8 권한 경계로 읽기 전용 도구와 쓰기 도구를 서로 다른 서버·인증으로 분리한다. 쓰기·실행 도구는 도구별 실행 승인과 호출 상한, 킬스위치를 둔다. 반입하는 MCP 서버는 S11 인제스천·공급망 검증에서 PAX 6축(권한 표면·비밀·공급망·위생·인젝션·데이터 흐름)을 통과해야 활성화한다. 사람에게는 F6 에이전트 행동 검토·확인으로 실행 전 무엇을 할지 보여 주고, 승인·실패는 C4에 남긴다.

이럴 때 쓴다

  • MCP 도구 설명과 실제 권한(쓰기·삭제·발송)이 다르다
  • 읽기와 쓰기 도구가 같은 서버·같은 인증 토큰을 쓴다
  • 도구별 권한 수준·실행 승인이 문서에 없다
  • 6축 검증에서 권한 표면이 '주의'로 나왔다

이럴 때는 쓰지 않는다

  • 읽기 전용 MCP로 설계되어 쓰기 기능이 배제된 경우
  • 쓰기 도구가 있지만 설명에 부수 효과가 명시되고 C8 실행 승인이 있는 경우
  • MCP가 아닌 결정적 스크립트로 권한이 코드에 고정된 경우

얻는 것

  • 기존 API를 빠르게 에이전트 도구로 만든다
  • 도구 수가 적어 관리가 쉬워 보인다

점검표

  • 모든 도구의 설명에 실제 권한과 부수 효과가 적혀 있는가
  • 읽기와 쓰기 도구가 서로 다른 인증을 쓰는가
  • 쓰기 도구에 실행 전 승인이 있는가
  • 반입 MCP가 6축 검증을 통과했는가

구조 — 참여 부품

  • A8 MCP 서버·호스트 — 도구 설명과 실제 권한이 일치해야 하는 곳
  • C8 권한 경계·킬스위치 — 읽기/쓰기 분리, 도구별 승인
  • S11 인제스천·공급망 검증 — 반입 시 6축 검증
  • F6 에이전트 행동 검토·확인 — 실행 전 사람에게 행동을 보여 줌

변형

  • API 통째 래핑: 기존 API 클라이언트를 감싸 조회·수정 함수가 같은 도구·인증으로 노출
  • 과대 인증: 조회 도구가 쓰기 권한 토큰으로 실행됨
  • 설명 누락: 도구 설명에 부수 효과(삭제·발송)가 적혀 있지 않음

관련 부품

C8 대체 — 읽기/쓰기 분리와 도구별 실행 승인 · A8 발생 자리 — 도구 설명과 권한이 일치해야 하는 곳 · S11 선행 — 반입 시 6축 검증 · F6 이용자 쪽 대응 — 실행 전 행동 확인 · X13 이웃 안티패턴 — 권한 표면이 넓을수록 인젝션 피해가 커짐

참고 자료

PAX MCP 6축 검증(권한 표면·비밀·공급망·위생·인젝션·데이터 흐름) · Microservice Access Token

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

X8 MCP 서버 개수 세기 안티패턴

MCP 서버를 몇 개 만들었는지가 성과가 되고, 실제 업무에서 호출되는지·흐름이 바뀌었는지는 아무도 묻지 않는 함정이다.

맥락

공공데이터·업무 시스템을 MCP로 감싸는 과제, MCP 서버를 사례 단위로 등록하는 커뮤니티 아카이브, 'MCP N종 구축'을 성과 지표로 둔 과제.

맞서는 힘(긴장)

  • 보고하기 쉬운 개수 vs 측정하기 어려운 업무 전환
  • 서버 제공자 책임 vs 호스트·업무 쪽 활용 책임
  • 빠른 확장 vs 서버마다의 검증·유지보수

해법

서버마다 그것을 호출하는 B 업무 컴포넌트와 업무 산출물을 연결해 '어느 업무의 어떤 산출물에 쓰이는가'를 적는다. C4 감사 로그·지표로 호출 수·호출 주체·업무 건을 집계하고, transition.stage와 파급력 척도(M1~M5)로 전환 경로를 추적한다(PAX: 도구 수보다 전환 경로를 추적). R18대로 서버 제공자 사례(5b-server)와 호스트 통합 사례(5b-host)를 나눠 서버 쪽은 A8·S11·문서화된 스키마를, 호스트 쪽은 C4·F1·S5|S6을 갖춘다. 호출되지 않는 서버는 레지스트리에서 정리한다.

이럴 때 쓴다

  • 성과가 MCP 서버·도구 개수로 보고된다
  • 호출 수·호출 주체·업무 건 지표가 없다
  • 서버를 호출하는 업무 산출물이 서술되지 않는다
  • 흐름이 바뀌었다는 서술 없이 'MCP 기반 전환'을 주장한다

이럴 때는 쓰지 않는다

  • 단일 MCP 서버를 만들어 A8·S11·문서화된 스키마를 갖춘 5b-server 사례(R18). 서버 제공 자체가 사례 단위이므로 개수를 성과로 주장하지 않으면 함정이 아니다
  • MCP 서버 여러 개를 호스트 업무에 연결하고 호출 지표를 C4로 집계한 경우

얻는 것

  • 성과를 개수로 명확히 보고할 수 있다
  • 공공 API를 빠르게 에이전트 도구로 공개한다

점검표

  • 서버마다 호출하는 업무 산출물이 적혀 있는가
  • 서버별 월 호출 수와 호출 주체를 말할 수 있는가
  • 호출되지 않는 서버를 정리하는 절차가 있는가
  • 성과 지표가 개수가 아니라 업무 전환으로 잡혀 있는가

구조 — 참여 부품

  • A8 MCP 서버·호스트 — 개수로 세어지는 도구 인터페이스
  • C4 감사 로그·지표 — 호출 수·호출 주체·업무 건을 집계하는 빠진 부품
  • B 업무 컴포넌트 — 서버를 실제로 호출해 산출물을 만드는 쪽
  • S11 인제스천·공급망 검증 — 서버 제공자 쪽 필수 검증(R18)

변형

  • 개수 성과형: 'MCP N종 구축'이 과제의 주요 성과 지표
  • 호스트 없는 서버: 서버만 공개하고 어떤 호스트·업무에서 쓰이는지 기록이 없음
  • 방치 서버: 원천 API 변경 후 갱신되지 않아 호출이 실패하는 서버가 목록에 남음

관련 부품

C4 대체 — 서버별 호출 지표 · A8 발생 자리 — 개수로 세어지는 도구 인터페이스 · B6 교정 목표 — 도구를 호출해 산출물을 만드는 업무 컴포넌트 · S11 서버 제공자 필수 — 반입·공급망 검증(R18) · X1 이웃 안티패턴 — 탑재·개수를 성과로 세는 같은 뿌리

참고 자료

PAX '도구 수보다 전환 경로를 추적' · PAX 파급력 척도 M1~M5 · Microservice Service Discovery

웹북에서 전체 프로필 보기 ↗ · 패턴 성좌 디렉터리에서 보기 ↗

실무 도입 카드

필요한 것

실행환경: 서버 구축 · 망 요건: 인터넷 필수 · 라이선스: AGPL-3.0

첫 3단계

① 원문·저장소에서 실체 확인 → ② 소규모 업무로 시험 → ③ 결과를 동료와 교차 검증

주의사항

실사용 피드백이 미확인입니다 — 도입 전 소규모 검증을 권합니다 · 성과 수치는 출처가 확인된 것만 신뢰하세요

전이 절차(보안검토→품의→배포)는 전이 플레이북을 참고하세요.

비슷한 업무의 사례