# Xây dựng AI Agent cấp sản xuất với Jev và LangGraph

- Nguồn: LangChain: Blog
- Thời gian phát hành: 2026-09-26 02:11 (giờ Việt Nam)
- Điểm AI: 21/100
- Link AIHOT.vn: https://aihot.vn/items/7564f270cd9816a1
- Nguồn dữ liệu AI HOT: https://aihot.news/items/cmuhcf9g008saro3bzfk9999o
- Link gốc: https://www.langchain.com/blog/building-prod-with-jev-and-langgraph

## Tóm tắt AI

Khám phá cách kết hợp mô hình ra quyết định TypeSafe AI Jev với LangGraph để tối ưu hóa tốc độ và chi phí khi triển khai các AI Agent thực tế.

## Thân bài

![Building Production Agents with Jev and LangGraph](https://cdn.prod.website-files.com/65c81e88c254bb0f97633a71/6ab6ba616821ea2bd3edd56a_webflow-cover-light-building-prod-jev-langgraph-1600x900.png)

Tuần trước, [TypeSafe AI](https://typesafe.ai/) đã ra mắt Jev, một loại mô hình mới. Không giống như các LLM truyền thống, Jev không tạo văn bản. Nó đưa ra các quyết định mà mã nguồn của bạn có thể thực thi trực tiếp, phục vụ cho cái mà TypeSafe gọi là [phần mềm hỗ trợ bởi AI](https://docs.typesafe.ai/concepts/how-to-build-with-system-one), nơi "mã nguồn làm chủ quy trình làm việc còn AI xử lý các quyết định hẹp, có cấu trúc." TypeSafe tóm tắt triết lý của họ là xây dựng "[sản phẩm, không phải thần thánh](https://typesafe.ai/manifesto)."

Khi các LLM tiên phong ngày càng trở nên mạnh mẽ, chúng ta bắt đầu đối xử với chúng như thần thánh, tìm đến chúng cho bất kỳ tác vụ nào có đầu vào không rõ ràng: tạo văn bản, trích xuất tài liệu, tìm kiếm, xếp hạng, nghiên cứu, phân loại, v.v. Thật không may, thần thánh thì đắt đỏ và chậm chạp. Bạn phải trả giá cho sự tổng quát đó trong mỗi lần gọi, ngay cả khi tất cả những gì bạn cần chỉ là một câu trả lời có hoặc không.

Đó là lý do tại sao sự ra mắt của Jev thu hút nhiều sự chú ý đến vậy. Đối với các tác vụ quyết định hẹp, như các bước định tuyến và phân loại mà nhiều tác nhân (agent) được xây dựng xung quanh, các điểm chuẩn của TypeSafe cho thấy Jev chạy nhanh hơn tới [200 lần và rẻ hơn 400 lần](https://typesafe.ai/blog/introducing-system-one-models-and-jev) so với các LLM hàng đầu.

Cách tiếp cận của TypeSafe mang lại cảm giác gần như hoài niệm đối với chúng tôi tại LangChain. Sứ mệnh của chúng tôi là làm cho các tác nhân trở nên hữu ích và phổ biến, và hệ sinh thái mã nguồn mở của chúng tôi đã phát triển cùng với bối cảnh mô hình, nhưng ở mỗi bước, chúng tôi đều quay lại với hai câu hỏi giống nhau: làm thế nào để các mô hình đưa ra quyết định hữu ích và làm thế nào để chúng ta thực thi các quyết định đó một cách đáng tin cậy?

[**LangGraph](https://docs.langchain.com/oss/python/langgraph/overview) là câu trả lời của chúng tôi cho cả hai câu hỏi đó.** Chúng tôi xây dựng nó từ những gì đã học được khi giúp hàng ngàn công ty đưa AI vào sản xuất, và nó cho phép bạn kết hợp các quyết định dựa trên mô hình với mã nguồn xác định trong các hệ thống đáng tin cậy và có thể quan sát được. Jev cung cấp cho các hệ thống đó một cách nhanh hơn, rẻ hơn để đưa ra quyết định. Trong bài viết này, chúng tôi sẽ đề cập đến cách xây dựng "sản phẩm, không phải thần thánh" với Jev và LangGraph.

### Jev cho các quyết định

Jev lấy một khả năng ra khỏi gói LLM tiên phong, đó là khả năng phán đoán, và biến nó thành một nguyên hàm (primitive) rẻ đến mức không cần đo đếm. Đó là cái mà TypeSafe gọi là mô hình hệ thống một (system one model), hay thường được gọi là [mô hình quyết định.](https://x.com/Mappletons/status/2101560333441610133) Bạn cung cấp cho nó trạng thái và một tập hợp các câu hỏi, và nó trả về các câu trả lời có kiểu dữ liệu kèm theo xác suất.

[Tài liệu](https://docs.typesafe.ai/concepts/how-to-build-with-system-one#three-software-architectures) của TypeSafe đưa ra ba cách để xây dựng phần mềm. Phần mềm truyền thống được tạo thành từ logic rõ ràng, với mỗi nhánh được viết thủ công và có thể kiểm tra được, nhưng kết quả là sự cứng nhắc. Các tác nhân (agent) đi theo hướng ngược lại: một mô hình xử lý các quyết định ở mọi bước, và luồng điều khiển chuyển từ mã nguồn sang các câu lệnh (prompt). Phần mềm hỗ trợ bởi AI chọn con đường ở giữa. Mã nguồn giữ cấu trúc và xử lý các tính toán chính xác, còn mô hình chỉ nằm ở các nhánh cần sự phán đoán ngữ nghĩa.

![](https://cdn.prod.website-files.com/65c81e88c254bb0f97633a71/6ab6bb0e4b0d8d8cdd3c84bf_agents-three-parts-light-v6-3200x1800.png)

Một vài đặc tính giúp Jev đủ điều kiện trở thành một thành phần của các [hệ thống](https://docs.typesafe.ai/concepts/how-to-build-with-system-one#what-makes-system-one-composable) sản xuất:

- Có cấu trúc: các câu trả lời được trả về dưới dạng kiểu dữ liệu kèm xác suất, vì vậy mã nguồn có thể phân nhánh dựa trên kết quả một cách có thể dự đoán được.
- Song song: bạn có thể hỏi nhiều câu hỏi về cùng một trạng thái cùng một lúc.
- Nhanh: các quyết định đủ rẻ để thực hiện nhiều lần trong một lần chạy.
- Tự nhất quán: hệ thống một được thiết kế để trả về các câu trả lời ổn định qua các lần đánh giá lặp lại.

> 💡 Sự nhất quán của Jev là một thay đổi đáng hoan nghênh so với tính không xác định của các LLM. Hỏi một LLM cùng một câu hỏi qua các lần chạy khác nhau và bạn có thể nhận được các câu trả lời khác nhau. Jev được thiết kế để [trả về cùng một câu trả lời](https://docs.typesafe.ai/cookbooks/consistency_noul_cookbook) cho cùng một đầu vào. Trong một [thí nghiệm Jev-làm-giám-khảo](https://www.langchain.com/blog/jev-agent-evals-langsmith) ban đầu, điểm số của nó hầu như không thay đổi qua 100 lần chạy lặp lại, ít hơn nhiều so với bất kỳ giám khảo LLM nào mà chúng tôi đã thử nghiệm.

Ví dụ, video này giúp bạn hình dung cách Jev hoạt động khác với LLM. Tác vụ ở đây là xác định xem một đầu vào có chứa các loại PII (thông tin nhận dạng cá nhân) khác nhau hay không:

Các ứng dụng thực tế đưa ra vô số quyết định, mỗi quyết định phụ thuộc phức tạp vào các lựa chọn trước đó. Một khi các quyết định này đủ rẻ, thách thức trở thành việc điều phối chúng, và đó là mục đích của LangGraph.

### LangGraph cho việc điều phối

Chúng tôi đã giúp các đội ngũ xây dựng hệ thống xung quanh LLM trong nhiều năm, và gần như tất cả đều gặp phải hai vấn đề giống nhau:

1. Quản lý ngữ cảnh rất khó. Để một mô hình đưa ra quyết định đúng đắn, cửa sổ ngữ cảnh của nó cần "[thông tin vừa đủ cho bước tiếp theo](https://x.com/karpathy/status/1937902205765607626)." Thông tin đó không rõ ràng và thay đổi khi ứng dụng chạy.
2. Các hệ thống dựa trên mô hình vẫn cần phải đáng tin cậy. Chúng phải vượt qua các lỗi, hỗ trợ sự can thiệp của con người và làm cho mọi bước đều có thể quan sát được.

Các khung làm việc hiện có đã giải quyết một phần các vấn đề này, nhưng không có cái nào giải quyết được cả hai mà không hạn chế cách mọi người xây dựng. Vì vậy, chúng tôi đã xây dựng [LangGraph](https://docs.langchain.com/oss/python/langgraph/overview). Hiện tại, nó đã được tải xuống hơn 60 triệu lần mỗi tháng và được sử dụng bởi nhiều công ty trong danh sách Fortune 50 đang xây dựng với AI.

### Trạng thái là ngữ cảnh

Một ứng dụng LangGraph được xây dựng từ ba phần. Các nút (node) là các đơn vị công việc: mã nguồn thuần túy, một lệnh gọi mô hình, một lệnh gọi công cụ hoặc toàn bộ một đồ thị con. Trạng thái (state) là thông tin mà các nút đọc và cập nhật. Các cạnh (edge) quyết định nút nào chạy tiếp theo, theo một đường dẫn cố định hoặc động dựa trên trạng thái hiện tại.

Bất kỳ đồ thị nào cũng có thể là một nút trong một đồ thị lớn hơn, vì vậy các phần nhỏ, đã được kiểm thử sẽ kết hợp thành các hệ thống lớn hơn. [Bản tuyên ngôn](https://typesafe.ai/manifesto) của TypeSafe cũng đặt cược tương tự về trí tuệ: các nguyên hàm nhỏ, dễ đọc là thứ giúp các hệ thống phức tạp duy trì sự tin cậy.

Khi đồ thị chạy, kết quả của mỗi bước tích lũy vào trạng thái. Trạng thái đó trở thành ngữ cảnh cho mọi bước sau này, và nó cũng xác định các nút nào sẽ chạy tiếp theo.

Thay vì [nhồi nhét kiến thức chuyên môn vào các câu lệnh (prompt)](https://x.com/DavidKPiano/status/2101730719248629964), bạn [mã hóa nó vào cấu trúc liên kết của đồ thị](https://www.langchain.com/blog/deep-agents-vs-langchain-vs-langgraph): quyết định nào được đưa ra, theo thứ tự nào và mỗi quyết định thấy được trạng thái nào. Đó là cách phần mềm phân nhánh dựa trên ý định và lẽ thường, như cách TypeSafe diễn đạt. Sự phán đoán đến từ mô hình, nhưng luồng công việc vẫn nằm trong mã nguồn mà bạn có thể kiểm tra và thử nghiệm.

### Một môi trường thực thi đáng tin cậy

Như [lập luận](https://typesafe.ai/manifesto) trong bản tuyên ngôn của TypeSafe, bạn chỉ để một thành phần chạy mà không cần giám sát khi nó đáng tin cậy, và chỉ xây dựng dựa trên nó khi bạn có thể kiểm tra, thử nghiệm và giới hạn nó. LangGraph xử lý điều đó trong môi trường thực thi:

- [Thực thi bền bỉ (Durable execution)](https://docs.langchain.com/oss/python/langgraph/durable-execution): các bước dựa trên mô hình là không xác định, vì vậy cùng một đầu vào có thể dẫn mô hình đến một lệnh gọi khác và gửi quá trình chạy xuống một con đường khác. Khởi động lại từ đầu sau khi gặp lỗi còn tệ hơn là chậm, vì việc chạy lại có thể không đi theo cùng một con đường. Việc kiểm tra điểm (checkpointing) lưu giữ trạng thái ở mỗi bước, vì vậy một lần chạy bị lỗi sẽ tiếp tục với các quyết định mà nó đã thực hiện.
- [Con người trong vòng lặp (Human in the loop)](https://docs.langchain.com/oss/python/langgraph/interrupts): khi một bước cần xem xét trước khi hệ thống thực hiện, các ngắt (interrupt) cho phép bạn tạm dừng, phê duyệt và tiếp tục từ nơi bạn đã dừng lại.
- Khả năng quan sát: một bước dựa trên mô hình không thực hiện cùng một việc mỗi lần, vì vậy bạn cần các dấu vết (trace) trong [LangSmith](https://smith.langchain.com/) để xem những gì đã được quyết định và tại sao.

Không có điều nào trong số này là đặc thù cho LLM. Jev vẫn nhận ngữ cảnh văn bản không cấu trúc và trả về một phán đoán, vì vậy nó cần các đảm bảo tương tự, và một đồ thị cung cấp chúng cho mọi nút một cách tự động.

![](https://cdn.prod.website-files.com/65c81e88c254bb0f97633a71/6ab6bba9f4abbf2c6fbd82bb_llm-prose-vs-jev-decisions-v3-3840x1600%20(1).png)

### Ví dụ: xem xét tài liệu để phục vụ công tác khám phá (discovery)

Trong các vụ kiện tụng, một công ty phải xem xét từng trang trước khi xuất trình (bàn giao) tài liệu cho bên kia, và một vụ việc đơn lẻ có thể lên tới hàng trăm ngàn trang. Hầu hết việc xem xét đó là các quyết định phán đoán có giới hạn được thực hiện lặp đi lặp lại, điều này làm cho nó trở nên phù hợp tự nhiên với Jev.

Đối với mỗi trang, Jev trả lời ba câu hỏi trong một yêu cầu, và mỗi câu trả lời ánh xạ tới một lộ trình trong đồ thị:

1. Trang này có phản hồi với yêu cầu không? Nếu không, nó sẽ được đặt sang một bên.
2. Nó có chứa thông tin cá nhân không? Nếu có, LLM sẽ biên tập lại PII.
3. Nó có thể thuộc diện đặc quyền không? Nếu có, nó sẽ được chuyển đến attorney_review, tạm dừng biểu đồ để con người can thiệp (human in the loop).

Bất cứ thứ gì còn lại đều sẵn sàng để bàn giao. Dưới đây là bản demo nhanh về quy trình (trong thực tế, các trang được xử lý song song):

Jev xử lý mọi phân loại, và biểu đồ chỉ leo thang khi một trang cần nhiều hơn thế: chuyển đến LLM để biên tập, hoặc đến luật sư để xác định đặc quyền.

Chúng tôi [đã chạy cùng một biểu đồ](https://gist.github.com/sydney-runkle/a632ba4ea0b2b72501dfa4b6ab2a7d8a) với [Jev xử lý phân loại](https://smith.langchain.com/o/495db4ef-0b85-4f00-8deb-326a2ec006ec/projects/p/b2f66933-4452-445c-a97c-1c913e439a80/trace/01a0d541-4b20-7843-af41-0ab221a9800a/run/01a0d541-4b20-7843-af41-0ab221a9800a?start_time=2026-09-24T21%3A10%3A21.216332Z) và [Sonnet đóng vai trò giám khảo](https://smith.langchain.com/o/495db4ef-0b85-4f00-8deb-326a2ec006ec/projects/p/b2f66933-4452-445c-a97c-1c913e439a80/trace/01a0d541-600c-7f41-b20e-d2eb5c15cd3e/run/01a0d541-600c-7f41-b20e-d2eb5c15cd3e), và Jev nhanh hơn gấp 5–6 lần ở bước phân loại qua các lần thử nghiệm. Cả hai lần chạy đều được theo dõi trong LangSmith, vì vậy bạn có thể mở bất kỳ trang nào để xem lộ trình đã đi và các xác suất đằng sau đó. LangSmith cũng có các chế độ xem chuyên dụng cho các mô hình quyết định như Jev, hiển thị đầu vào và đầu ra đã được hiệu chỉnh cho từng quyết định:

![](https://cdn.prod.website-files.com/65c81e88c254bb0f97633a71/6ab6bbc97846f7eab489f1d1_Screenshot%202026-09-24%20at%2010.14.01%E2%80%AFPM.png)

![](https://cdn.prod.website-files.com/65c81e88c254bb0f97633a71/6ab6bbd51882458652207b1b_Screenshot%202026-09-24%20at%2010.14.17%E2%80%AFPM.png)

### Đây chính là sự phân tách vĩ đại của trí tuệ.

Trong ba năm qua, hầu hết các tác nhân (agent) đều định tuyến mọi thứ thông qua một LLM tiên phong. [Jaya Gupta](https://x.com/JayaGup10/status/2101799427145183571) gọi những gì sắp tới là "Sự phân tách vĩ đại của trí tuệ": các khả năng đó được tách rời, và mỗi khả năng sẽ được chuyển đến mô hình rẻ nhất có thể xử lý nó. Jev tách biệt khả năng phán đoán, trả về các quyết định có cấu trúc thay vì văn bản được tạo ra. Khi các phần đã được tách rời, cần có thứ gì đó kết nối chúng lại với nhau bằng cách định tuyến từng bước và quyết định khi nào cần leo thang. Đó chính là công việc của runtime.

_Bài gốc còn tiếp._ Xem tiếp tại: <https://www.langchain.com/blog/building-prod-with-jev-and-langgraph>
