스마티지와 글 읽기 – DeerFlow – Deep Research를 위한 커뮤니티 기반 프레임워크

https://github.com/bytedance/deer-flow

 

여러분 안녕하십니까. 오늘 우리는 Bytedance에서 공개한 흥미로운 오픈소스 프로젝트, DeerFlow에 대해 자세히 살펴보겠습니다. DeerFlow는 **”Deep Research” (심층 연구)**를 위한 커뮤니티 기반 프레임워크로, 언어 모델(LLM)과 웹 검색, 크롤링, Python 코드 실행과 같은 다양한 도구들을 결합하여 강력한 연구 자동화 기능을 제공하는 것을 목표로 합니다.

DeerFlow (Deep Exploration and Efficient Research Flow) 란?

  • 오픈소스 기반의 심층 연구 프레임워크: DeerFlow는 오픈소스 커뮤니티의 놀라운 성과들을 기반으로 구축되었으며, 그 혜택을 다시 커뮤니티에 환원하는 것을 목표로 합니다.
  • LLM과 전문 도구의 결합: 언어 모델의 능력과 웹 검색, 웹사이트 크롤링, Python 코드 실행 등 특정 작업에 특화된 도구들을 결합하여 복잡한 연구 작업을 수행합니다.
  • 공식 웹사이트: deerflow.tech (현재 접속 시 다른 내용이 나올 수 있습니다. GitHub 정보 기준입니다.)

주요 기능 및 특징:

  • LLM 통합:
    • litellm을 통해 대부분의 모델 통합을 지원합니다.
    • Qwen과 같은 오픈소스 모델도 지원합니다.
    • OpenAI와 호환되는 API 인터페이스를 제공합니다.
    • 다양한 작업 복잡도에 대응하기 위한 다중 계층 LLM 시스템을 갖추고 있습니다.
  • 도구 및 MCP(Model Context Protocol) 통합:
    • 검색 및 검색: Tavily, Brave Search 등 다양한 웹 검색 엔진과 Jina를 이용한 크롤링, 고급 콘텐츠 추출 기능을 제공합니다.
    • MCP 원활한 통합: 개인 도메인 접근, 지식 그래프, 웹 브라우징 등 기능을 확장하고 다양한 연구 도구 및 방법론 통합을 용이하게 합니다.
  • 인간 협업 (Human-in-the-Loop):
    • 자연어를 사용하여 연구 계획을 대화형으로 수정할 수 있도록 지원합니다.
    • 연구 계획의 자동 승인 기능도 지원합니다.
    • 보고서 후편집: Notion과 유사한 블록 편집 기능을 지원하며, AI를 활용한 내용 다듬기, 문장 축약 및 확장 등의 개선이 가능합니다. (Tiptap 기반)
  • 콘텐츠 생성:
    • 팟캐스트 및 프레젠테이션 생성: AI 기반 팟캐스트 스크립트 생성 및 오디오 합성이 가능하며, 간단한 파워포인트 프레젠테이션 자동 생성 기능도 제공합니다.
    • 맞춤형 템플릿을 통해 원하는 콘텐츠를 제작할 수 있습니다.

데모 시연 내용:

제공된 deer-flow.mp4 데모 영상(GitHub 페이지에 언급)에서는 DeerFlow를 사용하여 다음 작업을 수행하는 방법을 보여줍니다.

  • MCP 서비스와 원활하게 통합합니다.
  • 심층 연구 프로세스를 수행하고 이미지를 포함한 포괄적인 보고서를 생성합니다.
  • 생성된 보고서를 기반으로 팟캐스트 오디오를 만듭니다.

또한, “에펠탑 높이 비교”, “GitHub 트렌딩 저장소”, “난징 전통 요리 기사 작성”, “임대 아파트 꾸미기” 등 다양한 주제의 연구 예시(Replays)를 공식 웹사이트에서 확인할 수 있다고 안내하고 있습니다.

아키텍처:

DeerFlow는 자동화된 연구 및 코드 분석을 위해 설계된 모듈식 다중 에이전트 시스템 아키텍처를 구현합니다. 이 시스템은 LangGraph를 기반으로 구축되어 구성 요소들이 잘 정의된 메시지 전달 시스템을 통해 통신하는 유연한 상태 기반 워크플로우를 가능하게 합니다.

주요 구성 요소는 다음과 같습니다.

  • 코디네이터(Coordinator): 워크플로우 수명 주기를 관리하는 진입점입니다. 사용자 입력을 기반으로 연구 프로세스를 시작하고, 플래너에게 작업을 위임하며, 사용자와 시스템 간의 기본 인터페이스 역할을 합니다.
  • 플래너(Planner): 작업 분해 및 계획을 위한 전략적 구성 요소입니다. 연구 목표를 분석하고 구조화된 실행 계획을 생성하며, 추가 연구 필요 여부를 결정하고 최종 보고서 생성 시점을 관리합니다.
  • 리서치팀(Research Team): 계획을 실행하는 전문 에이전트 모음입니다.
    • 연구원(Researcher): 웹 검색 엔진, 크롤링, MCP 서비스 등을 사용하여 웹 검색 및 정보 수집을 수행합니다.
    • 코더(Coder): Python REPL 도구를 사용하여 코드 분석, 실행 및 기술적 작업을 처리합니다.
  • 리포터(Reporter): 연구 결과물의 최종 단계 처리기입니다. 리서치팀의 결과를 집계하고, 수집된 정보를 처리 및 구조화하여 포괄적인 연구 보고서를 생성합니다.

설치 및 실행:

  • 환경: Python 3.12 이상, Node.js 22 이상이 필요합니다.
  • 권장 도구: uv (Python 환경 및 종속성 관리), nvm (Node.js 버전 관리), pnpm (Node.js 프로젝트 종속성 관리).
  • 설치 과정:
    1. Git 저장소 클론 (git clone https://github.com/bytedance/deer-flow.git)
    2. Python 종속성 설치 (uv sync)
    3. .env 파일 설정 (Tavily, Brave Search 등 API 키)
    4. conf.yaml 파일 설정 (LLM 모델 및 API 키)
    5. marp-cli 설치 (PPT 생성용, brew install marp-cli)
    6. (선택 사항) 웹 UI 종속성 설치 (cd web && pnpm install)
  • 실행:
    • 콘솔 UI: uv run main.py
    • 웹 UI: ./bootstrap.sh -d (macOS/Linux) 또는 bootstrap.bat -d (Windows) 실행 후 브라우저에서 http://localhost:3000 접속.
  • Docker 지원: Docker 및 Docker Compose를 사용하여 백엔드와 프론트엔드를 함께 실행할 수 있습니다.

지원되는 검색 엔진:

  • Tavily (기본값, AI 애플리케이션용 특수 검색 API)
  • DuckDuckGo (개인 정보 보호 중심)
  • Brave Search (개인 정보 보호 중심, 고급 기능)
  • Arxiv (학술 연구용 과학 논문 검색)

.env 파일의 SEARCH_API 변수를 통해 원하는 검색 엔진을 설정할 수 있습니다.

텍스트 음성 변환(TTS) 통합:

  • volcengine TTS API를 사용하여 연구 보고서를 음성으로 변환하는 기능을 제공합니다.
  • 속도, 볼륨, 피치 조절이 가능합니다.
  • /api/tts 엔드포인트를 통해 TTS 기능에 접근할 수 있습니다.

개발 및 디버깅:

  • 테스팅: make testpytestmake coverage 명령어를 통해 테스트를 실행합니다.
  • 코드 품질: make lint (린팅), make format (코드 포맷팅)을 지원합니다.
  • LangGraph Studio를 이용한 디버깅:
    • DeerFlow는 워크플로우 아키텍처에 LangGraph를 사용하며, LangGraph Studio를 통해 워크플로우를 실시간으로 디버깅하고 시각화할 수 있습니다.
    • 로컬에서 langgraph dev 명령어를 사용하여 LangGraph 서버를 시작하고, 브라우저에서 Studio UI에 접속하여 워크플로우 그래프 시각화, 실시간 실행 추적, 각 단계의 상태 검사, 입력/출력 검사를 통한 문제 디버깅, 계획 단계에서의 피드백 제공 등이 가능합니다.
  • LangSmith 트레이싱 활성화: .env 파일에 LangSmith 관련 설정을 추가하고 langgraph dev를 실행하면 LangGraph Studio에서 트레이스 시각화 및 LangSmith를 통한 모니터링/분석이 활성화됩니다.

라이선스 및 기여자:

  • MIT 라이선스로 제공되는 오픈소스 프로젝트입니다.
  • LangChain, LangGraph 등 오픈소스 프로젝트에 감사를 표하고 있습니다.
  • 주요 기여자는 Daniel Walnut, Henry Li 입니다.

결론:

DeerFlow는 언어 모델과 다양한 연구 도구를 결합하고, 인간의 피드백을 통합하여 심층 연구 프로세스를 자동화하고 효율화하는 것을 목표로 하는 강력한 오픈소스 프레임워크입니다. 특히 LangGraph 기반의 유연한 아키텍처와 다양한 외부 서비스(검색 엔진, TTS 등) 연동 기능, 그리고 상세한 개발 및 디버깅 지원은 연구자와 개발자 모두에게 매력적인 선택지가 될 수 있을 것입니다.

About the Author
(주)뉴테크프라임 대표 김현남입니다. 저에 대해 좀 더 알기를 원하시는 분은 아래 링크를 참조하세요. http://www.umlcert.com/kimhn/

Leave a Reply

*