🧵

프롬프트를 파일로 구조화하다

danielmiessler/Fabric이 풀려는 문제

⭐ 43k+ GitHub Stars
Go로 재작성
MIT License

AI는 능력 문제가 아니라 통합 문제다. Daniel Miessler이 Fabric을 만들면서 던진 진단이다. 2022년 말 이후 수천 개의 AI 앱이 쏟아졌지만, 그걸 내 일상에 붙이는 방법은 여전히 막막하다. 챗봇 열고, 프롬프트 복붙하고, 모델 바꾸고—매번 똑같은 수작업.

Fabric은 이 문제를 정반대로 접근한다. 프롬프트를 파일로 구조화하는 것. CLI 하나로 모든 패턴을 실행할 수 있는 단일 인터페이스. 43k 스타를 받은 오픈소스 프로젝트를 7월 첫째 주에 깊이 들여다봤다.

프롬프트가 너무 많다

2023년, Miessler는 같은 문제에 부딪혔다. 프롬프트는 쌓이는데 관리가 안 된다. 새 프롬프트 발견도 어렵고, 이게 좋은 프롬프트인지 판단할 기준도 없고, 내가 좋아하는 버전을 관리할 방법도 없다.

그가 생각한 해결책은 단순했다. 프롬프트를 ‘패턴(Pattern)’이라는 단위로 표준화하고, 파일 시스템에 저장하며, CLI로 실행하는 것. GitHub에 올리면 커뮤니티가 검증하고, fork해서 개인화하고, PR로 기여한다. 마치 오픈소스 라이브러리처럼.

Fabric이 해결하는 것

  • 하나의 CLI — 모든 AI 모델(GPT, Claude, Gemini, Ollama 등 20+ vendor)을 단일 인터페이스로
  • 패턴 시스템 — 추출, 요약, 분석, 창작까지 100+ 사전 제작 프롬프트
  • 커스텀 패턴 — 내 프롬프트를 추가해도 업데이트에 안 날아감
  • YouTube 통합 — 영상 URL만 주면 트랜스크립트 + 댓글 + 메타데이터 자동 추출
  • 파이프라인 — 유닉스 철학 따라 | 로 연결
  • REST API + Ollama 호환 모드 — HTTP 서버로도 실행 가능
  • 멀티 전략 — Chain-of-Thought, Tree-of-Thought 등 8가지 추론 전략 내장

왜 Fabric인가

내가 Fabric에 주목한 이유는 하나다. 이미 이 패턴을 Drewgent에서 쓰고 있었기 때문이다.

Drewgent의 knowledge system은 opencode 플러그인 + SQLite FTS5 + Ollama embedding 구조다. recall() / remember() / memory-stats()라는 일관된 CLI로 모든 지식을 검색하고 저장한다. Fabric은 이걸 프롬프트 영역으로 확장한 것이다.

즉, Fabric은 AI 프롬프트의 recall()이라고 볼 수 있다. 프롬프트를 찾고, 실행하고, 공유하는 단일 인터페이스. 이 패턴의 보편성을 확인한 순간이었다.

어떻게 생겼나

설치는 한 줄이다.

curl -fsSL https://raw.githubusercontent.com/danielmiessler/fabric/main/scripts/installer/install.sh | bash

사용법도 직관적이다.

pbpaste | fabric --pattern summarize
fabric -y "https://youtube.com/watch?v=..." --pattern extract_wisdom
fabric -u "https://example.com" -p analyze_claims

유닉스 철학을 그대로 따른다. stdin으로 입력 받고, stdout으로 출력한다. |로 연결하면 조합이 무한해진다.

패턴: Fabric의 핵심

Fabric의 패턴은 ~/.config/fabric/patterns/ 아래에 디렉토리로 저장된다. 각 패턴은 system.md 하나로 구성된다. 예를 들어 extract_wisdom 패턴은:

  • ID, ROLE, STEPS를 명확히 정의
  • SUMMARY → IDEAS → INSIGHTS → QUOTES → HABITS → FACTS → REFERENCES → TAKEAWAY
  • 출력 형식을 세부 제어 (글자 수, bullet 형식, 중복 금지 등)

이걸 보면서 든 생각: 이게 AI 프롬프트의 미래다. 거대한 시스템 프롬프트 하나에 모든 걸 때려넣는 대신, 작고 검증된 패턴을 조합해서 원하는 결과를 얻는다. 마치 함수형 프로그래밍처럼.

Drewgent와의 연결점

Fabric을 분석하면서 세 가지 인사이트를 얻었다.

첫째, 파일 시스템 = API다. Fabric의 모든 패턴은 ~/.config/fabric/patterns/ 아래에 평범한 markdown 파일로 존재한다. 프롬프트를 관리하는 가장 단순한 방법이자 가장 강력한 방법. Drewgent의 P-layer 구조도 같은 원칙을 따른다.

둘째, CLI 우선 철학이다. Fabric은 REST API도 제공하고 Web UI도 있지만, 핵심 경험은 터미널이다. pbpaste | fabric --pattern summarize — 이 한 줄이면 끝. 복붙하고 모델 고르고 온도 조절할 필요가 없다.

셋째, 커뮤니티 검증이다. 43k 스타, 3,857 커밋, 200+ 컨트리뷰터. Fabric의 패턴은 Daniel Miessler 개인의 프롬프트가 아니라 오픈소스 커뮤니티가 함께 검증한 결과물이다. 이게 개인 프롬프트 수집과의 가장 큰 차이점이다.

아쉬운 점

Fabric에 몇 가지 아쉬운 점도 있었다.

  • 패턴 품질 편차 — 인기 패턴(extract_wisdom, summarize)은 훌륭하지만, 마이너 패턴은 아직 검증이 덜 됐다
  • Go 의존성 — 직접 빌드하려면 Go 설치가 필요하다 (다행히 Homebrew/github release로 바이너리 제공)
  • 한국어 최적화 부족 — 패턴이 기본적으로 영어 기준이라 한국어 콘텐츠 처리 시 추가 튜닝이 필요할 수 있다
  • 에코시스템 부재 — VS Code extension이나 Obsidian plugin 같은 통합이 없으면 CLI만으로는 진입장벽이 있다

설계 결정 비교

영역 Fabric 방식 Drewgent 방식 인사이트
저장소 ~/.config/fabric/patterns/ knowledge.db (SQLite FTS5) 파일 vs DB — 각각의 트레이드오프가 명확하다
실행 CLI (fabric -p <pattern>) recall() / remember() 프롬프트 실행 vs 지식 검색 — 목적이 다르다
공유 GitHub PR, 커뮤니티 기여 개인 vault, git Fabric은 생태계, Drewgent는 개인 최적화
모델 지원 20+ vendor, Ollama 호환 opencode-go (flash/pro/max) Fabric이 훨씬 넓지만 Drewgent는 단순함
확장 Extension 플러그인 + Custom 패턴 opencode plugin + MCP server 비슷한 방향, 다른 구현

써보니

Fabric은 프롬프트 관리의 표준을 제시한다. 개인이 프롬프트를 수집하던 시대는 끝났다. 이제는 오픈소스 커뮤니티가 검증한 패턴을, 단일 CLI로, 어떤 모델에서든 실행하는 시대.

내가 본 가장 인상적인 사용례는 파이프라인 조합이다. extract_wisdom으로 유튜브 영상 분석 → create_summary로 요약 → write_social_media로 포스트 생성. 3개 패턴을 |로 연결하면 끝. 각 패턴은 50줄짜리 markdown 파일 하나뿐인데, 조합하면 내가 상상한 것보다 훨씬 강력한 결과물이 나온다.

이 단순함이야말로 Fabric의 진짜 강점이다. 거대한 시스템 프롬프트 대신, 작은 패턴의 조합. Drewgent의 content pipeline도 같은 철학으로 가고 있다. 4개의 pillar writer가 각자 다른 toolset으로 작업하고, editor가 QA하는 구조. 하나의 에이전트가 모든 걸 하려다 실패하는 대신, 작은 단위로 쪼개서 조합한다.

Miessler의 말이 맞다. “AI isn’t a thing; it’s a magnifier of a thing.” 그리고 그 magnifier를 제대로 다루는 도구가 Fabric이다.

한 번 설치해보길 추천한다. 10초면 끝난다.

curl -fsSL https://raw.githubusercontent.com/danielmiessler/fabric/main/scripts/installer/install.sh | bash

그리고 fabric --setup 실행 후, 어떤 콘텐츠든 복사하고 pbpaste | fabric --pattern summarize 쳐보라. AI 프롬프트가 이렇게 단순해질 수 있다는 걸 느낄 테니까.

읽어줘서 고맙다.