로컬 Ollama 기반 MCP 멀티 호스트 화면

공직 현장(개인 개발) · 공직 개인 · 서울 · 데이터·통계 · 2026-08-07 게시

로컬 Ollama의 Gemma 등 모델로 법령 MCP, 문서 파싱 MCP 같은 여러 MCP 서버를 동시에 돌리는 호스트가 공개됐다. 클라우드 API 없이 내부망과 오프라인 환경에서 AI 도구 호출을 쓸 수 있게 해준다.

상세 정보

사례 성격
개인 개발
출처 채널
오픈채팅
수집일
2026-08-07
태그
#MCP #로컬AI #내부망
실행 환경
MCP·CLI 설정
망 요건
폐쇄망 가능
배포 환경
행정망
AI 모델
해외 오픈웨이트(로컬) — Ollama 로컬 모델(멀티 호스트)
라이선스
MIT (확인 2026-08-19)
저장소
★ 24 · 유지보수 활발
링크 점검
정상 (2026-11-02)

개발자

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

4축 평가

AX 단계AI-Ready
업무 범위S2 Tool bundle
업무 완결성C0 기능 제공
권한(P축)P0 읽기 전용(잠정)
위험도R2 보통
인간 통제해당 없음
증거 등급E1 코드·도구 확인
신뢰도중간

데이터·문서·지식의 구조화, 업무절차·역할·규칙의 가시화, 개인정보·로컬처리·백업, 교육·API·MCP 등 향후 AI 활용에 필요한 준비요소 중 하나 이상을 실제 산출물로 마련함. AI 바이브 코딩으로 만든 준비물도 포함.

디자인 패턴 분석

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

업무 패턴 B6 에이전트 오케스트레이터 변형: 로컬 MCP 호스트(단일 에이전트 도구 연쇄)

서비스 유형 5b 데이터 에이전트 · 전이 단계 개인 사용 · 판정 카탈로그 v0.6

환경 축 배포:행정망 네트워크:폐쇄망 가능 모델:해외 오픈웨이트(로컬) 런타임:MCP·CLI 설정 권한:P1 산출물 생성

이 사례의 패턴 구성도 — 층별 부품과 배선서비스 블록업무 컴포넌트제어 흐름공통 서비스운영보안상호작용D8.1D8.1 탐색·조회B6 · 주 패턴B6 에이전트 오케스트…B′7B′7 ReAct 도구…A2.2A2.2 모델 서빙 ·…A8A8 MCP 서버·호스트A10A10 문서 형식 어댑터A7A7 자체 제작 환경C8 · 보완 필요C8 권한 경계·킬스위치C4 · 보완 필요C4 감사 로그·지표S5 · 보완 필요S5 계획 후 실행·코…S6 · 보완 필요S6 격리 LLM·맵리…F1 · 보완 필요F1 출처 표시
패턴 구성도 — 층별 부품과 배선. 실선은 확인된 부품, 점선은 계획, 회색 점선은 보완이 필요한 필수 부품. 부품을 누르면 아래 상세로 간다.
제어 흐름(B′)
B′7 ReAct 도구 루프
공통 서비스(A)
A2.2 모델 서빙 · 주권형 온프레미스 A8 MCP 서버·호스트 A10 문서 형식 어댑터 A7 자체 제작 환경
신뢰할 수 없는 입력
법령 MCP 도구 출력(법제처 API 응답) · 문서 파싱 MCP 출력(외부 작성 문서 가능)
서비스 블록(D)
D8.1 탐색·조회
부품 배선
A2.2 → B6 · A8 → B6 · A10 → A8 · B6 → B′7 · B6 → D8.1

판정 근거

로컬 Ollama(Gemma 등)가 법령 MCP·kordoc 문서 파싱 MCP 등 여러 MCP 서버를 동시에 붙여 도구를 호출하는 호스트. AI가 도구를 선택하는 루프(B′7)를 갖는 R2의 '로컬 MCP 호스트' 변형이라 B6. 로컬 오픈웨이트 A2.2, MCP 호스트 A8, 문서 파싱 MCP를 통한 A10, 개인 자체 제작 A7. 공공 깃랩 페이지는 프로젝트 설명·MIT·커밋 10개만 확인되어(README 본문 미확인) 승인 게이트·로그·권한 경계는 미확인이고 permission은 잠정 P1. 내부망·오프라인 동작이 명시되어 행정망·폐쇄망 가능.

구현 가이드

주 패턴 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′7 ReAct 도구 루프 제어 흐름

생각 → 도구 호출 → 관찰 → 생각을 반복하며 답을 찾는 배선이다. 추론 흔적이 남아 근거 추적의 원료가 된다.

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

맥락

대민 상담(B3, 유형 ①)의 검색 루프, 데이터 조회·분석 에이전트(B6 로컬 호스트, 유형 5b), MCP 도구 연결(A8)에 쓴다. §7.2 진행 경로의 7단계이고, 단일 에이전트는 여기서 출발한다.

맞서는 힘(긴장)

  • 탐색적 유연성 vs 긴 정형 과제에서의 실행 무질서
  • 도구 출력 활용 vs 도구 출력 속 지시가 명령이 되는 위험(X13)
  • 추론 흔적의 투명성 vs 호출 수·비용

해법

모델이 현재 목표에 대해 생각을 적고, 도구 하나를 골라 호출하고, 결과를 관찰한 뒤 다음 행동을 정한다. 추론 흔적과 호출 순서는 C4 추적 로그로 남기고 답에는 근거(F1)를 붙인다. 도구는 A8 레지스트리에 등록된 것만 쓰게 하고 도구별 권한을 C8로 제한한다. 신뢰 불가 데이터를 읽은 뒤 새 행동을 부를 수 있으면 S5 계획 고정이나 S6 격리로 막고, 최대 호출 횟수를 둔다.

이럴 때 쓴다

  • 질의가 탐색적이라 순서를 미리 정할 수 없을 때
  • 답의 근거와 도구 호출 순서를 보여 줘야 할 때(§7.5)
  • 단일 에이전트로 시작하는 첫 에이전트 배선일 때

이럴 때는 쓰지 않는다

  • 긴 정형 과제로 단계 누락이 문제일 때(B′8)
  • 순서가 고정된 파이프라인일 때(B′1)
  • 신뢰 불가 입력을 읽고 P2 이상 행동을 하는데 S5·S6을 둘 수 없을 때

얻는 것

  • 근거와 호출 순서의 투명성
  • 탐색적 질의에 적합
  • C4 추적의 원료

점검표

  • 도구 호출 순서와 추론 흔적을 지금 볼 수 있는가
  • 최대 호출 횟수가 있는가
  • 도구 출력이 새 행동을 부르지 못하게 막는 구조가 있는가

구조 — 참여 부품

  • 추론 모델 — 생각을 적고 다음 도구를 선택
  • A8 MCP 서버·호스트 — 호출 가능한 도구와 레지스트리
  • C4 감사 로그·지표 — 추론 흔적·호출 순서 기록
  • C8 권한 경계·킬스위치 — 도구별 읽기/쓰기 제한

관련 부품

A8 끼울 자리 — 호출할 도구 · C4 기록처 — 추론 흔적·호출 추적 · B′8 대안 — 긴 정형 과제 · B′4 승급 — 하위 작업이 분리되면 계층화 · S5 보안 짝 — 도구 출력이 행동을 바꾸지 못하게

참고 자료

Towards AI #2·#4 · Gulli ch.5 Tool Use · Springer ReAct

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

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

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

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

A8 MCP 서버·호스트 공통 서비스

공공 API·업무 시스템·로컬 파일을 에이전트가 부를 수 있는 도구로 감싸고, 도구 목록·권한·호출 로그를 한 층에서 관리한다.

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

맥락

에이전트(B6)·코파일럿(B1)이 도구를 호출하는 과제나, 공공데이터를 AI 도구로 공개하려는 기관에 쓴다. E3 값은 MCP·CLI 설정이다. 유형 5b에서는 필수이고(R10 'A8 또는 자체 도구 인터페이스'), 서버만 있는 사례는 5b-server로 분류한다(A8·S11 필수, R18).

맞서는 힘(긴장)

  • 도구 재사용·생태계 확산 vs 권한 표면 확대
  • 도구 설명의 편의 vs 실제 권한과의 불일치(X7)
  • 서버 개수 성과 vs 실제 업무 호출(X8)
  • 도구 출력 활용 vs 도구 출력을 타고 오는 간접 인젝션(X13)

해법

공공 API·업무 시스템·로컬 파일을 도구 설명·인증·정책과 함께 MCP 서버로 감싸 에이전트에 노출하고, 호출 결과에 출처·갱신 시각을 붙이며 호출 로그를 남긴다. 읽기(P0) 서버와 쓰기(P2) 서버를 분리하고 C8로 도구별 실행 승인을 건다. 배포·등재 전에 PAX MCP 6축 검증(권한 표면·비밀·공급망·위생·인젝션·데이터 흐름)을 통과시키고 S11로 반입을 검사하며, 통과하지 못한 축이 있으면 전이 범위를 부서 공유 이하로 둔다. 도구 목록·버전·갱신 공지는 레지스트리(Service Discovery)로 관리한다. 폐쇄망에서는 로컬 모델(A2.2)로 여러 MCP를 구동하는 로컬 호스트 변형을 쓴다.

이럴 때 쓴다

  • 에이전트가 공공 API·업무 시스템을 도구로 호출해야 할 때
  • 기관 데이터를 외부 AI 클라이언트와 타 기관이 직접 호출하게 공개할 때
  • 표준 시스템에 API를 열어 레거시 오버레이(B8)를 대체할 때

이럴 때는 쓰지 않는다

  • 호출할 도구가 로컬 파일뿐인 단순 작업(§5 E1 로컬 PC 행: 드묾)
  • 실제 업무 호출 없이 서버 개수를 성과로 삼으려 할 때(X8)
  • 6축 검증·권한 분리를 할 수 없는데 쓰기 도구를 노출하려 할 때

얻는 것

  • 도구 재사용과 생태계 확산
  • 권한·호출을 한 층에서 관리
  • 공공데이터를 AI가 직접 쓰는 경로

점검표

  • 도구 설명이 '조회'인데 쓰기·실행 권한을 가진 도구가 없는가
  • 6축 검증 결과가 기록되어 있는가
  • 호출 로그와 실제 업무 호출 지표가 있는가
  • 호스트가 도구 출력을 명령으로 받지 않도록 S5·S6 등이 있는가(P2 이상)

구조 — 참여 부품

  • MCP 서버 — 공공 API·업무 시스템·로컬 파일을 도구로 감쌈
  • MCP 호스트(에이전트) — 도구를 선택·호출하고 결과를 업무 흐름에 사용
  • C8 권한 경계·킬스위치 — 읽기/쓰기 분리와 도구별 실행 승인
  • S11 인제스천·공급망 검증 — 서버 반입·등재 전 6축 검증
  • C4 감사 로그·지표 — 호출 추적과 실제 업무 호출 지표

변형

  • 공공데이터 MCP 서버(읽기, P0): 국회 API 276개 MCP, KOSIS 통계 MCP, 나라장터 MCP, 법령 MCP 등.
  • 업무 시스템 MCP(쓰기, P2): 업무 시스템에 쓰기 동작을 노출한다. C2·C3·C4·C8이 필수다.
  • 로컬 MCP 호스트: 폐쇄망에서 여러 MCP를 로컬 모델로 돌린다(망분리 로컬 AI 에이전트 + KOSIS 공식 MCP).

참조 구현 예

  • PAX 망분리 로컬 AI 에이전트 + KOSIS 공식 MCP — 로컬 MCP 호스트, 도구별 위험도·실행 승인·감사 대시보드(§9)
  • PAX 43dc7f4ab2500260 — 64개 도구·인용 조문 검증, 공공 깃랩 공개로 기관 내부망 AI에 공식 등록(§13 A8)
  • PAX 7f8dfb1eb051abe9 — 지자체별 규정을 설정파일로 분리한 이식형 MCP(§13 A8)

관련 부품

C8 필수 짝 — 읽기/쓰기 분리·도구별 승인 · S11 등재 관문 — 6축 검증·공급망 · B6 소비처 — 도구를 부르는 에이전트 · B8 대체 — A8이 열리면 오버레이 퇴출 · S6 호스트 쪽 대응 — 도구 출력 격리

참고 자료

Gulli ch.10 MCP·ch.15 A2A · Microservice 패턴 API Gateway·Service Discovery·Access Token · PAX MCP 6축 검증 매트릭스

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

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

A10 문서 형식 어댑터 공통 서비스

HWP·HWPX·엑셀·한셀·PDF 같은 한국 공공 문서 형식을 AI 부품이 읽고(구조화) 쓰게(서식 생성) 하는 변환 계층이다.

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

맥락

문서를 입력으로 받거나 기안·보고서·취합본을 산출하는 과제라면 거의 다 쓴다. 유형 2·4·8에서는 필수 기반이고 유형 6·7에서도 쓰인다. E1 로컬 PC 조건에서 도는 경우가 많다.

맞서는 힘(긴장)

  • 형식 충실도(표·각주·조항 구조 보존) vs 파서 구현 비용
  • 로컬 처리(무반출) vs 클라우드 변환 도구의 편의
  • 기관별 서식 다양성 vs 공통 어댑터 재사용

해법

입력 쪽에서는 HWPX 압축 구조·PDF에서 조·항·호·별표 계층과 표를 보존해 구조화 텍스트·표로 바꾸고, 머리말·각주 같은 잡음을 걷어 조항 단위로 정규화한다. 출력 쪽에서는 스킬(A9)의 출력 서식을 받아 HWPX·XLSX 기안 서식을 역방향으로 생성한다. 민감 문서는 PC 밖으로 보내지 않도록 로컬에서 변환하고, 파서를 라이브러리·CLI·MCP로 함께 제공하면 다른 부품과 기관이 그대로 쓴다. 형식 변환 정확도는 C9 판정 체계로 잰다.

이럴 때 쓴다

  • 입력이 HWP·HWPX·엑셀·PDF 공공 문서일 때
  • 산출물을 기안·보고 서식으로 내보내야 할 때
  • 유형 2·4·8 조립

이럴 때는 쓰지 않는다

  • 스캔 이미지·음성처럼 인식이 필요한 입력은 B4 인식 파이프라인(OCR·STT)
  • 입출력이 이미 정형 데이터·API인 경우

얻는 것

  • 공공 문서를 AI 입력·출력으로 연결
  • 기관 간 재사용 가능한 공통 부품
  • 로컬 처리로 무반출

점검표

  • 표·조항 계층이 변환 후에도 보존되는가
  • 출력이 기관 기안 서식 그대로 열리는가
  • 민감 문서가 변환 과정에서 PC 밖으로 나가지 않는가
  • 변환 정확도 판정 기록이 있는가

구조 — 참여 부품

  • 입력 파서 — 조·항·호·표 구조를 보존해 구조화
  • 서식 생성기 — 구조화 결과를 HWPX·엑셀 서식으로 출력
  • A9 업무 규범 스킬 — 출력 서식 규범 제공
  • B3 지식 접지 상담 — 구조화된 규정을 색인해 검색

변형

  • 규정 구조 파서: HWP/HWPX·PDF 규정을 조항 단위로 정규화한다.
  • 엑셀·한셀 취합: 폐쇄망에서 엑셀·한셀 파일을 취합한다(GatherFlow).
  • 서식 출력: HWPX 직무기술서·보도자료 등 공공 서식으로 역방향 생성한다(NCS JD, ReleasePick 입력).
  • 완결형 문서 엔진: HWP/HWPX 파싱·조판·렌더링·편집·PDF 출력을 자체 구현하고 MCP·CLI로 제공한다(PAX e18d5e018e0cd10d).
  • AI 친화 병행 등록: 기관이 발간자료를 마크다운으로 함께 등록하도록 표준화한다(PAX 17329009668eb397).

참조 구현 예

  • PAX GatherFlow — 엑셀·한셀 취합(폐쇄망)(§6 A10 카드)
  • PAX 7ad16f34cfb6cca7 — HWP·HWPX·PDF에서 신구대비표 초안을 로컬 생성(§13 A10)
  • PAX e18d5e018e0cd10d — HWP/HWPX 파싱·조판·렌더링·편집·PDF 출력 + MCP·CLI(§13 A10)

관련 부품

A9 짝 — 스킬 출력 서식 · B4 경계 — 인식이 필요한 입력 · A12 대칭 — 사람 쪽 모달리티 어댑터 · A7 짝 — 유형 8 필수 · B0 소비처 — 문서·엑셀 자동화

참고 자료

GoF Adapter

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

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

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 전이 플레이북

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

D8.1 탐색·조회 서비스 블록

데이터·법령·공고·선례·타 지역 사례를 찾아 담당자 화면에 놓는 내부 운영 블록이다. B0 탐색·시각화, MCP 도구 제공, B3가 전형 부품이다.

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

맥락

기관 내부 담당자가 자료를 찾아 보는 업무. §7.3 유형 ⑤b 데이터 에이전트(D8.1, P0)와 ⑤a 분석 대시보드·브리핑(D8.1, P0~P1)의 무대. PAX 176건(주 부품 B0 80%, B3 10%).

맞서는 힘(긴장)

  • 검색 편의 vs 출처·기준 시점 확인
  • 자연어 질의 vs 질의 조작·도구 출력 인젝션
  • 대시보드 고정 화면 vs 에이전트의 유연한 질의
  • MCP 서버 수 vs 실제 업무 호출(X8)

해법

답이 원천 데이터에서 나오게 한다. 공공데이터·통계는 A8 MCP 서버나 A3 공공 API로 도구화하고, 호스트 쪽 에이전트는 B′7 ReAct 도구 루프로 조회하되 C8로 읽기 전용에 묶는다. 결과에는 F1 출처(통계표 ID)와 조회 시점을 붙이고, 도구 호출은 C4로 추적한다. 도구 출력이 새 지시가 되지 않도록 S5 계획 후 실행과 S1 비용 상한을 둔다. 에이전트가 필요 없으면 B0 대시보드·검색기로 끝내고(5a-agg), LLM이 해설을 붙이면 5a-brief로 C9·F9를 더한다(R19). MCP 서버만 만드는 사례는 5b-server로 A8·S11만 필수다(R18).

이럴 때 쓴다

  • 담당자가 흩어진 데이터·법령·공고·선례를 찾느라 시간을 쓸 때
  • 공공데이터·통계를 자연어로 조회해야 할 때
  • 다른 지역·기관 사례를 모아 봐야 할 때

이럴 때는 쓰지 않는다

  • 찾은 문서에서 할 일·핵심을 뽑으면 D8.2
  • 규정·기준과 대조해 확인 대상을 고르면 D8.4
  • 국민이 서비스를 찾으면 D1

얻는 것

  • 자료 찾는 시간 절감
  • 출처·시점이 붙은 근거 확보
  • 공공데이터 MCP의 재사용

점검표

  • 결과마다 원천 출처와 기준 시점이 보이는가
  • 도구 권한이 읽기 전용으로 묶여 있는가
  • 도구 호출 순서를 나중에 볼 수 있는가
  • MCP 서버가 실제 업무에서 호출되는지 재는가

구조 — 참여 부품

  • 담당자 — 자료를 찾고 결과를 업무에 씀
  • A8 MCP 서버·호스트 — 공공데이터·통계를 도구로 노출
  • B0 결정적 도구(탐색·시각화) — 검색기·대시보드
  • B6 도구 호출 에이전트 — 로컬 MCP 호스트로 조회·차트 생성
  • C8 권한 경계 — 읽기 전용 제한
  • F1 출처 표시 — 통계표 ID·출처·시점 표시

변형

  • 검색·대시보드형(비LLM): B0 탐색·시각화. 유형 5a-agg(필수 A1·F2·C4, R19).
  • 브리핑형: LLM이 조회 결과를 요약·해설. 유형 5a-brief(필수 A2.1|A2.2|A2.6·F9·C9, R19).
  • MCP 서버 제공형: 공공데이터·법령을 MCP로 노출하는 서버 자체. 5b-server(필수 A8·S11, R18).
  • 데이터 에이전트형: 로컬 MCP 호스트가 도구를 불러 조회·차트 생성. 5b-host(필수 C4·F1·S5|S6, R18).

참조 구현 예

  • 망분리 환경용 로컬 AI 에이전트 + KOSIS 공식 MCP — 카탈로그 D8.1 카드·§9 조립 예시, 유형 ⑤b 참조 구현
  • Korean Stats MCP — 카탈로그 D8.1 카드 예: KOSIS 통계를 자연어로, 출처 자동 인용

관련 부품

A8 끼울 자리 — 공공데이터 MCP · C8 필수 통제 — 읽기 전용 · D8.2 이웃 블록 — 찾은 문서의 요약·추출 · S5 5b-host 필수 보안 · X8 이 블록에서 흔한 함정

참고 자료

카탈로그 §7.3 유형 ⑤a·⑤b · 카탈로그 §7.4 유형 ⑤ 위협 모델 · MCP 6축 검증(§8)

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

C8 권한 경계·킬스위치 운영 컴포넌트

AI 부품이 할 수 있는 일의 상한을 P0~P4로 못 박고, 도구별 실행 승인·읽기/쓰기 분리·속도 제한·즉시 중단 스위치를 제공한다.

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

맥락

도구를 호출하거나 시스템에 쓰는 B6 오케스트레이터, A8 MCP 서버·호스트, B8 레거시 오버레이, 처분 보조(P3) 서비스. 유형 ⑤b 데이터 에이전트, ⑨ 인수인계(접근 범위).

맞서는 힘(긴장)

  • 자동화 범위 vs 통제
  • 승인 절차의 안전 vs 이용 마찰
  • 도구 설명의 편의 vs 실제 권한과의 일치 검증 비용

해법

부품별 허용 권한 범위(P0 읽기 전용 ~ P4 자율 처분)를 정하고, 도구 목록마다 읽기/쓰기를 분리한다. 위험도가 높은 도구는 실행 전 사람 승인(C2·F6)을 받게 하고, 호출 상한(속도 제한)을 둔다. 전역 킬스위치로 즉시 중단할 수 있게 하고, 승인·실패·중단 이력을 C4에 남긴다. MCP 도구는 설명과 실제 권한이 일치하는지 A8 6축 검증으로 확인한다.

이럴 때 쓴다

  • E4 P2 이상(필수, First 관문)
  • E3 MCP·CLI 환경에서 에이전트가 도구를 호출할 때
  • B6 오케스트레이터에 상용 API를 쓰는 경우(A2 + C7 + C8 도구별 승인)
  • 유형 ⑤b-host, ⑨ 인수인계(접근 범위)

이럴 때는 쓰지 않는다

  • 도구 호출·시스템 쓰기가 없는 서술 전용 코파일럿(P1)
  • B0 결정적 도구로 AI가 행동을 고르지 않을 때

얻는 것

  • 되돌릴 수 없는 조치 방지
  • 도구 설명과 실제 권한의 불일치(X7) 예방
  • 감사 가능한 행동 기록

점검표

  • AI가 쓸 수 있는 시스템 목록을 답할 수 있는가
  • 도구별 읽기/쓰기 구분과 위험도가 있는가
  • 고위험 도구에 실행 승인이 걸려 있는가
  • 킬스위치가 있고 누가 누를 수 있는지 정해져 있는가
  • 도구 설명과 실제 권한이 일치하는가

구조 — 참여 부품

  • 권한 정책 — 부품·도구별 허용 범위(P0~P4)와 읽기/쓰기 구분
  • A8 MCP 서버·호스트 — 도구 설명과 실제 권한의 일치 검증 대상
  • F6 에이전트 행동 검토·확인 — 실행 전 이용자 승인 화면
  • 킬스위치 — 전역 즉시 중단
  • C4 감사 로그·지표 — 승인·실패·롤백·중단 이력

변형

  • 읽기 전용·쓰기 배제: 도구 세트를 읽기 전용으로 한정하거나 쓰기 기능을 설계에서 배제
  • 도구별 위험도·실행 승인: 도구마다 위험도를 평가하고 고위험 도구는 실행 전 승인
  • 판정 필드 비도달 설계: AI가 판정·업무 필드에 쓸 수 없게 코드 수준으로 분리
  • 속도 제한: 도구 호출 상한(Rate Limiter)
  • 킬스위치: 전역 즉시 중단과 기존 절차 전환

참조 구현 예

  • PAX 망분리 환경용 로컬 AI 에이전트 — 도구별 위험도 평가·실행 승인·감사 대시보드(§9, PAX 557건 태깅에서 C8이 운영 중(present)으로 확인된 2건 가운데 하나. 구현 단계까지 합치면 22건)
  • PAX 갈피 법령 MCP — 쓰기 배제 설계

관련 부품

C7 짝 — 막는 통제와 이어 가는 통제 · F6 이용자 쪽 대응 — 에이전트 행동 검토·확인 · A8 의존 — 도구 설명과 실제 권한의 일치 · C2 의존 — 고위험 도구는 사람 승인 · C4 기록처 — 승인·실패·롤백 로그 · S1 짝 — 단일 진입점에서 요청 상한·인증

참고 자료

aiux Agent Action Review · Towards AI 체크포인트 휴리스틱 · Gulli ch.18 Guardrails · Access Token · Rate Limiter · Bulkhead · PAX 원칙 2.5

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

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

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)

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

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

F1 출처 표시 상호작용 패턴

답변에 근거 문서·조문·통계표 ID를 붙여 이용자가 원문을 직접 확인할 수 있게 한다. C5 출처 검증의 이용자 면이다.

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

맥락

B3 지식 접지 상담, A8 공공데이터 MCP, 법령·통계·규정을 인용하는 모든 응답. 유형 ① 대민 상담, ⑤b 데이터 에이전트, ⑦ 대조·점검, ⑨ 인수인계(원문 위치).

맞서는 힘(긴장)

  • 출처 상세도 vs 화면 복잡도
  • 출처 표시 vs 실제 검증(표시만 하고 검증하지 않으면 잘못된 신뢰)
  • 원문 링크의 신선도 vs 유지 비용

해법

답변의 각 주장에 근거 문서·조문 번호·통계표 ID·원문 위치를 붙이고, 원문으로 바로 이동하는 링크를 제공한다. 출처의 갱신 시각과 이용 조건을 함께 보여 오래된 자료를 현재로 오인하지 않게 한다. 표시되는 출처는 C5 출처 검증을 통과한 것이어야 한다.

이럴 때 쓴다

  • B3 지식 접지 응답 전반
  • 대민 서비스 D1~D7(F1·F2·F7이 최소 요건)
  • 유형 ①⑤b⑦⑨처럼 F1이 필수인 유형

이럴 때는 쓰지 않는다

  • 모델의 판정 근거(요인·BBox·사유 코드)를 보여 주려는 경우(F9)
  • B0 결정적 도구로 원천 데이터를 그대로 보여 주는 경우(출처가 곧 화면)

얻는 것

  • 이용자 신뢰 확보
  • 원문 대조로 오류 발견
  • 공식 판단 여부를 이용자가 스스로 확인

점검표

  • 모든 답변에 출처가 붙는가
  • 출처가 원본과 대조되는가
  • 갱신 시각이 보이는가
  • 이용자가 원문을 바로 열 수 있는가

구조 — 참여 부품

  • C5 가드레일 필터 — 출처 검증
  • 이용자 — 원문을 열어 대조

변형

  • 문서·조문 인용: 근거 문서명과 조문 번호를 답변에 붙임
  • 통계표 ID 인용: 통계 답변에 통계표 ID를 자동 인용(KOSIS MCP 방식)
  • 출처·신선도 표시: 출처에 갱신 시각과 이용 조건을 함께 표시

참조 구현 예

  • PAX Korean Stats MCP — KOSIS 통계를 자연어로, 출처 자동 인용
  • PAX 224e2d82d9369735 — 모든 출처에 갱신 시각과 이용 조건을 함께 저장한 출처·신선도 표시
  • PAX 9998aba2d1f55c24 — 항목별 법령·처분사례 원문 연계(F1)

관련 부품

C5 시스템 쪽 대응 — 출처 검증 · F7 짝 — 한계 안내와 함께 신뢰의 실체 · F9 구분 — 판정 근거 표시 · B3 끼울 자리 — 지식 접지 응답 · A3 출처 제공 — 공공 API 원문

참고 자료

aiuxpatterns Results · Show Citations

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

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

S5 계획 후 실행·코드 후 실행 보안 패턴

신뢰 불가 데이터를 읽기 전에 도구 호출 계획이나 프로그램을 고정하고 정책으로 검증해, 도구 출력이 새 행동을 끼워 넣지 못하게 한다.

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

맥락

도구 호출 또는 시스템 쓰기가 있는 구조(R6)에서 계획을 미리 정할 수 있는 정형 업무. 데이터 조회·분석 에이전트(유형 ⑤, 5b-host), 그리고 '오늘 접수 건을 조회해 담당자에게 통지'하는 식의 접수·통지 자동화(유형 ②). 카탈로그 등재 상태는 후보(PAX 557건 중 1건).

맞서는 힘(긴장)

  • 행동 집합의 증명 가능한 고정 vs 중간에 계획을 바꿔야 하는 탐색 과제
  • 정책 검증의 엄격함 vs 계획 작성 실패율
  • 행동 고정 vs 인자 조작(도구 출력이 인자를 바꾸는 것)은 남음

해법

이용자 지시를 받아 신뢰 불가 데이터를 읽기 전에 도구 호출 목록 [tool1(…), tool2(…)] 또는 실행 코드를 먼저 확정한다. 고정된 계획은 제어면(C8 도구별 권한)이 허용 도구·권한·파괴적 행동·사람 승인 필요 여부를 규칙으로 검증한 뒤에만 실행한다. 도구 출력은 인자 값을 채울 수는 있지만 계획에 없는 행동을 추가할 수 없다. 코드 후 실행이면 코드는 S9 샌드박스에서 돌린다. 인자 조작까지 막으려면 S6을 함께 둔다.

이럴 때 쓴다

  • 데이터 조회·분석 에이전트(유형 ⑤)의 필수 부품(S1과 함께)
  • 5b-host(에이전트 호출자) 필수 S5 또는 S6(R18)
  • 접수·통지 자동화처럼 계획을 미리 정할 수 있는 정형 업무
  • 내부 문서 코파일럿(유형 ④)이 행정망에 쓰기를 할 때(권장)

이럴 때는 쓰지 않는다

  • 중간에 계획을 바꿔야 하는 탐색 과제
  • 도구 호출·시스템 쓰기가 없는 서술 전용 LLM(R6)
  • 도구 출력 속 인자 조작이 핵심 위협일 때 S5만으로는 부족 — S6 필요

얻는 것

  • 간접 인젝션에 의한 행동 변경에 증명 가능한 저항
  • 권한 상승 차단
  • 계획이 사전에 보이므로 감사·승인이 쉬움

점검표

  • 외부 데이터를 읽기 전에 계획이 확정되는가
  • 계획이 실행 전에 정책으로 검증되는가
  • 도구 출력이 계획에 없는 도구 호출을 유발할 수 없는가
  • 파괴적 행동에 사람 승인이 걸려 있는가

구조 — 참여 부품

  • 계획 LLM — 신뢰 불가 데이터를 읽기 전에 계획·코드를 작성
  • C8 권한 경계(제어면) — 허용 도구·권한·파괴적 행동·사람 승인 여부를 규칙으로 검증
  • C3 상태 머신 — 계획 단계 진행과 종료 상태 관리
  • S9 임시 샌드박스 — 코드 후 실행 시 코드 격리 실행
  • 실행기 — 검증된 계획만 실행하고 도구 출력은 인자 값으로만 사용

변형

  • 계획 후 실행: 도구 호출 목록을 고정하고 순서대로 실행
  • 코드 후 실행: LLM이 프로그램을 먼저 쓰고 샌드박스에서 실행
  • 에이전틱 제어면: LLM이 쓴 JSON 실행계획을 서버가 비신뢰 입력으로 보고 권한·도구·인자를 규칙으로 재검증한 뒤 허용목록 도구만 실행

관련 부품

S1 짝 — 유형 ⑤ 필수 조합 S5 + S1 · S6 보완 — 인자 조작은 S6이 막음 · B′8 원형 — 계획-실행의 제약형 · C8 제어면 — 계획을 정책으로 검증 · F6 이용자 쪽 대응 — 파괴적 행동의 사람 확인 · S10 기록처 — 계획·검증·실행 흔적

참고 자료

Beurer-Kellner 외(2025) #2 Plan-Then-Execute · #5 Code-Then-Execute · Vinodhkumar M AI 보안 패턴: Agentic Control Plane · Saga · Command

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

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

S6 격리 LLM·맵리듀스 보안 패턴

도구를 가진 권한 LLM은 신뢰 불가 데이터를 읽지 않고, 데이터를 읽는 격리 LLM은 도구가 없게 나눈 뒤 결과를 형식 제약이나 기호 참조로만 넘긴다.

맥락

제출 서류(PDF·HWPX·이미지)를 읽어 판정하는 접수·심사 자동화(유형 ②), 대상 문서가 점검기를 속일 수 있는 대조·점검(유형 ⑦), 부서별 제출 파일을 취합하는 자동화(유형 ⑧). 모두 도구 호출 또는 시스템 쓰기가 있는 구조(R6)를 전제로 한다. 카탈로그 등재 상태는 후보(PAX 557건 중 0건).

맞서는 힘(긴장)

  • 증명 가능한 격리 vs 호출 수 증가
  • 형식 제약(불리언·숫자·정규식)의 안전성 vs 풍부한 판정 사유 전달
  • 기호 참조 설계 난이도 vs 권한 LLM의 유연성

해법

권한 LLM(도구 보유)과 격리 LLM(도구 없음)을 분리한다. 문서마다 격리 LLM 인스턴스를 띄워(맵) 요건 충족 여부처럼 형식이 제약된 값만 내게 하고, 비-LLM 규칙으로 합친다(리듀스). 권한 LLM은 격리 LLM의 결과를 $VAR 같은 기호 참조로만 다루고, 실제 값은 비-LLM 오케스트레이터가 실행 시 치환한다. 형식 제약 검증은 C9·스키마 검증으로 강제하고, OCR·파싱 같은 실행은 S9에 둔다. 악성 문서는 자기 판정만 속일 수 있을 뿐 다른 문서나 도구 호출에 영향을 줄 수 없다.

이럴 때 쓴다

  • 접수·심사 자동화(유형 ②)의 정석 — 필수 부품
  • 대조·점검 도우미(유형 ⑦)에서 대상별 격리(S4의 대안)
  • 취합·변환 자동화(유형 ⑧)에서 파일별 격리(권장)
  • 5b-host 필수 S5 또는 S6(R18)
  • S5로 막지 못하는 인자 조작이 위협일 때

이럴 때는 쓰지 않는다

  • 도구 호출·시스템 쓰기가 없는 서술 전용 LLM(R6)
  • 문서 간 교차 참조가 판정의 핵심이라 문서별 격리가 불가능할 때 — S5나 C1 사람 검토로 보완
  • 보안 목적 없이 판정-확정 분리만 있는 구조는 B′9(R11), 다만 신뢰 불가 입력 격리가 함께 있으면 둘 다 태그(R27)

얻는 것

  • 간접 인젝션 전파에 증명 가능한 저항
  • 문서 간 교차 오염 차단
  • 권한 상승 차단
  • 판정이 규칙 집계라 설명·재현이 쉬움

점검표

  • 도구를 가진 LLM이 신뢰 불가 데이터를 직접 읽지 않는가
  • 격리 LLM 출력이 형식 제약 값으로만 전달되는가
  • 문서별로 격리되어 한 문서가 다른 문서 판정에 영향을 줄 수 없는가
  • 집계가 LLM이 아닌 규칙으로 이루어지는가

구조 — 참여 부품

  • 격리 LLM(문서별) — 도구 없이 한 문서만 읽고 불리언·숫자·정규식 형식의 값만 출력
  • 비-LLM 집계기 — 문서별 판정을 규칙으로 합침(리듀스)
  • 권한 LLM — 도구를 가지되 신뢰 불가 데이터를 읽지 않고 기호 참조만 조작
  • 비-LLM 오케스트레이터 — 실행 시 기호 참조를 실제 값으로 치환
  • C9 평가 세트·형식 검증 — 격리 LLM 출력의 형식 제약 검증

변형

  • 이중 LLM(Dual LLM): 권한 LLM과 격리 LLM 두 역할로 나누고 기호 참조로 연결(Willison)
  • LLM 맵리듀스: 문서마다 격리 인스턴스를 띄우고 규칙으로 집계
  • 다중 에이전트 분할: 에이전트별로 읽는 데이터와 가진 도구를 분리
  • 수치·문장 분리형: 수치는 예측 모듈만 산출하고 LLM은 도구 결과를 설명만 하는 구조

관련 부품

B′9 동시 태깅 허용 — 판정-확정 구조(R27) · S5 보완 — S5가 못 막는 인자 조작을 S6이 막음 · S11 짝 — 유형 ② 권장, 제출 파일 검사 · S2 짝 — 신뢰 불가 입력 + P2 이상 B3 조합 · S4 대안 — 유형 ⑦에서 S6 또는 S4 · C1 후단 — 집계 결과의 사람 확정

참고 자료

Beurer-Kellner 외(2025) #3 LLM Map-Reduce · #4 Dual LLM(Willison) · Vinodhkumar M AI 보안 패턴: Multi-Agent Segmentation · Privilege Separation · Map-Reduce · Bulkhead

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

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

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

실무 도입 카드

필요한 것

실행환경: MCP·CLI 설정 · 망 요건: 폐쇄망 가능 · 라이선스: MIT

첫 3단계

① 저장소 README의 설치 절차 확인 → ② 개인 PC에서 시험 연결 → ③ 업무망 반입 전 보안성 검토 문의

주의사항

성과 수치는 출처가 확인된 것만 신뢰하세요

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

비슷한 업무의 사례