Site logo
Tác giả
  • avatar Nguyễn Đức Xinh
    Name
    Nguyễn Đức Xinh
    Twitter
Ngày xuất bản
Ngày xuất bản

LangGraph là gì? Cách LangGraph giúp xây dựng Agentic AI có kiểm soát và đáng tin cậy hơn

1. Giới thiệu LangGraph

LangGraph là một framework mở rộng của LangChain, được thiết kế để quản lý luồng hoạt động của các Agent trong ứng dụng AI theo cấu trúc đồ thị (graph-based workflow).

Nếu như LangChain giúp bạn kết nối các mô hình LLM, công cụ và dữ liệu,
thì LangGraph giúp bạn điều phối cách mà các thành phần đó hoạt động cùng nhau — có thể rẽ nhánh, lặp lại, lưu trạng thái, và xử lý tình huống phức tạp giống như một bộ não có logic rõ ràng.

💡 Nói ngắn gọn:
LangChain là nền tảng, còn LangGraph là bộ điều hành có logic cho Agentic AI.


2. Tại sao cần LangGraph?

Trong thực tế, khi xây dựng Agent AI, bạn sẽ gặp các vấn đề:

Vấn đề Ví dụ LangGraph giải quyết như thế nào
Quy trình nhiều bước, có điều kiện Agent cần đọc file → phân tích → gửi kết quả → tiếp tục nếu lỗi LangGraph mô hình hóa các bước thành “đồ thị có hướng” (graph).
Agent cần lưu trạng thái (memory) Người dùng hỏi lại câu cũ hoặc chỉnh câu trả lời LangGraph hỗ trợ state persistence và memory graph.
Hội thoại có nhánh logic phức tạp Nếu câu hỏi là về tài liệu → truy vấn RAG; nếu là hành động → gọi tool LangGraph cho phép branching logic tự nhiên qua node & edge.
Khó kiểm soát lỗi hoặc vòng lặp vô hạn Agent suy luận sai, tiếp tục hành động sai LangGraph có checkpoint, retry policy, và graph cycle control.

3. Cấu trúc và thành phần của LangGraph

LangGraph được thiết kế theo mô hình đồ thị định hướng (Directed Graph), trong đó mỗi node là một hành động hoặc trạng thái, và edge xác định luồng điều khiển.

🔹 Thành phần chính:

Thành phần Vai trò
Nodes Đại diện cho một bước trong quy trình (ví dụ: phân tích, gọi API, trả lời).
Edges Xác định mối quan hệ giữa các node, điều kiện để chuyển trạng thái.
State Dữ liệu được lưu trong quá trình thực thi, giúp agent có “trí nhớ”.
GraphBuilder Module định nghĩa cấu trúc graph (node, edge, logic).
Checkpoints Điểm lưu tạm trạng thái, hỗ trợ rollback hoặc resume.
Async Execution Engine Cho phép thực thi đồng thời các node (parallel execution).

4. Cách hoạt động của LangGraph

LangGraph cho phép bạn mô hình hóa quy trình AI dưới dạng đồ thị trạng thái.
Ví dụ một chatbot có logic sau:

  1. Người dùng đặt câu hỏi
  2. Hệ thống xác định loại câu hỏi (về tài liệu / về hành động / hỏi tự do)
  3. Nếu là câu hỏi tài liệu → kích hoạt RAG
  4. Nếu là hành động → gọi API Tool
  5. Nếu là hội thoại tự do → trả lời bằng LLM
  6. Lưu kết quả vào trạng thái hội thoại

Biểu đồ khái niệm:


[User Input]
↓
[Classifier Node]
┌───────────────┬────────────────┐
↓               ↓                ↓
[RAG Node]   [Action Node]    [Chat Node]
↓               ↓                ↓
→ [Response Node] → [Memory Update]

LangGraph sẽ tự động quản lý:

  • Khi nào chuyển node
  • Dữ liệu nào được truyền giữa các node
  • Trạng thái nào cần lưu hoặc reset

5. Ví dụ code LangGraph cơ bản

from langgraph.graph import Graph, Node

# 1. Định nghĩa các node
def classify_question(input_text):
    if "policy" in input_text.lower():
        return "rag"
    elif "send" in input_text.lower():
        return "action"
    else:
        return "chat"

def rag_node(state):
    return f"RAG: tìm kiếm tài liệu '{state['input']}'"

def action_node(state):
    return f"Thực hiện hành động với '{state['input']}'"

def chat_node(state):
    return f"Chat: trả lời tự nhiên cho '{state['input']}'"

# 2. Tạo graph
graph = Graph()
graph.add_node("classifier", classify_question)
graph.add_node("rag", rag_node)
graph.add_node("action", action_node)
graph.add_node("chat", chat_node)

# 3. Kết nối logic
graph.add_edge("classifier", "rag", condition=lambda output: output == "rag")
graph.add_edge("classifier", "action", condition=lambda output: output == "action")
graph.add_edge("classifier", "chat", condition=lambda output: output == "chat")

# 4. Chạy thử
result = graph.run({"input": "Tell me about company policy"})
print(result)

Kết quả:

RAG: tìm kiếm tài liệu 'Tell me about company policy'

6. Lợi ích khi dùng LangGraph

Quản lý trạng thái rõ ràng – mỗi bước xử lý được lưu và phục hồi dễ dàng. ✅ Tối ưu logic phức tạp – dễ định nghĩa luồng rẽ nhánh, vòng lặp, retry. ✅ Tương thích với LangChain – có thể reuse các chain, tool, retriever. ✅ Kiểm soát tốt hành vi Agent – tránh vòng lặp vô hạn hoặc phản hồi sai. ✅ Thích hợp cho môi trường production – hỗ trợ checkpoint, logging, async.


7. Ứng dụng thực tế của LangGraph

  • 🤖 Chatbot có ngữ cảnh sâu (Context-aware Agent)
  • 🧠 AI Workflow phức tạp nhiều bước (phân tích, tóm tắt, hành động)
  • 📊 Hệ thống phân tích tự động có điều kiện
  • 🧩 Multi-agent collaboration – nhiều Agent phối hợp giải quyết tác vụ
  • 🔁 Pipeline LLM có kiểm soát (Loop & Conditional Flow)

8. Best Practices khi sử dụng LangGraph

Thiết kế graph nhỏ trước → kiểm thử logic rồi mở rộng dần. ✅ Sử dụng checkpoint hợp lý để tránh mất trạng thái khi lỗi. ✅ Gắn logging / tracing để quan sát đường đi của dữ liệu. ✅ Kết hợp với LangChain Tools để tận dụng RAG, Memory, và Agent. ✅ Phân tách các node có nhiệm vụ rõ ràng – tránh node “làm quá nhiều việc”. ✅ Dùng cache hoặc state store (Redis, Postgres) nếu chạy production.


9. LangGraph vs LangChain

Tiêu chí LangChain LangGraph
Mục đích Xây dựng LLM app Quản lý luồng logic của LLM app
Kiến trúc Linear Chain / Agent Graph-based (State Machine)
State Có Memory cơ bản Quản lý state toàn phần
Branching Có giới hạn Linh hoạt, có điều kiện
Retry / Resume Không rõ ràng Có checkpoint & resume
Ứng dụng Chatbot, QA, RAG Agentic Workflow, Multi-Agent, Complex Logic

10. Kết luận

LangGraph là bước tiến quan trọng sau LangChain, giúp các ứng dụng AI trở nên:

  • Thông minh hơn (Agent có logic và hành động có mục đích),
  • Ổn định hơn (stateful & checkpointed),
  • Dễ mở rộng hơn (multi-agent collaboration).

🚀 Nếu bạn đang xây dựng chatbot doanh nghiệp, hệ thống AI agent tự động, hoặc workflow AI nhiều nhánh, LangGraph là công cụ bạn nên thử ngay.