Dify 사용법: AI 앱 및 에이전트를 빠르게 구축하는 실용적인 가이드
복잡한 코드를 씨름하지 않고도 즉시 사용 가능한 AI 챗봇, 검색 증강 QA 시스템 또는 자동화된 에이전트를 구축할 수 있기를 바랐다면 Dify는 여러분을 위해 만들어졌습니다. 시각적 워크플로 빌더, 프롬프트 관리, RAG(검색 증강 생성) 및 도구 통합을 하나의 간소화된 플랫폼으로 결합합니다. 이 실용적이고 솔루션 지향적인 가이드에서는 첫 번째 로그인부터 세련된 AI 앱 배포에 이르기까지 Dify를 사용하는 방법을 정확히 배우게 됩니다.
참고: Dify는 드래그 앤 드롭 워크플로와 앱 템플릿을 통해 가치 창출 시간을 획기적으로 단축하는 선도적인 에이전트 기반 AI 개발 플랫폼으로 자리매김하고 있습니다. 직접 체험하는 것을 선호하는 경우 챗 앱 및 데이터 세트 기반 어시스턴트를 위한 엔드 투 엔드 빌드와 HTTP 노드 및 JSON 처리와 같은 핵심 블록을 마스터하기 위한 커뮤니티 큐레이팅 가이드를 보여주는 견고한 초보자 친화적인 튜토리얼이 있습니다. 체계적인 데모 프로젝트 경험을 위해 단계별 튜토리얼도 제공됩니다.
이 가이드에서는 다음 내용을 다룹니다.
- 첫 번째 앱 구축 (챗봇 및 RAG 어시스턴트)
또한 실용적인 팁, 일반적인 함정 및 시간을 절약할 수 있는 패턴을 함께 제공하여 더 빠르고 자신감 있게 출시할 수 있도록 하겠습니다.
Dify란 무엇이며 왜 사용해야 할까요?
Dify는 시각적 캔버스를 통해 AI 애플리케이션을 구성하기 위한 로우/노코드 플랫폼으로, 프롬프트 오케스트레이션, 상태 처리, RAG 및 에이전트 기능을 내장하고 있습니다. 배관 작업을 획기적으로 줄이고 다음을 수행하는 데 도움이 됩니다.
- 자체 지식 기반으로 검색 증강 생성(RAG) 구현
- 사용자 정의 글루 코드 없이 도구(웹 검색, API, 데이터베이스) 통합
- 프롬프트를 반복하고, 성능을 추적하고, 엔드 투 엔드로 추적 관찰
Dify의 시각적 워크플로와 앱 템플릿은 신속하게 프로토타입을 제작하고 프로덕션으로 발전해야 하는 팀에게 특히 매력적입니다. 타사 튜토리얼 및 데모는 제로에서 작동하는 앱으로 빠르게 이동하는 데 도움이 될 수 있으며 데이터 검색을 사용하는 에이전트 패턴에 자주 사용됩니다. 평가 및 확장을 위한 준비가 되면 관찰 가능성 통합도 사용할 수 있습니다.
빠른 시작: 계정, 모델 및 키
- 클라우드(가장 빠름)를 선택하거나 전체 제어가 필요한 경우 나중에 자체 호스팅을 준비하세요.
- 설정에서 선호하는 LLM(예: OpenAI, Anthropic 등)에 연결합니다.
- API 키를 안전하게 추가합니다. 작은 프롬프트로 연결을 확인하기 위해 테스트합니다.
- 새 앱 또는 워크플로를 만듭니다. 명확하게 이름을 지정합니다(예: "고객 지원 RAG" 또는 "리드 자격 부여 에이전트").
- 첫 번째 결과물(챗 앱, 내부 도구 또는 에이전트)을 결정합니다.
팁: 빠른 반복을 위해 기준 모델로 시작한 다음 나중에 고급 모델로 교체하세요.
몇 분 만에 첫 번째 챗 앱 구축
다음은 유용한 챗 어시스턴트를 구축하는 간단한 방법입니다.
- 앱 갤러리에서 "챗" 템플릿을 선택합니다. 이렇게 하면 즉시 사용할 수 있는 메시징 스캐폴딩이 제공됩니다.
- 역할, 어조, 경계 및 출력 형식을 정의합니다. 예:
"당신은 간결하고 친절한 제품 어시스턴트입니다. 항상 출처를 인용하고, 단계에 대한 글머리 기호를 사용하고, 사용자의 요청이 모호한 경우 명확하게 묻는 질문을 하나 합니다."
- 일관된 동작을 유도하기 위해 모범적인 Q&A 쌍을 보여줍니다.
- 내장된 챗 테스터를 사용하여 실제 쿼리를 시도합니다.
- 스타일에 맞게 시스템 프롬프트를 조정하고 창의성을 위해 온도를 조정합니다.
- 필요에 따라 중지 시퀀스, 최대 토큰 및 콘텐츠 필터를 정의합니다.
- 앱의 공유 링크를 활성화하거나 위젯을 통해 임베드합니다.
실제로 해보면서 배우는 것이 가장 빠릅니다. 비디오 연습은 각 클릭을 시각화하는 데 도움이 될 수 있습니다.
RAG 어시스턴트(지식 인식 챗)로 전환
RAG를 사용하면 어시스턴트가 개인 문서, FAQ 또는 위키 콘텐츠로 답변할 수 있습니다.
- PDF, 마크다운을 업로드하거나 데이터 소스에 연결합니다.
- Dify는 콘텐츠를 청크로 나누고, 임베드하고, 인덱싱합니다.
- 임베딩 모델 및 청크 크기를 선택합니다. 청크가 클수록 컨텍스트가 유지됩니다. 청크가 작을수록 세분성이 향상됩니다. 400–800 토큰으로 시작합니다.
- 상위 k개 결과(예: 4–8), 관련성 임계값 및 선택적 재정렬을 선택합니다.
- 정확성을 위해 필터(예: 태그 또는 문서 유형별)를 추가합니다.
- 워크플로 캔버스 또는 앱의 RAG 토글을 사용하여 검색된 컨텍스트를 프롬프트에 삽입합니다. 최종 답변 템플릿에 인용문을 포함합니다.
- 쉽고 까다로운 쿼리를 모두 시도합니다. 인용, 서식 및 대기 시간을 확인합니다.
Milvus와 같은 벡터 데이터베이스를 사용하는 경우 강력한 RAG 파이프라인을 위해 Dify를 통합하는 단계별 연습이 있습니다.
시각적 워크플로: 다단계 로직 자동화
Dify의 캔버스를 사용하면 단계를 연결하고, 로직을 분기하고, 도구를 호출할 수 있습니다.
일반적인 블록:
- 입력/출력: 들어오는 사용자 데이터 및 최종 응답에 대한 스키마를 정의합니다.
- LLM 노드: 프롬프트를 작성하고, 모델을 설정하고, 온도를 제어합니다.
- HTTP 노드: 외부 API(검색, CRM, 내부 서비스)를 호출합니다.
- 코드 노드: 경량 변환, 구문 분석 또는 유효성 검사를 실행합니다.
- 조건/분기: 사용자 의도 또는 데이터에 따라 경로를 라우팅합니다.
예: 웹 검색 어시스턴트
- 의도 감지 → "연구"인 경우 검색을 위해 HTTP 노드를 호출 → LLM으로 결과 요약 → 출처와 함께 글머리 기호 발견 사항 반환.
HTTP 노드 연결 및 JSON 응답 구문 분석에 대한 구체적인 방법은 커뮤니티 튜토리얼이 도움이 됩니다.
에이전트: 도구 사용, 다단계 추론
Dify의 에이전트는 계획, 도구 선택 및 반복적인 추론을 결합하여 목표를 완료합니다.
에이전트를 사용해야 하는 경우:
- 작업에 다단계 계획이 필요합니다("연구 → 비교 → 요약").
- 어시스턴트가 도구(웹 검색, 데이터베이스, 계산기, 내부 API)를 호출해야 합니다.
- 모델이 다음 작업을 동적으로 결정하기를 원합니다.
에이전트 구축:
- 시스템 프롬프트에서 목표 및 제약 조건을 정의합니다.
- 도구(HTTP, 검색, 데이터 검색, 사용자 정의 기능)를 등록합니다.
- 계획 활성화: 모델이 단계를 제안하고 작업을 비판하도록 합니다.
- 최대 단계, 시간 제한 및 도구 예산을 설정합니다.
- 다양한 작업으로 테스트하고 추적을 감시하여 루프를 진단합니다.
사용 사례에 정확한 웹 데이터 검색이 필요한 경우 Dify를 특수 데이터 플러그인과 페어링하여 에이전트 기능을 강화할 수 있습니다.
커넥터 및 도구: 스택 가져오기
Dify는 커넥터 및 HTTP 노드를 통해 외부 서비스와 통합됩니다.
- CRM 및 헬프 데스크(예: Salesforce, Zendesk)
모범 사례:
- 응답을 JSON으로 정규화하고 스키마의 유효성을 검사합니다.
- 모델이 도구를 사용할 시기를 알 수 있도록 도구 설명을 간결하게 유지합니다.
Dify의 프롬프트 엔지니어링
프롬프트를 모듈화하고 테스트 가능하게 만드세요.
- 사용자 입력, 검색된 컨텍스트 및 도구 출력에 변수를 사용합니다.
- 다운스트림 구문 분석을 위해 JSON 또는 글머리 기호 목록으로 출력 형식을 표준화합니다.
- 오류를 줄이기 위해 단계별 루브릭(예: "번호가 매겨진 단계로 생각하기")을 제공합니다.
- 시스템 프롬프트에 거부 정책 및 스타일 가이드를 포함합니다.
반복 루프:
- 일괄 평가를 실행하고 모델 설정을 비교합니다.
- 실패 사례를 기록하고 새 예제 또는 분기를 만듭니다.
관찰 가능성, 테스트 및 최적화
프로토타입에서 파일럿으로 졸업할 때 관찰 가능성 및 추적이 중요합니다. 추적을 추가하여 토큰 사용량, 대기 시간 및 단계별 결정을 확인하여 품질을 디버그하고 개선할 수 있습니다.
출시 전 주요 검사:
- 에지 케이스: 빈 입력, 긴 입력, 주제에서 벗어난 쿼리
사용자에게 배포
Dify는 여러 배포 경로를 지원합니다.
운영 팁:
- 자주 사용하는 답변을 캐시하고 검색 미리 가져오기
- 시간 초과 및 업스트림 모델 오류에 대한 알림 설정
팀 협업 및 거버넌스
앱이 성장함에 따라:
- 역할 기반 액세스 제어를 사용하고 개발/스테이징/프로덕션을 분리합니다.
- 프롬프트/워크플로를 버전 관리합니다. 릴리스에 태그 지정
다음에 시도할 고급 패턴
- 구조화된 출력을 위한 엄격한 JSON 스키마를 사용한 기능 호출
- 더 나은 회수를 위한 하이브리드 검색(BM25 + 임베딩)
- 다중 벡터 RAG(제목, 본문, 메타데이터 임베딩)
- 정규식 또는 JSON 스키마 유효성 검사를 통한 가드레일
문제 해결: 일반적인 함정 및 수정 사항
- 에이전트가 루프되거나 시간이 너무 오래 걸립니다.
- 최대 단계를 낮추고, 도구 설명을 강화하고, 중지 조건을 추가합니다.
- 청크 분할을 조정하고, 메타데이터 필터를 추가하고, 재정렬을 시도하고, 상위 k개를 조정합니다.
- JSON 스키마를 적용하고, 예제를 추가하고, 온도를 낮춥니다.
- 검색을 캐시하고, 도구 호출을 병렬화하고, 더 빠른 모델로 전환합니다.
- 시스템 제약 조건을 강화하고, 항상 출처를 인용하고, RAG 및 검증 단계를 선호합니다.
참고: 콘텐츠 워크플로 속도 향상
목표가 콘텐츠 아이디어 구상, 초안 작성 및 연구 종합인 경우 Dify로 구축된 어시스턴트는 일상적인 글쓰기 및 요약을 위해 Sider.AI와 같은 생산성 도구와 잘 어울립니다. Sider는 브라우저와 함께 앉아 콘텐츠를 빠르게 초안 작성, 번역 및 분석하는 데 도움이 될 수 있습니다. Dify 기반 RAG 백엔드와 결합하면 정확한 도메인 컨텍스트와 원활한 제작 경험을 모두 얻을 수 있습니다(https://sider.ai/). 주요 내용
- 챗 템플릿으로 간단하게 시작한 다음 RAG 및 도구를 계층화합니다.
- 워크플로 캔버스를 사용하여 로직을 시각화하고 깨지기 쉬운 코드를 피합니다.
- 프롬프트를 코드처럼 취급합니다. 버전 관리, 테스트 및 평가
- 모든 것(추적, 비용, 대기 시간)을 관찰하여 자신 있게 확장합니다.
- 에이전트는 강력하지만 가드레일과 예산은 신뢰성을 유지합니다.
추가 리소스
- AI 앱 구축을 위한 초보자 친화적인 비디오 튜토리얼.
- HTTP 노드 및 JSON 처리에 대한 커뮤니티 가이드.
- 웹 데이터 검색 플러그인을 사용하여 에이전트 구축.
- Dify 및 Milvus 연습을 통한 RAG.
FAQ
Q1:Dify는 무엇에 사용되나요?
Dify는 시각적 워크플로, 프롬프트 오케스트레이션 및 RAG를 사용하여 AI 앱 및 에이전트를 구축하기 위한 플랫폼입니다. 팀이 챗봇, 지식 어시스턴트 및 자동화를 신속하게 만드는 데 도움이 됩니다.
Q2:Dify에서 RAG 챗봇을 어떻게 만드나요?
데이터 세트를 만들고, 임베딩 및 검색을 구성한 다음, 워크플로를 통해 검색된 컨텍스트를 프롬프트에 삽입합니다. 정확도를 최적화하기 위해 상위 k개, 청크 크기 및 재정렬을 테스트합니다.
Q3:Dify가 내 API 및 도구에 연결할 수 있나요?
예. HTTP 노드 및 커넥터를 사용하여 웹 서비스, 데이터베이스 및 검색 API를 호출합니다. 응답을 JSON으로 유지하고 에이전트가 올바르게 사용할 수 있도록 명확한 도구 설명을 정의합니다.
Q4:에이전트가 루프되는 것을 어떻게 멈추나요?
최대 단계를 줄이고, 종료 기준을 추가하고, 도구 지침을 강화합니다. 관찰 가능성 및 추적은 루프가 발생하는 위치를 식별하는 데 도움이 되므로 프롬프트 및 도구 로직을 조정할 수 있습니다.
Q5:Dify 워크플로를 평가하는 가장 좋은 방법은 무엇인가요?
테스트 세트를 만들고, 일괄 평가를 실행하고, 대기 시간 및 비용에 대한 추적을 검사합니다. 환각을 추적하고, 구조화된 출력을 적용하고, 예제를 사용하여 프롬프트를 반복합니다.