LangGraph: Framework Python Cho AI Agent Có Trạng Thái
LangGraph là framework Python cấp thấp của LangChain Inc để điều phối AI agent có trạng thái, chạy dài hạn; README cho biết nó được dùng nội bộ tại Klarna, Replit và Elastic. Chọn LangGraph nếu bạn cần kiểm soát thực sự với trạng thái agent, và một điểm dừng để con người duyệt bước tiếp theo. Bỏ qua nó nếu chỉ muốn có agent chạy được trong một buổi chiều — bạn tự nối các bước chuyển trạng thái, chứ không gọi một hàm 'chạy agent' đơn giản.
LangGraph Là Gì?
LangGraph là framework Python do LangChain Inc xây dựng, cung cấp phần hạ tầng để một agent tiếp tục chạy và giữ đúng vị trí của mình qua một khoảng thời gian dài. Bạn mô hình hoá agent như một graph gồm node và edge, thay vì một chuỗi prompt đơn: mỗi node cập nhật một state dùng chung, và LangGraph lưu checkpoint trạng thái đó để một lượt chạy tiếp tục sau khi crash thay vì chạy lại từ đầu. Nó hoạt động độc lập hoặc song song với LangChain. Một bản port JS/TS riêng, LangGraph.js, bao phủ cùng mô hình này ngoài Python.
Xây Dựng AI Agent Bền Vững, Có Trạng Thái
Một agent gọi tool liên tục trong nhiều phút hoặc nhiều giờ sẽ không có chỗ lưu lại vị trí đang chạy nếu process khởi động lại giữa chừng, và phần lớn code agent không có sẵn điểm dừng để con người kiểm tra một bước trước khi nó thực thi. Mô hình graph của LangGraph gán checkpoint trạng thái cho từng bước, nên một agent chạy dài hạn có thể tiếp tục từ chỗ đã dừng thay vì phát lại toàn bộ lượt chạy, và nó cung cấp interrupt như một điểm dừng tường minh để con người duyệt — chứ không phải một callback gắn tạm vào vòng lặp chat.
Năng Lực Cốt Lõi Cho Điều Phối Agent
- ✓Durable execution lưu checkpoint trạng thái graph ở từng bước, nên một lượt chạy bị crash hoặc gián đoạn sẽ tiếp tục từ chỗ dừng thay vì chạy lại từ node đầu tiên.
- ✓Interrupt hỗ trợ human-in-the-loop, tạm dừng graph giữa chừng để con người kiểm tra hoặc chỉnh sửa trạng thái agent trước khi thực thi tiếp.
- ✓Hai phạm vi memory: một chỉ giữ context cho lượt chạy hiện tại, một bền vững để agent nhớ một user hay một tác vụ qua các cuộc hội thoại khác nhau.
- ✓Nối LangSmith vào là có ngay bản ghi trực quan cho từng lượt chạy — node nào chạy, state trông ra sao ở từng bước, và chỗ nào bị lỗi.
- ✓Triển khai qua LangSmith Deployment, nhắm tới hạ tầng dành cho workflow có trạng thái, chạy dài hạn thay vì mô hình request/response không trạng thái.
- ✓Hoạt động độc lập — lớp điều phối này không bắt buộc bạn phải dùng cả stack LangChain.
Tích Hợp LangGraph Vào Stack Agent Của Bạn
- •Kết hợp LangGraph với Deep Agents, gói cấp cao hơn mà README nhắc tới, khi bạn muốn agent biết lập kế hoạch và dùng subagent mà không phải tự dựng graph.
- •Thêm các integration và component có sẵn của LangChain lên trên khi bạn cần connector dựng sẵn thay vì tự viết từng lệnh gọi tool.
- •Nối LangSmith vào để đánh giá trajectory của agent và debug một lượt chạy cho ra kết quả sai trước khi đưa vào production.
- •Triển khai qua LangSmith Deployment khi một graph cần tồn tại lâu hơn thời gian một serverless function không trạng thái cho phép.
- •Dựng cùng kiến trúc bằng JavaScript hoặc TypeScript với LangGraph.js khi phần còn lại của ứng dụng không viết bằng Python.
Bắt Đầu Với LangGraph
Cài đặt bằng `pip install -U langgraph` — đó là toàn bộ bước setup phía Python, vì LangGraph là một thư viện bạn import, không phải dịch vụ được host sẵn. Các team ngoài Python có cùng mô hình điều phối qua LangGraph.js, một package riêng. Chạy một graph vượt ra ngoài process của chính bạn, cho các workflow thực sự chạy dài hạn, là lúc LangSmith Deployment vào cuộc, nhưng đó là một sản phẩm tách biệt với thư viện mã nguồn mở này.
Học Và Tài Nguyên Tham Khảo
Tài liệu chính nằm ở docs.langchain.com, có quickstart và hướng dẫn khái niệm, cộng với API reference tại reference.langchain.com. LangChain Academy có một khóa học miễn phí, có cấu trúc, dành riêng cho kiến thức nền của LangGraph. Chat LangChain cho phép bạn hỏi trực tiếp tài liệu khi một hướng dẫn không trả lời được câu hỏi, còn LangChain Forum là nơi để đăng câu hỏi nếu vẫn chưa tìm ra câu trả lời. README cũng dẫn tới các hướng dẫn ngắn, tập trung vào từng tác vụ cụ thể — streaming, thêm memory, branching, subgraph — dưới dạng đoạn code chứ không phải tutorial dài.
Điểm Mạnh
- ✓Trạng thái có checkpoint nghĩa là một lượt chạy bị crash hoặc gián đoạn không phải chạy lại từ node đầu tiên.
- ✓Interrupt cho bạn một điểm dừng thật sự để con người duyệt giữa lượt chạy, chứ không chỉ ở đầu hoặc cuối chain.
- ✓Giấy phép MIT, nên bạn có thể vendor hoặc chỉnh sửa code mà không vướng nghĩa vụ copyleft.
- ✓Hoạt động độc lập — bạn không bị ép phải dùng cả stack LangChain chỉ để có lớp điều phối này.
Những Điều Cần Cân Nhắc Khi Dùng LangGraph
- △Mô hình graph-và-node ở cấp thấp hơn nhiều công cụ agent khác — bạn tự nối các bước chuyển trạng thái và edge, chứ không gọi một hàm 'chạy agent' duy nhất.
- △Danh sách công ty dùng LangGraph trong README (Klarna, Replit, Elastic) là tuyên bố của chính LangChain, chưa được xác minh độc lập, nên xem đó là tín hiệu chứ không phải bằng chứng nó hợp với use case của bạn.
- △Mặc định LangGraph không cho bạn thấy agent đã thực sự làm gì trong một lượt chạy; muốn xem được phải nối riêng LangSmith, chứ thư viện gốc không có sẵn.
- △Scale một graph trong production dẫn bạn tới LangSmith Deployment, một sản phẩm tách biệt với thư viện mã nguồn mở.
Framework Liên Quan Và Nguồn Cảm Hứng
Câu Hỏi Thường Gặp
LangGraph phát hành theo giấy phép MIT, nên bạn có thể dùng, chỉnh sửa và vendor nó vào dự án thương mại mà không vướng nghĩa vụ copyleft.
Thư viện lõi của LangGraph viết bằng Python, cài bằng `pip install -U langgraph`; một package riêng tên LangGraph.js bao phủ cùng mô hình điều phối đó cho JavaScript và TypeScript.
LangGraph là lớp điều phối cấp thấp cho việc thực thi agent có trạng thái, còn LangChain cung cấp integration và component dựng sẵn trên nền đó. LangChain Inc phát triển cả hai, và LangGraph hoạt động độc lập, không bắt buộc phải có LangChain.
LangGraph hỗ trợ workflow human-in-the-loop qua interrupt, tạm dừng graph giữa chừng để con người kiểm tra hoặc chỉnh sửa trạng thái agent trước khi thực thi tiếp tục.
LangGraph được xây với mục tiêu dùng trong production, và một sản phẩm đi kèm, LangSmith Deployment, nhắm tới việc scale các graph có trạng thái, chạy dài hạn vượt ra ngoài một process đơn lẻ — dù lớp triển khai đó là sản phẩm tách biệt với thư viện mã nguồn mở.
LangGraph không đi kèm debugger riêng, nhưng kết hợp với LangSmith sẽ cho bạn bản ghi trực quan cho từng lượt chạy — node nào chạy, state đổi ra sao, và chỗ nào bị lỗi.
Nên Dùng Khi Nào — Và Khi Nào Nên Bỏ Qua
Chọn LangGraph nếu bạn là developer Python đang xây một agent cần sống sót qua việc process khởi động lại, cần dừng lại để con người duyệt một bước, hoặc cần giữ memory qua nhiều session — cơ chế checkpoint và interrupt xứng đáng với độ phức tạp đó. Bỏ qua nó nếu bạn chỉ muốn dựng thử một agent trong một buổi chiều; setup kiểu graph-và-node là overhead mà một chatbot chạy một lượt không cần, và một gói cấp cao hơn như Deep Agents hoặc công cụ trực quan như Dify sẽ đưa bạn tới đích nhanh hơn.
