Dify 리뷰 2026: 오픈 소스 LLM 앱 빌더
요약
Dify v1.14.2는 RAG 파이프라인, 에이전트 오케스트레이션, 워크플로우 빌더를 통합 제공하는 오픈 소스 LLM 앱 빌더입니다. 모델 서빙 대신 모델 계층 위의 애플리케이션 스택을 관리하며, Docker Compose를 통해 셀프 호스팅이 가능합니다.
핵심 포인트
- RAG, 에이전트, 워크플로우를 통합 관리하는 LLM 앱 스택 제공
- Ollama, OpenAI 등 다양한 모델 엔드포인트와 연결 가능
- Docker Compose를 통한 11개 컨테이너 기반의 복합적인 배포 구조
- 모델 서빙 기능은 없으며 모델 계층 위의 추상화에 집중
이 기사는 원래 aifoss.dev에 게시되었습니다.
title: 'Dify 리뷰 2026: 오픈 소스 LLM 앱 빌더'
description: 'Dify v1.14.2 리뷰: 셀프 호스팅(self-hosted) LLM 앱을 위한 시각적 워크플로우 빌더, RAG 파이프라인, 그리고 MCP 연결 에이전트. 설치 방법, 기능, 그리고 사용을 건너뛰어야 할 때.'
pubDate: '2026년 5월 26일'
tags: ["dify", "ai", "nocode", "selfhosted", "llm"]
Dify는 워크플로우 빌더(workflow builder), RAG 파이프라인(RAG pipeline), 에이전트 오케스트레이션(agent orchestration), 모델 관리(model management), 그리고 관측성(observability)을 포함한 전체 LLM 앱 스택을 구성하고 싶을 때, 구성 요소들을 직접 조립할 필요 없이 자신의 하드웨어에서 실행할 수 있게 해주는 도구입니다. 이것이 가치 있는 거래인지 여부는 사용자가 인프라의 복잡성을 얼마나 감수할 용의가 있는지에 달려 있습니다.
테스트된 버전: v1.14.2, 2026년 5월 기준. Docker Compose를 통해 Linux에 배포되었습니다.
Dify란 무엇인가 (그리고 무엇이 아닌가)
Dify는 LLM 러너(runner)가 아닙니다. 모델을 서빙하지 않습니다. 대신 Ollama, LM Studio, vLLM 또는 모든 OpenAI 호환 로컬 엔드포인트(endpoint)를 통해, 혹은 Anthropic, OpenAI, Gemini, DeepSeek와 같은 호스팅된 제공업체에 직접 연결하여 모델에 접속합니다.
Dify가 관리하는 것은 모델 계층(model layer) 위의 모든 것입니다. 즉, 문서를 컨텍스트(context)에 공급하는 RAG 파이프라인, 노드 간의 데이터 흐름을 결정하는 워크플로우 그래프(workflow graph), 어떤 도구를 호출할지 결정하는 에이전트 루프(agent loop), 그리고 문제가 발생했을 때 디버깅할 수 있게 해주는 관측성 훅(observability hooks)입니다.
Dify의 핵심 제안은 LangChain, 벡터 데이터베이스(vector database), 작업 큐(task queue), 그리고 커스텀 프론트엔드(custom frontend)를 직접 연결하는 대신, 단일 셀프 호스팅(self-hosted) Docker 배포를 통해 이 모든 것을 얻는 것입니다. 이는 진정으로 유용합니다. 문제는 이 추상화 계층(abstraction layer)이 귀하의 요구 사항에 부합하는지, 아니면 요구 사항을 달성하는 데 장애물이 되는지 여부입니다.
설치
Docker Compose가 표준 배포 경로입니다. 공식 문서에 따른 하드웨어 요구 사항은 다음과 같습니다:
- 최소 (Minimum): 2 CPU 코어, 4 GB RAM
- 운영 환경 권장 (Recommended for production): 4+ 코어, 16 GB RAM
- 동일한 머신에서 로컬 모델도 함께 실행하는 경우: 7B 파라미터 모델당 8+ GB RAM 추가
- 스토리지 (Storage): 컨테이너 이미지 및 영구 데이터(persistent data)를 위해 50+ GB
- Docker Compose: 2.24.0 이상
스택의 규모가 상당합니다. 기본 배포 시 API 서버, 백그라운드 워커(background worker), 웹 프론트엔드(web frontend), Nginx 리버스 프록시(reverse proxy), PostgreSQL, Redis, 그리고 Weaviate(번들로 포함된 벡터 데이터베이스(vector database))까지 총 11개의 컨테이너가 실행됩니다. 200 MB 정도의 가벼운 설치가 아닙니다. 사양이 낮은 VPS나 홈 서버에서는 이 11개의 컨테이너가 차지하는 자원이 빠르게 누적됩니다.
설치 순서:
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
...
컨테이너가 초기화되면 http://localhost에서 웹 UI를 사용할 수 있습니다. 첫 실행 시 이미지 풀(image pulls)을 위해 몇 분 정도 소요됩니다. 시작하기 전에 .env 파일을 편집하여 실제 SECRET_KEY 값을 설정하십시오. v1.14.1부터는 보안이 강화된 배포를 위해 더 이상 저장소(repo)의 공개 기본 키에 의존하지 않습니다.
업그레이드:
cd dify/docker
git pull origin main
docker compose down
...
데이터베이스 마이그레이션(Database migrations)은 시작 시 자동으로 실행됩니다. 수동 마이그레이션 명령어가 필요하지 않으며, 이는 프로젝트가 올바르게 처리하고 있는 세부 사항 중 하나입니다.
로컬 GPU 기반 모델로 Dify를 실행하고 싶지만 전용 서버 하드웨어가 없는 팀의 경우, RunPod에서 GPU 인스턴스를 대여하여 동일한 환경에서 Dify와 Ollama 서버를 모두 실행할 수 있습니다. 하드웨어를 확정하기 전 평가 단계에서 유용합니다. Dify를 장기적으로 호스팅할 제대로 된 홈 랩 (home lab) 서버를 구축하려면, runaihome.com에서 하드웨어 규모 산정 및 구축 시의 트레이드오프(tradeoffs)를 다루고 있습니다.
핵심 기능 (Core capabilities)
시각적 워크플로우 빌더 (Visual workflow builder)
드래그 앤 드롭 방식의 캔버스를 통해 노드(node)를 AI 파이프라인(pipeline)으로 연결할 수 있는 것이 핵심입니다. 노드 유형에는 LLM 호출, 코드 실행 (Python 또는 JavaScript 인라인), HTTP 요청, 지식 베이스 검색 (knowledge base retrieval), 조건부 분기 (conditional branches), 루프 (loops), 변수 할당, 그리고 도구 호출 (tool calls) 등이 포함됩니다. v1.14.0 버전에서는 협업 편집 기능이 추가되었습니다. 이를 통해 여러 워크스페이스 멤버가 실시간 커서 표시 및 동기화된 그래프 업데이트를 통해 동일한 워크플로우에서 동시에 작업할 수 있습니다.
워크플로우의 각 노드는 디버그 패널 (debug panel)에서 입력값, 출력값, 그리고 실행 시간을 노출합니다. 다단계 파이프라인이 오작동할 때, 어떤 노드에서 문제가 발생했는지와 해당 노드가 어떤 데이터를 받았는지 정확하게 추적할 수 있습니다. 이러한 가시성 없이 5개의 노드 체인 중간에서 조용히 실패하는 챗봇을 디버깅하는 것은 매우 고통스러운 일입니다. 하지만 이 기능이 있으면 보통 2분 이내에 실패 원인을 명확히 파악할 수 있습니다.
이 지점에서 Dify는 이 카테고리에서 가장 프로덕션 준비가 된 (production-ready) 옵션이라는 명성을 얻습니다. LangGraph만큼 코드 중심적이지 않으면서도, n8n만큼 자동화 범위가 넓지 않으며, Flowise의 체인 빌딩 (chain-building) 방식보다 더 견고한 도구를 갖추고 있습니다.
RAG 파이프라인 (RAG pipeline)
Dify의 지식 베이스 (knowledge base) 기능은 문서 수집 (ingestion), 청킹 (chunking), 임베딩 (embedding), 그리고 검색 (retrieval)을 처리합니다. 지원되는 문서 형식에는 PDF, DOCX, PPTX, 일반 텍스트 및 URL이 포함됩니다. 기본 벡터 스토어 (vector store)는 Weaviate이며, 배포 제약 조건에 따라 Qdrant, Chroma, TiDB Vector 또는 Pinecone으로 교체할 수 있는 옵션을 제공합니다.
검색 모드: 시맨틱 검색 (semantic search), 전체 텍스트 검색 (full-text search), 그리고 하이브리드 (hybrid, 두 방식을 re-ranking과 함께 결합) 방식이 있습니다. 2025년 릴리스에서 추가된 지식 파이프라인 (Knowledge Pipeline)은 원본 문서에서 인덱싱된 청크 (indexed chunks)까지의 ETL 경로를 시각적으로 보여줍니다. 이러한 가시성은 단순한 청킹 (naive chunking) 설정에서 실제로 발생하는 문제인, 검색 시 찾아야 할 콘텐츠를 놓치는 이유를 진단하는 데 도움을 줍니다.
문서화 과정에서 과소평가된 한 가지 사실은, 기본 청킹 (chunking) 설정이 긴 문서에서 검색 정확도 (retrieval accuracy)를 저해하는 파편들을 빈번하게 생성한다는 점입니다. RAG 파이프라인을 프로덕션 환경에 적합한 수준(production-ready)으로 간주하기 전에, 청크 크기 (chunk size), 오버랩 (overlap), 그리고 임베딩 모델 (embedding model) 선택을 조정하는 데 시간을 할애할 계획을 세우십시오. 인프라는 견고하지만, 기본 설정은 시작점일 뿐 결승선이 아닙니다.
자체 호스팅 RAG 접근 방식에 대한 집중적인 비교를 원하신다면, AnythingLLM 리뷰가 해당 스펙트럼의 더 단순한 측면을 다루고 있습니다. 이는 Dify가 기본적인 문서 채팅 설정에 비해 무엇을 추가하고 있는지 이해하는 데 유용한 맥락을 제공합니다.
에이전트 기능 (Agent capabilities)
Dify는 두 가지 에이전트 실행 전략을 지원합니다: 함수 호출 (Function Calling, 이를 네이티브로 지원하는 모델용)과 ReAct (reasoning + acting loop, 지원하지 않는 모델용)입니다. 워크플로우 내의 에이전트 노드 (Agent node)를 사용하면 도구 (tools), 지식 베이스 (knowledge bases), 그리고 조건부 로직 (conditional logic)을 결합할 수 있습니다. 이는 단순히 재시도 로직이 포함된 프롬프트 래퍼 (prompt wrapper)가 아니라, 제대로 된 에이전트 프리미티브 (agent primitive)입니다.
내장된 도구에는 웹 검색, Wikipedia, DALL-E, Wolfram Alpha, 그리고 Dify 마켓플레이스 (Dify Marketplace)를 통해 접근 가능한 커뮤니티 플러그인 카탈로그가 포함됩니다. v1.6.0부터 Dify는 MCP를 양방향으로 지원합니다. 즉, 임의의 외부 MCP 서버를 도구 소스로 연결할 수 있으며, 자체 에이전트와 워크플로우를 다른 클라이언트가 호출할 수 있는 MCP 서버로 노출할 수도 있습니다. 이를 통해 별도의 커스텀 API 래퍼 없이도 파일 시스템, GitHub, 데이터베이스, 브라우저 등을 다룰 수 있습니다. 그렇지 않았다면 개별적인 도구 구현이 필요했을 통합 목록들입니다.
v1.13.0에서는 휴먼 인풋 노드 (Human Input nodes)가 추가되어, 워크플로우가 실행을 일시 중지하고 사람의 결정이 내려질 때까지 기다렸다가 재개할 수 있게 되었습니다. 실제로 사람의 개입이 필요한 승인 파이프라인 (approval pipelines)이나 콘텐츠 모더레이션 (content moderation) 흐름의 경우, 이것이 가장 적절한 프리미티브입니다. 웹훅 (webhook)을 덧붙이는 것보다 훨씬 더 신뢰할 수 있습니다.
모델 지원 (Model support)
Dify는 모델을 로컬에서 실행하기보다 제공자 통합 (provider integrations)을 통해 모델로 라우팅합니다. 100개 이상의 구성이 지원됩니다:
- API를 통한 로컬 실행 (Local via API): Ollama, LM Studio, vLLM, LocalAI, LiteLLM
- 호스팅 서비스 (Hosted): OpenAI, Anthropic, Gemini, DeepSeek, Mistral, Cohere, Groq, Together.ai
- 커스텀 엔드포인트 (Custom endpoint): 모든 OpenAI 호환 API 베이스 URL (OpenAI-compatible API base URL)
워크플로우 (workflow) 내에서 모델을 전환하는 것은 YAML을 편집하는 것이 아니라 드롭다운 메뉴를 통한 변경입니다. 이러한 추상화 (abstraction)는 이 프로젝트에서 가장 뛰어난 UX (사용자 경험) 결정 중 하나입니다. Settings → Model Provider에서 제공자 자격 증명 (provider credentials)을 한 번만 설정하면, 모든 워크플로우가 해당 제공자 풀 (provider pool)을 공유합니다.
Dify에 연결할 로컬 LLM 실행기 (runner)를 평가 중이라면, Ollama 리뷰에서 하드웨어 요구 사항과 모델 지원에 대해 자세히 다루고 있습니다.
관측 가능성 (Observability)
모든 워크플로우 실행은 입력 (inputs), 출력 (outputs), 토큰 수 (token counts), 그리고 노드 수준의 지연 시간 (node-level latency)을 기록합니다. Dify는 외부 트레이싱 (external tracing)을 위해 Langfuse, Opik, 그리고 Arize Phoenix와 통합됩니다. v1.14.2에서 사양 (spec)
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기