Dify란
Dify는 LLM 애플리케이션을 구축하기 위한 오픈소스 플랫폼입니다. 비주얼 워크플로 캔버스, 수집부터 검색까지의 RAG 파이프라인, 마켓플레이스, MCP 서버 또는 사용자 정의 API의 도구를 쓰는 에이전트, 프롬프트 IDE, 백엔드 서비스형 API, Langfuse, Opik, Arize Phoenix 같은 관측성 도구와의 통합을 제공합니다. Dify Cloud를 쓰거나, Docker Compose로 Community Edition을 자체 호스팅하거나, SSO, RBAC, 지원 SLA를 더하는 Dify Enterprise를 문의할 수 있습니다. Code 노드는 샌드박스에서 Python 또는 JavaScript를 실행하고, Human Input 노드는 사람이 응답할 수 있도록 워크플로를 일시 중지합니다.
앱 빌더 대 통제되는 에이전트 플랫폼
Dify와 EDDI는 RAG, 도구, 에이전트에서 겹치지만 서로 다른 사람들을 위해 최적화되어 있습니다. Dify는 애플리케이션을 시각적으로 조립해 빠르게 출시하려는 빌더를 위해 최적화되어 있으며, 코드 노드가 탈출구입니다. EDDI는 에이전트 동작이 선언적이고 검토 가능한 구성이며 그 주위에 거버넌스가 있어야 하는 운영자를 위해 최적화되어 있습니다. 많은 팀이 Dify에서 시작하는 것은 합리적이며, 테넌시, 라이선스 또는 감사 요구사항이 생기면 옮기는 팀도 있습니다.
빌더의 편의성 대 운영 표면
| 항목 | Dify | EDDI |
|---|---|---|
| 핵심 추상화 | 프롬프트 IDE를 갖춘 비주얼 워크플로 및 챗플로 캔버스 | Config-as-code: Manager 또는 API에서 작성하고 소스처럼 버전 관리되는 JSON 리소스 |
| 라이선스 | Dify Open Source License: 조건이 붙은 Apache 2.0. 소스를 이용한 멀티 테넌트 운영에는 서면 승인이 필요하고, 프론트엔드의 로고와 저작권 표시를 유지해야 함 | Apache 2.0, OSI 승인 |
| 사용자 정의 로직 | Code 노드가 파일 시스템, 외부 네트워크, 시스템 명령을 차단하고 패키지 집합이 고정된 샌드박스에서 Python 또는 JavaScript를 실행 | 런타임 코드 평가 없음, 로직은 선언되거나 MCP 도구 또는 HTTP 호출 뒤에 있음 |
| Human in the loop | Human Input 노드가 웹 앱 또는 이메일로 답하는 양식을 위해 워크플로를 일시 중지, 기본 대기 3일 후 타임아웃 분기 | 턴, 도구 호출, 그룹 단계에 대한 게이트, 타임아웃 정책으로 WAIT_INDEFINITELY, AUTO_APPROVE, AUTO_REJECT, ABORT 제공, Manager 및 Slack 승인 |
| 도구와 통합 | 마켓플레이스, MCP 서버, 사용자 정의 API | 84개 MCP 도구, MCP 클라이언트, OpenAPI 가져오기, httpCall, A2A |
| RAG | 문서 추출을 갖춘 내장 지식 파이프라인 | 8개 임베딩 제공자, 6개 벡터 스토어, 그리고 인프라가 필요 없는 httpCall RAG |
| 멀티 에이전트 | 캔버스에서 에이전트와 워크플로 노드를 조합 | 7가지 스타일의 그룹 토론, 기록되는 결정과 반대 의견, 단계별 선택적 사람 승인 |
| ID와 접근 | 워크스페이스, Dify Enterprise를 통한 SSO와 RBAC | 오픈소스 빌드에서 eddi-admin 및 eddi-approver 역할을 갖춘 선택적 Keycloak/OIDC |
| 관측성과 감사 | 로그와 모니터링, Langfuse, Opik, Arize Phoenix와의 통합 | Prometheus 메트릭과 HMAC 서명, 추가 전용, 순번 검증 감사 원장 |
| 배포 | Dify Cloud, Docker Compose, 요청 시 Enterprise | Docker, Helm, Kustomize, OpenShift (Red Hat 인증 이미지, OperatorHub를 통한 Operator) |
다른 도구에 대한 내용은 2026년 10월 기준으로 공식 문서와 저장소를 확인한 것입니다. 이러한 프로젝트는 변화가 빠르므로, 결정하기 전에 해당 벤더에서 최신 동작을 확인하세요.
둘 사이에서 고르기
Dify가 더 나은 선택인 경우
- 비엔지니어가 읽고 확장할 수 있으며 만들면서 빠르게 피드백을 받을 수 있는 비주얼 캔버스를 원합니다.
- 플러그인 마켓플레이스와 준비된 워크플로 템플릿이 실제 통합 시간을 절약해 줍니다.
- 호스팅 옵션(Dify Cloud)을 원하며 직접 아무것도 운영하고 싶지 않습니다.
- Code 노드가 원하는 기능입니다: 워크플로 안에서 Python 또는 JavaScript로 하는 작은 데이터 변환.
- 자기 팀을 위한 하나의 내부 배포를 운영하므로 멀티 테넌트 라이선스 조건이 해당되지 않습니다.
EDDI가 더 나은 선택인 경우
- 법무팀이 하나의 배포에서 많은 테넌트나 고객에게 서비스하는 경우를 포함해 조건 없는 Apache 2.0 라이선스를 요구합니다.
- 보안 리뷰가 샌드박스 여부와 관계없이 자동화 플랫폼 내부의 코드 실행을 금지합니다.
- 특정 도구 호출이나 그룹 단계에 사람의 결정이 필요하며, 이를 서명된 원장에 기록해야 합니다.
- 에이전트 동작을 구성으로서 버전 관리하고, diff하고, 환경 간에 승격해야 합니다.
- Kubernetes, OpenShift 또는 로컬 모델을 쓰는 에어갭 배포가 필요합니다.
Dify에서 앱 옮기기
Dify 앱은 비주얼 그래프이고 EDDI 에이전트는 구성이므로, 이는 가져오기가 아니라 번역입니다. 가장 많은 고민이 필요한 부분은 Code 노드이며, 이는 구성 또는 선언된 도구가 됩니다.
| Dify | EDDI |
|---|---|
| 챗플로 또는 워크플로 | EDDI 에이전트: 파이프라인과 behavior rules |
| LLM 노드와 프롬프트 | 시스템 메시지와 버전 관리되는 프롬프트 스니펫을 갖춘 LLM 태스크 |
| 지식 베이스 | 임베딩 제공자와 벡터 스토어를 갖춘 EDDI RAG 지식 베이스 |
| 도구, 플러그인 또는 MCP 서버 | MCP 클라이언트 연결, httpCall, 또는 OpenAPI에서 가져온 API |
| Code node | Behavior rules와 프롬프트 로직, 실제 코드가 필요하면 MCP 도구 |
| Human Input node | 타임아웃 정책을 갖춘 PAUSE_CONVERSATION 규칙 또는 toolApprovals |
| 제공자 API 키 | Secrets Vault 항목, ${vault:key}로 참조 |
자주 묻는 질문
Dify는 오픈소스인가요?
Dify는 소스를 Dify Open Source License로 공개하며, 이는 추가 조건이 붙은 Apache 2.0입니다. 서면 승인 없이 소스로 멀티 테넌트 환경을 운영할 수 없고, 프론트엔드의 로고나 저작권 정보를 제거할 수 없습니다. 이는 EDDI가 사용하는 조건 없는 Apache 2.0과 다르므로, 두 조건 중 하나라도 해당될 수 있다면 법무팀과 함께 읽어 보세요.
EDDI에도 Dify 같은 비주얼 빌더가 있나요?
EDDI Manager는 에이전트를 구축, 배포, 모니터링하기 위한 프로덕션급 React UI이며 11개 언어로 제공됩니다. 노드 캔버스가 아니라 관리 인터페이스입니다. 에이전트, 프롬프트, 도구, 파이프라인을 구성하며, 모든 변경은 다이어그램이 아니라 버전 관리되는 리소스입니다.
EDDI는 왜 코드 노드를 두지 않나요?
샌드박스된 코드 노드는 합리적인 기능이며 Dify는 접근 가능한 범위를 제한합니다. 하지만 플랫폼 내부의 모든 코드 실행은 보안 리뷰가 검토해야 하는 공격 표면입니다. EDDI는 에이전트 동작을 선언적으로 유지하므로, 도구가 할 수 있는 일은 사용자가 선언하고 승인한 것입니다.
Dify와 EDDI를 함께 사용할 수 있나요?
네. Dify는 MCP 서버와 사용자 정의 API를 쓸 수 있고 EDDI는 MCP 서버와 REST API를 제공하므로, Dify 워크플로가 EDDI 에이전트를 통제되는 단계로 호출할 수 있습니다. EDDI도 httpCall로 Dify API를 호출할 수 있습니다.
