LangChain: Framework LLM Để Xây Agent AI
LangChain là framework Python (có bản song song LangChain.js) dùng để nối các lời gọi model, bước truy hồi và việc dùng công cụ thành ứng dụng hoàn chỉnh, thay vì tự viết phần kết nối đó từ đầu. Nên dùng khi bạn phải xử lý nhiều nhà cung cấp model hoặc nhiều nguồn dữ liệu và muốn một giao diện chung để đổi qua lại. Bỏ qua nếu bạn chỉ cần một lời gọi prompt-response đơn giản, đó là việc của SDK, không phải của framework.
LangChain Là Gì?
LangChain là framework Python mã nguồn mở (giấy phép MIT) để xây ứng dụng và agent chạy trên LLM từ những mảnh ghép có thể phối hợp: lớp bọc model, mẫu prompt, bộ truy hồi, định nghĩa công cụ, và chain hoặc graph nối chúng lại. Bạn lắp ráp các mảnh này thay vì tự viết phần kết nối API cho từng nhà cung cấp. Với phần điều phối agent sâu hơn, LangChain giao việc đó cho một dự án đi kèm là LangGraph.
Tính Năng Chính Để Phát Triển Ứng Dụng LLM
- ✓Giao diện chuẩn cho chat model, embedding và vector store, nên đổi từ OpenAI sang nhà cung cấp khác chỉ là đổi một chuỗi cấu hình, không phải viết lại chỗ gọi
- ✓Danh mục tích hợp bên thứ ba lớn, bao phủ nhà cung cấp model, công cụ, bộ truy hồi và vector store
- ✓Ghép chain và graph cho luồng LLM nhiều bước, LangGraph đảm nhận phần điều phối cấp thấp khi luồng việc trở nên phức tạp
- ✓Deep Agents, một package cấp cao hơn xây trên LangChain, có sẵn các mẫu cho việc lập kế hoạch, dùng subagent và truy cập file system
- ✓Có bản Python và bản JavaScript/TypeScript, duy trì ở hai repository riêng
- ✓Giấy phép MIT, nên phần code của framework không bị khoá vào bên nào
Bắt Đầu Với LangChain
README của LangChain ghi cách cài qua trình quản lý gói uv: `uv add langchain`. Bản JS/TS tương đương, LangChain.js, nằm ở repository riêng với đường cài đặt không được nêu chi tiết ở đây. Ngoài lệnh add gói, README trỏ sang trang docs thay vì nêu thêm bước setup ngay trong repo.
Ví Dụ Sử Dụng LangChain Cơ Bản
Phần quickstart chỉ là một lời gọi model, chưa phải một chain: import `init_chat_model` từ `langchain.chat_models`, trỏ tới một chuỗi nhà cung cấp như `"openai:gpt-5.5"`, rồi gọi `.invoke()` với một prompt. Việc ghép nó vào truy hồi, công cụ, hay hành vi agent nhiều bước là chỗ các mảnh còn lại của LangChain (và LangGraph, cho phần điều phối) vào việc. README không có ví dụ chain đầy đủ ngoài lời gọi đơn này.
Điểm Mạnh
- ✓Một giao diện chung cho model, embedding và vector store nghĩa là đổi nhà cung cấp là đổi cấu hình, không phải viết lại code
- ✓Danh mục tích hợp bao phủ nhà cung cấp model, công cụ, bộ truy hồi và vector store, theo README, nên phần lớn hạ tầng LLM thường gặp đã có sẵn lớp bọc
- ✓Deep Agents cho sẵn mẫu lập kế hoạch, subagent và truy cập file system thay vì bạn phải tự ráp
- ✓Giấy phép MIT cho phần framework lõi
Khi Nào Nên Cân Nhắc LangGraph Hoặc Deep Agents
- △Quickstart chỉ có một lời gọi `.invoke()` duy nhất; README không kèm ví dụ chain hay agent hoàn chỉnh trong repo, nên bạn sẽ phải đọc trang docs riêng để thấy các mảnh ghép lại với nhau
- △Điều phối agent không phải phần lõi của package này: chính README hướng bạn sang LangGraph cho luồng agent phức tạp, có thể kiểm soát được
- △Danh mục tích hợp rộng nghĩa là chọn đúng bộ truy hồi hay vector store cho stack của bạn là một việc nghiên cứu riêng trước khi viết code
- △Định danh model như `"openai:gpt-5.5"` trong quickstart buộc bạn theo cách đặt tên nhà cung cấp mà LangChain đang hỗ trợ, và phần này đổi theo khi nhà cung cấp ra model mới
LangChain.js Và Các Công Cụ Liên Quan Khác
Câu Hỏi Thường Gặp
LangChain dùng giấy phép MIT, theo file license của repository, nên phần code framework lõi không có giới hạn sử dụng hay gói trả phí.
Framework LangChain lõi được nói tới ở đây là Python. Một bản triển khai riêng, LangChain.js, phủ JavaScript và TypeScript ở repository của nó.
LangChain tích hợp qua danh mục tích hợp bên thứ ba, với giao diện chuẩn cho chat model, embedding, công cụ và vector store, cho phép bạn gắn một nhà cung cấp vào mà không viết lại code ứng dụng.
LangChain cung cấp các thành phần: lớp bọc model, prompt, truy hồi, công cụ; còn LangGraph là framework mà README khuyên dùng để điều phối agent cấp thấp, có thể kiểm soát được, khi luồng việc phức tạp lên.
README trỏ sang LangSmith cho phần quan sát, đánh giá và debug khi lên production; bản thân LangChain không nêu công cụ deploy trực tiếp trong repo này.
Deep Agents là package cấp cao hơn xây trên LangChain, theo README, bổ sung sẵn các mẫu như lập kế hoạch, subagent và dùng file system cho các tác vụ agent thường gặp.
Vấn Đề Mà LangChain Giải Quyết
Xây một ứng dụng LLM nghĩa là đụng tới nhiều mảnh cùng lúc: API của một nhà cung cấp model, một bước truy hồi, việc gọi công cụ, và thường là một vòng lặp agent nhiều bước, mỗi thứ có hình dạng SDK riêng. README của LangChain mô tả việc này là nối các thành phần có thể phối hợp và các tích hợp bên thứ ba lại với nhau, để đổi nhà cung cấp hay thêm công cụ mới không có nghĩa là viết lại phần kết nối của ứng dụng.
Trường Hợp Sử Dụng Tốt Nhất
- •Ứng dụng RAG lấy dữ liệu từ nguồn của riêng bạn qua một tích hợp vector store
- •Agent nhiều bước gọi công cụ và suy luận qua nhiều lượt, nhất là khi bạn thêm LangGraph cho lớp điều phối hoặc Deep Agents cho mẫu lập kế hoạch và subagent có sẵn
- •Dự án cần đổi nhà cung cấp model giữa chừng mà không viết lại code gọi mỗi lần
- •Prototype nhanh, nơi bạn muốn ráp các lớp bọc model, bộ truy hồi và công cụ có sẵn thay vì viết phần kết nối riêng cho từng nhà cung cấp chỉ để chứng minh ý tưởng
Ai Nên Thử — Và Ai Nên Bỏ Qua
Nên thử LangChain nếu ứng dụng bạn đang xây đụng tới nhiều hơn một nhà cung cấp model, hoặc cần vừa truy hồi vừa dùng công cụ vừa suy luận nhiều bước, và bạn muốn ráp từ các mảnh đã có tài liệu thay vì viết lại từ đầu. Bỏ qua nếu ứng dụng chỉ là một prompt gọi một model: cài SDK của nhà cung cấp đó và gọi thẳng.
Repo liên quan
LangChain có đáng để bạn bỏ thời gian?
ChatGPT, Claude và Perplexity đều đọc được trang này. Hỏi thử xem họ nghĩ gì về LangChain.
