LangChain: 작업그래프(Workflow/Task Graph)

calico·2025년 5월 14일

Artificial Intelligence

목록 보기
24/144

참고


1. Langchain이란?


  • Langchain은 LLM(대형 언어 모델, 예: GPT-4)과 다양한 데이터 소스(문서, 데이터베이스, API 등)를 연결하여 복잡한 어플리케이션(예: 챗봇, Q&A 시스템 등)을 만드는 프레임워크입니다.

    • 핵심 개념은 여러 가지 "체인" (Chain), "에이전트"(Agent), "도구"(Tool) 등을 조합하여 다양한 작업을 처리하도록 설계할 수 있다는 점입니다.

2. 작업그래프(Workflow/Task Graph)란?


  • 작업그래프란 여러 개의 작업(태스크)이 특정한 순서와 의존관계에 따라 연결되어 있는 구조를 말합니다.

    • 즉, "어떤 작업이 끝나야 다음 작업이 돌아갈 수 있다"는 등, 단순한 순서 나열이 아니라 복잡한 관계를 갖는 일을 시각화하거나 관리하는 개념입니다.
  • 예시)

    • "A -> B -> C" : 순차적으로 일어남

    • "A -> {B, C} -> D" : A가 완료되면 동시에 B, C가 실행되고, 둘 다 끝나야 D가 실행



3. Langchain과 작업그래프의 연결


연결점 1) 체인(Chain)은 곧 작업(Task)


  • Langchain의 "Chain"은 일종의 작업(Task)입니다.

    • 입력을 받아 변환, 처리, 결과 산출 등 하나의 작은 논리 단위(작업)를 수행합니다.



연결점 2) 여러 체인을 연결 = 작업그래프


  • 여러 개의 Chain(작업)을 연결하여, 복잡한 흐름(Workflow, Task Graph)을 만들 수 있습니다.

  • langchain에서는 그런 흐름을 만드는 방법 몇 가지가 있습니다.

    1. SimpleSequentialChain: 모든 작업(Chain)이 순서대로 연결
      (ex. Chain1 → Chain2 → Chain3...)

    2. SequentialChain: 여러 개의 입력, 여러 개의 출력을 복잡하게 연결
      (ex. Chain1의 출력과 Chain2의 출력을 합쳐 Chain3의 입력으로...)

    3. RouterChain, MultiPromptChain, ParallelChain 등:
      입력에 따라 분기하거나, 병렬로 여러 작업을 처리한 후 결과를 합침
      → 이 구조가 Workflow/Task Graph와 매우 유사합니다!



연결점 3) LangGraph


  • 더 나아가 최근에는 LangGraph라는 라이브러리가 별도로 나와, langchain 체인들을 마치 "작업 그래프"처럼 노드(작업)와 엣지(의존관계)로 구성할 수 있습니다.

    • 즉, Langchain의 체인 각각을 '그래프의 노드(작업)'로 보고

    • 이들을 의존관계에 따라 자유롭게 연결해서

    • 복잡한 워크플로우(작업그래프)를 시각적으로 설계할 수 있습니다.



4. 그림으로 한눈에 정리


(입력) → [체인1] → [체인2] ──────┐
                             │
                       [체인4]<─[체인3]
  • Chain 1 → Chain 2 / Chain 3 (동시)

  • Chain 2, Chain 3 → Chain 4 (둘 다 끝난 뒤 Chain 4 실행)

  • 이런 구조가 바로 작업그래프이자, Langchain(혹은 LangGraph)을 활용해서 설계할 수 있는 Application Flow입니다.



Langchain은 개별 작업(Chain)을 하나하나 설계할 수 있고, 그 작업들을 여러 가지 그래프 구조로 연결해서 복잡한 Workflow(작업그래프)를 구현할 수 있는 프레임워크이다.

  • LangGraph는 Langchain을 위한 전문 Workflow(즉, 작업그래프) 설계 확장판이다.
profile
https://velog.io/@corone_hi/posts

0개의 댓글