← 목록으로
AI2026.10.19 11:45

Archify란? 코드를 인터랙티브 아키텍처 다이어그램으로 바꾸는 AI 에이전트 스킬

Archify는 AI 코딩 에이전트가 코드 저장소나 설명을 읽고, 검증을 통과한 인터랙티브 아키텍처 다이어그램을 단독 HTML로 만들어 주는 오픈소스 스킬입니다. 동작 방식, 다이어그램 종류, 저장소 근거 연결, 도입할 때 볼 점을 정리합니다.

목차

  1. 개요
  2. Archify의 동작 원리 — JSON 중간 표현과 검증 게이트
  3. Archify 다이어그램 종류와 뷰어 기능
  4. 코드 저장소를 아키텍처 다이어그램으로 — 소스 근거 연결
  5. Archify 설치와 도입 전 체크포인트
  6. 맺음말

개요

Archify가 해결하려는 문제

아키텍처 다이어그램은 그리는 순간부터 낡기 시작합니다. 코드가 바뀌어도 그림은 누군가 손으로 고치기 전까지 그대로이고, 새로 합류한 사람은 그 그림이 지금 코드와 맞는지 확인할 방법이 없습니다. Archify는 이 문제를 AI 코딩 에이전트에게 맡기는 도구입니다. Claude Code, Codex CLI, Cursor 같은 에이전트에 스킬로 설치해 두고 "이 저장소의 런타임 아키텍처를 그려 줘"라고 요청하면, 에이전트가 코드를 읽고 인터랙티브 아키텍처 다이어그램을 HTML 파일 하나로 만들어 줍니다.

이 글은 Archify v3.2.0(2026-10-18 릴리스) 저장소의 README, SKILL.md, 스키마, 예제를 읽고 정리했습니다.

항목 내용
저장소 tt-a1i/archify (GitHub)
라이선스 MIT
첫 공개 2026-04-15
최신 안정판 v3.2.0 (2026-10-18)
GitHub 스타 약 8만 5천 개 (2026-10-19 기준)
지원 에이전트 Claude Code, Codex CLI, Cursor, OpenCode 외
실행 조건 Node.js 18 이상

제작자는 2026년 9월 초 GitHub Trending 주간 1위 화면을 공개하기도 했습니다.

기존 다이어그램 도구와 무엇이 다른가

Mermaid나 PlantUML 같은 텍스트 기반 다이어그램은 사람이 문법을 써서 그림을 그립니다. Archify는 사람이 문법을 쓰지 않습니다. 에이전트가 정해진 스키마의 JSON을 쓰고, Archify가 그 JSON을 검증한 뒤 그림으로 바꿉니다. 사람은 자연어로 요청하고 결과를 확인합니다.

구분 Mermaid·PlantUML 정적 SVG 생성 Archify
누가 원본을 쓰나 사람 사람 또는 에이전트 에이전트
원본 형식 전용 텍스트 문법 SVG·HTML 타입이 정해진 JSON
결과물 정적 그림 정적 그림 탐색 가능한 단독 HTML
품질 검사 문법 오류 정도 없음 스키마·레이아웃·브라우저 검사
코드 근거 연결 없음 없음 커밋 고정 소스 링크
언제 쓰나 문서 안에 짧은 그림 블로그·발표용 정적 도식 탐색하며 읽을 시스템 지도

Archify는 범용 드로잉 편집기도, Mermaid 테마도 아니라고 스스로 밝힙니다. 기술적 의도를 전달용 산출물로 바꾸는 도구라는 것이 프로젝트의 정의입니다.


Archify의 동작 원리 — JSON 중간 표현과 검증 게이트

타입이 정해진 JSON 중간 표현

Archify의 핵심은 **타입이 정해진 JSON 중간 표현(IR, Intermediate Representation)**입니다. 에이전트는 SVG 좌표를 바로 그리지 않고, 다이어그램 종류마다 정해진 스키마에 맞춰 노드, 관계, 경계, 레이블을 JSON으로 적습니다. 렌더러는 이 JSON만 보고 그림을 만들기 때문에 같은 JSON에서는 항상 같은 그림이 나오고, "Redis 추가해 줘" 같은 후속 요청도 JSON의 해당 부분만 고치면 됩니다.

아래는 저장소에 들어 있는 캐시 미스 시퀀스 예제(archify/examples/cache-miss-request.sequence.json)에서 y 좌표 등 일부 필드를 빼고 옮긴 것입니다. 참여자와 메시지가 각각 의미 있는 타입(backend, database, return 등)을 갖습니다.

json
{
  "schema_version": 1,
  "diagram_type": "sequence",
  "meta": { "title": "Cache Miss Request Sequence", "quality_profile": "showcase" },
  "participants": [
    { "id": "api",   "type": "backend",  "label": "API",      "sublabel": "request handler" },
    { "id": "redis", "type": "database", "label": "Redis",    "sublabel": "cache" },
    { "id": "db",    "type": "database", "label": "Postgres", "sublabel": "source of truth" }
  ],
  "messages": [
    { "id": "cache-read",    "from": "api",   "to": "redis", "label": "read cache", "variant": "default" },
    { "id": "cache-miss",    "from": "redis", "to": "api",   "label": "miss",       "variant": "return" },
    { "id": "profile-query", "from": "api",   "to": "db",    "label": "query profile + metrics", "variant": "emphasis" }
  ]
}

JSON을 거치는 구조 덕분에 사람이 다이어그램을 직접 손보지 않아도 에이전트가 고칠 지점을 정확히 짚을 수 있습니다. 반대로 말하면, 에이전트가 쓴 JSON이 틀리면 그림도 틀립니다. 그래서 다음 단계의 검증이 중요합니다.

finalize — 네 단계 검증 게이트

에이전트가 JSON 후보를 다 쓰면 finalize 명령 하나로 검증부터 전달까지 진행합니다. 네 개의 게이트를 차례로 통과해야 HTML이 나오고, 하나라도 실패하면 거기서 멈춥니다.

Archify가 그림을 만드는 흐름 사용자 요청과 저장소 소스를 에이전트가 읽어 타입이 정해진 JSON 후보를 쓰고, finalize가 스키마 검증·원자적 전달·정적 검사·실제 브라우저 검사를 차례로 통과시킨 뒤에만 단독 HTML을 내놓는다. 실패하면 진단 JSON이 에이전트에게 돌아가 최대 두 번 고친다. INPUT 자연어 요청 INPUT 코드 저장소 선택 사항 AGENT AI 에이전트 Claude Code·Codex 등 IR JSON 후보 candidate.json validate deliver check browser-check OUT 단독 HTML 뷰어 내장 FAIL 진단 JSON 게이트 실패 규칙 코드·고칠 방법 최대 2회 수정 FINALIZE 게이트 LEGEND 사람이 주는 것 핵심 산출물 통과 결과 실패 수정 루프

에이전트가 쓴 JSON은 네 게이트를 모두 통과해야 HTML이 되고, 실패하면 진단 JSON을 보고 최대 두 번 고칩니다.

게이트 하는 일 실패하면
validate 스키마, 레이아웃 규칙, 경로·레이블 간격 검사 규칙 코드와 고칠 수 있는 항목 반환
deliver 같은 디렉터리에 후보 HTML을 렌더링 후 교체 기존 파일 유지
check 산출물 출처(provenance) 엄격 검사 기존 파일 유지
browser-check 실제 브라우저에서 열어 확인 기존 파일 유지

SKILL.md는 통과한 영수증이 있어야만 성공으로 보라고 못 박습니다. 0이 아닌 종료 코드는 어떤 경우에도 성공이 아니며, 에이전트는 실패한 게이트의 진단을 읽고 고친 뒤 finalize를 처음부터 다시 돌립니다.

실패를 기계가 읽는 진단으로 돌려준다

에이전트 도구에서 흔히 보는 실패는 Node 스택 트레이스나 "다시 해 보세요" 같은 막연한 메시지입니다. Archify는 validate --json과 deliver --json이 실패하면 JSON 객체 하나를 돌려줍니다. 여기에는 안정적인 규칙 코드, 문제가 된 대상, 측정된 근거, 그 문제에 대해 지원하는 수정 방법(supportedFixes)이 들어 있습니다.

진단 필드 의미 에이전트가 하는 일
규칙 코드 어떤 규칙을 어겼는지 같은 종류의 실수를 구분
대상(subject) 문제가 된 노드·관계 그 주변만 고침
측정 근거 겹친 길이, 간격 등 실제 값 얼마나 옮길지 판단
supportedFixes 허용된 수정 방법 이 범위 안에서만 수정

스킬은 수정 라운드를 두 번으로 제한합니다. 에이전트가 같은 문제를 붙잡고 무한히 재시도하지 않게 하려는 장치입니다. 앞서 다룬 LLM Tool Calling 설계 패턴 글에서 도구 응답을 구조화하면 에이전트 신뢰성이 올라간다고 정리했는데, Archify의 진단 형식이 그 원칙을 그대로 따르는 사례입니다.

원자적 교체와 마지막 정상본

deliver는 결과 파일을 바로 덮어쓰지 않습니다. 같은 디렉터리에 후보를 따로 만들고, 검사를 통과한 경우에만 기존 파일을 한 번에 교체합니다.

검사를 통과해야만 바뀌는 출력 파일 새 후보 HTML은 같은 디렉터리에 따로 만들어진다. 모든 검사를 통과하면 기존 파일을 한 번에 교체하고, 하나라도 실패하면 기존 정상본을 그대로 둔 채 실패 영수증만 남긴다. EDIT 수정된 JSON 에이전트가 고침 CANDIDATE 후보 HTML 같은 디렉터리 COMMIT 기존 파일 교체 한 번에 바꿈 KEEP 기존 정상본 유지 실패 영수증만 남김 예 아니오 진단을 보고 다시 시도 모든 검사 통과?

검사에 실패한 후보는 기존 파일을 건드리지 못하고, 실패 영수증만 남깁니다. 선택 사항인 preview 모드도 같은 원칙을 따라, JSON을 저장하다 깨진 상태가 되면 마지막 정상본을 계속 보여 줍니다.


Archify 다이어그램 종류와 뷰어 기능

열 가지 다이어그램 종류

v3.0까지는 다섯 종류였고, v3.1(2026-10-14)에서 ERD, Class, Tree, Timeline, Waterfall이 더해져 열 종류가 되었습니다. 어떤 종류를 쓸지 애매하면 guide 명령에 상황을 문장으로 주면 알맞은 종류를 골라 줍니다.

종류 잘 맞는 대상
Architecture 컴포넌트, 서비스, 저장소, 경계
Workflow CI/CD, 승인, 도구 호출, 런북
Sequence API 호출, 캐시 폴백, 인증
Data Flow 파이프라인, 리니지, 개인정보 흐름
Lifecycle 상태 전이, 재시도, 대기, 종료
ERD 테이블, 컬럼, 키, 관계 차수
Class 클래스, 인터페이스, 의존 관계
Tree 모듈 트리, 기능 분해
Timeline 장애 회고, 릴리스 이력
Waterfall 한 요청의 시간 분포

Timeline과 Waterfall은 예시 값이 들어가기 쉬운 종류입니다. README는 로그나 트레이스에서 나온 값일 때만 실측으로 다루라고 따로 적어 둡니다.

단독 HTML 뷰어에서 할 수 있는 일

결과물은 HTML 파일 하나입니다. 받는 사람이 Archify를 설치하지 않아도 브라우저로 열면 탐색 기능이 그대로 동작합니다. 키보드 단축키가 많아서 발표나 리뷰 자리에서 쓰기 좋습니다.

기능 조작 쓰임새
노드 검색·포커스 / 큰 지도에서 원하는 서비스 찾기
상류·하류 추적 노드 선택 후 Upstream·Downstream 이 컴포넌트가 무엇에 기대고 무엇을 움직이나
경로 추적 R 또는 PATH 웹 앱에서 DB까지 실제 경로 강조
역할 비교 L 또는 LENS 백엔드와 데이터베이스 연결만 보기
발표 모드 F 회의 화면 공유
테마·스타일·내보내기 T / S / E 라이트·다크 전환, PNG·SVG 등 내보내기

포커스나 경로 상태는 #focus=api&reach=downstream 같은 주소 조각으로 남기 때문에, 특정 관점을 링크 하나로 공유할 수 있습니다. 문서에 따르면 상류·하류 추적은 작성된 관계만 따라가며, 런타임 영향 범위를 추정했다고 주장하지 않습니다.

한 페이지 답변(explainer) — v3.2 신규 기능

v3.2.0에서는 한 페이지짜리 설명 문서를 만드는 기능이 추가되었습니다. "P99 지연이 80ms에서 600ms로 뛰었는데 원인이 뭘까, 한 페이지로 답해 줘"처럼 요청하면 결론을 맨 앞에 두고 질문마다 패널 하나씩 표·단계·차트·다이어그램을 배치합니다. 스타일 네 가지와 라이트·다크 테마를 고를 수 있고, 긴 이미지나 PDF로 내보낼 수 있습니다.

결론 먼저, 패널 하나에 질문 하나. 장애 회고나 설계 검토처럼 "그림 + 설명"이 필요한 문서를 맡길 때 쓸 만합니다.


코드 저장소를 아키텍처 다이어그램으로 — 소스 근거 연결

저장소 근거가 노드에 붙는 과정

Archify가 다른 그림 도구와 가장 크게 갈리는 지점이 **소스 근거(source evidence)**입니다. 실제 저장소를 그릴 때 에이전트는 진입점에서 출발해 호출 지점을 따라가고, 컴포넌트와 관계마다 파일 경로와 줄 범위를 기록합니다. 근거가 붙은 노드에는 SRC n 표시가 생기고, 뷰어에서 누르면 고정된 커밋의 해당 줄을 보여 주는 소스 카드가 열립니다.

저장소 근거가 노드에 붙는 과정 에이전트가 저장소의 HEAD 커밋과 원격 주소를 고정하고, 진입점에서 호출 지점을 따라가며 파일 경로와 줄 범위를 기록한다. 각 노드는 SRC 번호로 근거를 달고, 뷰어에서 누르면 고정된 커밋의 해당 줄로 이어진다. PIN 저장소 고정 HEAD 40자 커밋 TRACE 호출 따라가기 진입점 → 호출 지점 EVIDENCE 근거 기록 경로 + 줄 범위 NODE 노드에 SRC n 근거 있는 노드만 VIEW 소스 카드 커밋 고정 링크 작업 트리 변경분 SSH·사내 저장소 근거로 쓰지 않음 local-only 링크 커밋된 바이트만 근거가 됩니다. 원격 주소의 인증 정보는 지우고 기록합니다. LEGEND 고정 시점 근거가 붙는 지점 독자가 보는 것 근거 제외

근거는 고정된 커밋의 바이트에서만 나오며, 커밋되지 않은 작업 트리 변경분은 근거로 쓰지 않습니다.

규칙 내용 이유
커밋 고정 HEAD의 40자 해시와 원격 주소를 meta.repository에 기록 링크가 나중에도 같은 코드를 가리키도록
인증 정보 제거 원격 주소의 사용자명·토큰을 지우고 기록 산출물에 비밀 값이 새지 않도록
작업 트리 제외 커밋 안 된 변경은 근거로 쓰지 않음 링크를 눌렀을 때 내용이 달라지지 않도록
웹 링크 대상 GitHub, Gitee, GitLab HTTPS 원격 줄 단위 링크를 만들 수 있는 곳만
그 외 SSH·사내 저장소는 local-only 경로와 리비전만 기록

근거 없는 관계를 만들지 않는 규칙

저장소 작성 가이드(references/repository-authoring.md)에는 에이전트가 지켜야 할 규칙이 꽤 엄격하게 적혀 있습니다. 핵심은 보지 않은 것을 그리지 않는다는 것입니다.

상황 그려도 되나 가이드의 판단
호출 지점에서 실제로 DB에 쓰는 코드를 확인 된다 읽은 범위를 근거로 기록
"작업을 관리한다"는 설명만 있음 안 된다 책임 설명은 직접 I/O의 근거가 아님
export됐지만 정상 경로에서 호출되지 않는 함수 선택 기능으로만 필수 런타임 관계로 그리지 않음
설정 값에 서비스 이름만 있음 안 된다 관찰하지 않은 서비스를 만들지 않음
끝내 확인하지 못한 동작 미확인으로 표시 "writeFile 호출, 내구성은 알 수 없음"처럼 기록

노드나 관계 개수에 목표치가 없다는 점도 눈에 띕니다. 요청한 책임과 관계가 근거로 덮이면 탐색을 멈추라고 되어 있습니다. LLM이 그럴듯한 레이블을 지어내 빈칸을 채우는 경향을 정면으로 막으려는 설계로 읽힙니다.

변경 전후 비교 — Architecture Delta

설계 리뷰나 PR 리뷰에는 compare 명령이 있습니다. 변경전 아키텍처 JSON과 변경후 JSON을 주면 추가·삭제·변경·이동된 요소를 한 장의 델타 다이어그램으로 그리고, 기계가 읽는 영수증을 함께 남깁니다.

델타 그림은 "무엇이 바뀌었는지"만 보여 줍니다. README는 영향도, 위험도, 머지 안전성을 추론하지 않는다고 명시하며, "그래서 괜찮은지"는 여전히 리뷰어의 몫입니다.


Archify 설치와 도입 전 체크포인트

설치와 첫 요청

설치는 skills CLI로 한 줄이면 됩니다. -g를 붙이면 전역 스킬로 설치되어 모든 프로젝트에서 쓸 수 있습니다. Claude.ai에서는 설정의 Skills 메뉴에 archify.zip을 올려 쓸 수 있지만, 검증 게이트가 Node.js로 돌기 때문에 샌드박스에서 Node를 쓸 수 없으면 검증 없는 대체 경로로 떨어집니다.

bash
# 전역 설치 (Claude Code는 ~/.claude/skills/, Codex는 ~/.agents/skills/ 아래에 들어간다)
npx skills add tt-a1i/archify -g

# 설치 없이 한 번만 써 보기
npx skills use tt-a1i/archify@archify --agent codex

설치한 뒤에는 에이전트에게 자연어로 요청하면 됩니다. 저장소가 없어도 설명만으로 그릴 수 있고, 저장소를 열어 둔 상태라면 코드 근거가 붙은 그림을 요청할 수 있습니다.

text
이 저장소를 분석해서 Archify로 상위 수준 런타임 아키텍처 다이어그램을 만들어 줘.
핵심 컴포넌트 8~12개, 주 경로 하나, 외부 의존성, 신뢰 경계를 보여 주고,
세부 내용은 관계선을 늘리지 말고 카드에 넣어 줘.

README의 예시 요청을 옮긴 것입니다. 컴포넌트 수, 주 경로, 경계처럼 범위를 먼저 정해 주는 것이 결과 품질을 좌우합니다. 그림이 나온 뒤에는 "인증 추가해 줘", "캐시 미스 경로 강조해 줘"처럼 이어서 다듬습니다. 에이전트에게 프로젝트 맥락을 넘기는 방식은 Cursor Rules 설계 글에서 다룬 원칙이 그대로 적용됩니다.

CLI로 직접 다루기

에이전트 없이 CLI를 직접 부를 수도 있습니다. 외부 의존성이 없는 Node 스크립트라서 저장소를 받아 바로 실행하면 됩니다. 평소에는 finalize만 알면 되고, 종류를 고르기 어려울 때 guide, 리뷰할 때 compare를 씁니다.

bash
cd archify
node bin/archify.mjs doctor                          # 환경 진단
node bin/archify.mjs guide "Show CI/CD checks, approval, deploy, and rollback"   # 다이어그램 종류 추천
node bin/archify.mjs finalize workflow examples/agent-tool-call.workflow.json /tmp/workflow.html \
  --quality showcase --json                          # 검증부터 전달까지 한 번에
node bin/archify.mjs compare architecture base.json head.json delta.html --json  # 변경 전후 비교

한계와 범위 밖의 것

프로젝트가 스스로 밝힌 한계도 분명합니다. README는 자동 Mermaid 파싱, 범용 자동 레이아웃, 호스팅 공유, WYSIWYG 편집을 현재 범위 밖이라고 적습니다.

한계 내용 대응
지각 품질 자동 검증이 보기 좋은 그림을 보장하지는 않음 중요한 그림은 사람이 직접 확인
큰 Sequence 화면을 넘으면 스크롤 필요, 컨트롤이 겹칠 수 있음 범위를 나눠 여러 장으로
복잡한 Data Flow 선이 같은 통로를 공유할 수 있음 경계와 단계를 줄여서 요청
Mermaid 입력 문법을 그대로 변환하지 않고 의미만 읽어 새로 작성 기존 Mermaid는 참고 자료로만
공유 호스팅 기능 없음, HTML 파일로 전달 사내 위키·저장소에 파일로 첨부

특히 첫 번째 항목이 중요합니다. SKILL.md도 검증 결과를 보고할 때 "자동 검사 통과, 시각 검토는 안 함"처럼 구분해서 말하라고 지시합니다. 게이트를 통과했다는 것은 스키마와 레이아웃 규칙을 지켰다는 뜻이지, 독자가 읽기 쉬운 그림이라는 뜻은 아닙니다.

네트워크 요청과 서드파티 서비스

보안 검토가 필요한 팀이라면 네트워크 동작을 확인해 둘 만합니다.

항목 문서에 적힌 내용 확인할 점
업데이트 확인 고정된 안정판 매니페스트를 약 24시간마다 GET, 버전·에이전트·프로젝트 데이터·프롬프트는 보내지 않음 ARCHIFY_UPDATE_CHECK_DISABLED=1로 끌 수 있음
자동 설치 업데이트를 알려 주기만 하고 설치하지 않음 업데이트 시점은 사용자가 결정

README에는 API 중계 서비스 후원 배너가 여럿 있지만, 프로젝트도 밝히듯 Archify와는 별개인 서드파티입니다. 에이전트의 API 경로를 그쪽으로 바꾸는 것은 Archify 도입과 전혀 다른 판단입니다.


맺음말

Archify는 "에이전트가 그림을 그린다"는 아이디어 자체보다, 그 그림을 믿을 수 있게 만드는 장치에 공을 들인 도구입니다. 타입이 정해진 JSON 중간 표현, 네 단계 검증 게이트, 실패 시 기계가 읽는 진단, 원자적 교체, 커밋에 고정된 소스 근거가 모두 같은 방향을 향합니다. LLM이 만든 산출물을 그대로 믿지 말고 검증 가능한 형태로 만들라는 것입니다.

판단 기준 쓸 만하다 다른 도구가 낫다
독자가 탐색하며 읽을 그림인가 시스템 지도, 리뷰용 델타 문서에 박아 둘 짧은 정적 그림
코드와의 연결이 중요한가 온보딩, 아키텍처 설명 개념 설명용 도식
AI 코딩 에이전트를 이미 쓰는가 Claude Code·Codex·Cursor 사용 팀 에이전트 없이 사람이 그리는 팀

온보딩용 시스템 지도, PR 리뷰용 델타 그림, 장애 회고용 타임라인이 대표적인 쓰임새입니다. 정리하면, 이미 코딩 에이전트를 쓰고 있고 코드와 함께 움직이는 아키텍처 문서가 필요하다면 먼저 써 볼 만한 도구입니다. 다만 자동 검사를 통과했다는 것과 읽기 좋은 그림이라는 것은 별개이므로, 팀에 공유하기 전에는 사람이 한 번 열어 보는 단계를 남겨 두는 편이 안전합니다.

참고: Archify GitHub 저장소 · Archify 공식 사이트와 갤러리