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

작업그래프란 여러 개의 작업(태스크)이 특정한 순서와 의존관계에 따라 연결되어 있는 구조를 말합니다.
예시)
"A -> B -> C" : 순차적으로 일어남
"A -> {B, C} -> D" : A가 완료되면 동시에 B, C가 실행되고, 둘 다 끝나야 D가 실행
Langchain의 "Chain"은 일종의 작업(Task)입니다.
여러 개의 Chain(작업)을 연결하여, 복잡한 흐름(Workflow, Task Graph)을 만들 수 있습니다.
langchain에서는 그런 흐름을 만드는 방법 몇 가지가 있습니다.
SimpleSequentialChain: 모든 작업(Chain)이 순서대로 연결
(ex. Chain1 → Chain2 → Chain3...)
SequentialChain: 여러 개의 입력, 여러 개의 출력을 복잡하게 연결
(ex. Chain1의 출력과 Chain2의 출력을 합쳐 Chain3의 입력으로...)
RouterChain, MultiPromptChain, ParallelChain 등:
입력에 따라 분기하거나, 병렬로 여러 작업을 처리한 후 결과를 합침
→ 이 구조가 Workflow/Task Graph와 매우 유사합니다!
더 나아가 최근에는 LangGraph라는 라이브러리가 별도로 나와, langchain 체인들을 마치 "작업 그래프"처럼 노드(작업)와 엣지(의존관계)로 구성할 수 있습니다.
즉, Langchain의 체인 각각을 '그래프의 노드(작업)'로 보고
이들을 의존관계에 따라 자유롭게 연결해서
복잡한 워크플로우(작업그래프)를 시각적으로 설계할 수 있습니다.
(입력) → [체인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(즉, 작업그래프) 설계 확장판이다.