AI Agents in LangGraph: chưa đến hai tiếng để hiểu agent có trạng thái, nhưng chưa đủ để đưa lên production
Khoá ngắn của Harrison Chase và Rotem Weiss dạy hai thứ khách hàng sẽ hỏi bạn đầu tiên: agent dừng ở đâu và ai được duyệt. Phần chạy tiếp sau sự cố thì khoá mới chỉ giới thiệu.
Tóm tắt nhanh
- Đây là short course trình độ Intermediate của DeepLearning.AI, trang khoá ghi thời lượng 1h42m, do CEO LangChain và CEO Tavily giảng.
- Đáng giữ nhất là ba ý: agent là đồ thị trạng thái, persistence là nền móng, và con người được sửa state ở bất kỳ bước nào.
- Khoá không dạy vận hành production như checkpointer bền vững hay memory dài hạn qua store, nên bạn phải học tiếp từ tài liệu.
Câu khách hàng hỏi nhiều nhất khi xem demo agent hiếm khi là “nó thông minh đến đâu”. Họ hỏi: nó dừng ở chỗ nào, ai được duyệt trước khi nó gửi đi, và nếu máy chủ sập giữa chừng thì sao. “AI Agents in LangGraph”, short course của DeepLearning.AI, trả lời kỹ hai câu đầu. Với câu thứ ba, khoá mới chỉ mở đầu.
Người giảng là Harrison Chase, đồng sáng lập kiêm CEO LangChain, và Rotem Weiss, đồng sáng lập kiêm CEO Tavily. Trang khoá ghi trình độ Intermediate, thời lượng 1h42m. Đối tượng là người viết Python ở mức trung cấp và muốn làm ra những agent dễ kiểm soát hơn.
Với một FDE, chữ “kiểm soát” chính là phần việc. Đưa agent vào quy trình của khách hàng mà không chỉ ra được nó đang ở bước nào thì bạn sẽ không qua nổi buổi họp với bộ phận rủi ro.
Vì sao phải là đồ thị chứ không phải chain?
LangChain giới thiệu LangGraph từ tháng 1/2024, như một module xây trên LangChain để dựng đồ thị có chu trình. Lý do rất thực tế: chain trước đó chạy thẳng một mạch, không có cách gọn gàng nào để đưa vòng lặp vào. Mà agent nào cũng cần vòng lặp: gọi tool, đọc kết quả, quyết định gọi tiếp hay dừng.
Theo blog ra mắt, nhà phát triển thường cần kiểm soát luồng chạy chặt hơn, và LangGraph cho phép mô tả luồng đó như một máy trạng thái viết dưới dạng đồ thị.
Khoá học đi theo đúng mạch này: trước tiên bạn tự viết agent từ đầu bằng Python, sau đó chuyển nó sang LangGraph. Chính đội LangChain cũng từng làm lại AgentExecutor chuẩn của mình bằng LangGraph, nên bài tập này không phải đồ chơi mà là hướng đi chính của framework.
Đừng tua nhanh bài tự viết. Phải tự tay viết vòng lặp gọi tool một lần thì bạn mới thấy LangGraph gỡ cho mình những gì, và mới giải thích được cho khách vì sao không tự viết tiếp.
Ba ý đáng giữ lại
Ý thứ nhất đã nói ở trên: agent là một máy trạng thái. Khi khách hỏi “nó đang làm gì”, bạn chỉ vào một node trên đồ thị chứ không phải một đoạn log dài.
Ý thứ hai là persistence. Tài liệu LangGraph coi checkpointer là nền móng cho bốn thứ: hội thoại liên tục, human-in-the-loop, time travel và chịu lỗi. Bài Persistence and Streaming của khoá dạy phần này, và đây là bài nên xem hai lần.
Ý thứ ba là human-in-the-loop, mà tài liệu định nghĩa là việc kiểm tra và sửa trạng thái agent ở bất kỳ thời điểm nào. Bài Human in the Loop dạy đúng điều đó.
Thử ghép vào một ca thật
Hãy hình dung bạn dựng agent soạn email hoàn tiền cho đội xử lý khiếu nại của một hãng bảo hiểm. Đồ thị có bốn node: đọc hồ sơ, tra chính sách, soạn email, gửi. Bạn đặt điểm dừng ngay trước node “gửi”, để nhân viên mở state ra, sửa số tiền nếu sai rồi bấm cho chạy tiếp.
Bây giờ giả sử tiến trình chết đúng lúc đang chờ duyệt. Tài liệu LangGraph xếp chịu lỗi vào những thứ checkpointer mang lại. Nhưng agent chỉ chạy tiếp được khi state nằm ở nơi còn nguyên sau lần khởi động lại, nên trước khi hứa với khách, hãy kiểm tra checkpointer bạn đang dùng lưu state ở đâu.
Muốn agent quay lại đúng điểm chờ duyệt mà không phải đọc lại hồ sơ, bạn cần một checkpointer bền vững, và đó chính là phần khoá chưa dạy.
Vì thế, trong demo đầu tiên với khách, hãy cho họ thấy điểm dừng duyệt, rồi nói rõ phần phục hồi sau sự cố sẽ cần thêm gì khi lên production. Trả lời trung thực câu “sập thì sao” ghi điểm hơn một demo hứa quá tay.
Phần agentic search dùng công cụ tìm kiếm của Tavily để agent có thêm kiến thức. Phần này hữu ích, nhưng nên nhớ Tavily là công ty của chính một trong hai người giảng. Ở chỗ khách, nguồn dữ liệu thường là hệ thống nội bộ, nên hãy học cách gắn một tool vào đồ thị thay vì học thuộc riêng Tavily.
Học gì, bỏ gì, và học theo thứ tự nào
Thứ tự hợp lý là đọc bài blog ra mắt LangGraph năm 2024 để hiểu vì sao cần chu trình, sau đó học khoá, rồi đọc trang Persistence trong tài liệu chính thức. Nếu Python của bạn còn yếu, hãy củng cố trước, vì khoá mặc định bạn đã ở mức trung cấp.
Phần nên bỏ là ý nghĩ rằng học xong là deploy được. Tài liệu LangGraph hiện mô tả nó là runtime cho agent có trạng thái chạy dài hạn và nêu tên những người dùng như Klarna, Uber, J.P. Morgan. Nhưng khoá chưa tới hai tiếng không dạy phần vận hành tương ứng: checkpointer bền vững và memory dài hạn qua store.
Về nghề nghiệp, khi đọc mô tả công việc FDE, hãy để ý các cụm như “stateful agents” hay “human-in-the-loop”. Trên CV, đừng viết “hoàn thành khoá LangGraph”. Một dòng như “agent có bước duyệt của con người và chạy tiếp từ checkpoint bền vững sau khi lỗi” kèm link repo sẽ có sức nặng hơn nhiều.
Khoá đang miễn phí có thời hạn trong giai đoạn beta của nền tảng, bạn nên kiểm tra lại trước khi đăng ký. Bỏ ra chưa đến hai tiếng để biết cách cho agent dừng lại đúng chỗ là khoản đầu tư rất rẻ, còn khó khăn thật sẽ bắt đầu khi agent phải chạy liên tục cả tuần ở chỗ khách.
Bài này có hữu ích không?
Cảm ơn bạn đã góp ý!