0

Mô hình "câm" Jev rốt cuộc dùng thế nào? Một bài viết sẽ cho bạn biết

AI đã tiến hóa đến cả Next Level, tiến hóa luôn cả ngôn ngữ. Các mô hình ngôn ngữ lớn tạo sinh truyền thống giỏi hội thoại văn bản và sáng tạo phi cấu trúc, nhưng trong kiến trúc phần mềm doanh nghiệp, phần lớn các chuỗi tự động hóa không cần chuỗi ký tự được sinh liên tục, mà cần những phán đoán rời rạc xác định, an toàn kiểu và có hiệu chỉnh xác suất. Mô hình quyết định System One Jev do TypeSafe AI ra mắt được xây dựng chuyên cho các kịch bản tiêu thụ bởi máy như vậy.

Suy diễn thời gian cần được xử lý trước trong mã, rồi mới truyền cho mô hình quyết định

Hôm nay chúng ta sẽ điểm qua cơ chế vận hành, định nghĩa nguyên thủy, cấu hình môi trường runtime, kịch bản kinh doanh điển hình, mô hình gọi nâng cao và ranh giới kỹ thuật của Jev, một bài viết giúp bạn hiểu rõ Jev thực chất là gì.

Jev là gì

Jev thuộc mô hình quyết định có cấu trúc System One. Tên hệ thống lấy từ sự phân biệt giữa tư duy nhanh (System 1) và tư duy chậm (System 2) trong tâm lý học nhận thức, dùng để đảm nhận các tác vụ phân loại ngữ nghĩa nhẹ mà trước đây trong kỹ thuật phần mềm phải dựa vào các quy tắc mong manh hoặc mô hình lớn đắt đỏ.

Các mô hình ngôn ngữ lớn phổ thông dùng phương thức tự hồi quy để sinh văn bản từng ký tự, định dạng dễ lệch khỏi kỳ vọng, độ trễ đầu cuối thường từ vài giây trở lên. Jev từ bỏ hoàn toàn việc sinh văn bản, dùng lấy mẫu song song và học tăng cường cho các quyết định đã được hiệu chỉnh (RLCD, Reinforcement Learning for Calibrated Decisions) để hoàn thành huấn luyện.

Cơ chế gọi vô cùng rõ ràng: nhập trạng thái chương trình và câu hỏi có kiểu, một lần lan truyền xuôi duy nhất trực tiếp xuất ra cấu trúc dữ liệu có kiểu kèm điểm xác suất và độ tin cậy.

Do cấu trúc trả về đã được định nghĩa nghiêm ngặt ngay khi gửi yêu cầu, Jev loại bỏ ở tầng cấu trúc toán học các lỗi phân tích cú pháp JSON và ảo giác kiểu. Độ trễ đầu cuối trung bình của mô hình nằm trong khoảng 70 mili giây đến 500 mili giây, chi phí đầu vào khoảng 0.042 USD mỗi triệu Token, đầu ra quyết định không tính vào phí Token.

Phân tích các nguyên thủy quyết định cốt lõi

Khi gọi Jev, mọi ý định phán đoán nghiệp vụ đều được ánh xạ thành ba nguyên thủy cơ bản sau.

Tên nguyên thủy Kịch bản áp dụng Tham số đầu vào Trường dữ liệu đầu ra
Choice Chọn một từ tập hợp (hỗ trợ tối đa 255 mục) Chỉ thị câu hỏi (instructions), từ điển nhãn ứng viên và mô tả (criteria) .choice (nhãn được chọn), .probabilities (phân phối xác suất các lựa chọn), .confidence (độ tin cậy)
Score Phân cấp có thứ tự và chấm điểm mức độ Chỉ thị câu hỏi (instructions), danh sách mô tả ngữ nghĩa tăng dần theo cấp độ (criteria, 2 đến 10 cấp) .score (điểm số dạng số thực, hỗ trợ nội suy liên tục xuyên cấp), .probabilities (phân phối xác suất cấp độ), .confidence (độ tin cậy)
Noul Phán đoán xác suất nhị phân có/không Chỉ thị câu hỏi (instructions) .noul (giá trị xác suất từ 0.0 đến 1.0, bản thân giá trị thể hiện mức độ chắc chắn, không có trường độ tin cậy bổ sung)

Chuẩn bị môi trường và gọi cơ bản

Jev cung cấp SDK Python và SDK Node.js chính thức, hỗ trợ gọi đồng bộ và bất đồng bộ.

Yêu cầu phiên bản runtime

Khi chuẩn bị môi trường chạy, cần kiểm tra kỹ phiên bản ngôn ngữ; với những bạn ngại phiền phức hoặc người mới, có thể dùng công cụ AI cục bộ để thiết lập một chạm các cấu hình cơ bản này.

Môi trường Python yêu cầu phiên bản Python 3.10 trở lên, hỗ trợ Python 3.10, 3.11, 3.12 và cao hơn. Khi triển khai trong ServBay, chỉ cần trong bảng dịch vụ “Gói phần mềm”, cài đặt một chạm instance Python 3.14 hoặc cao hơn là được.

Quy trình phân cấp kiểm soát rủi ro nội dung bằng Noul: phân luồng theo điểm rủi ro đến cho qua / thủ công / chặn

Môi trường Node.js yêu cầu phiên bản Node.js 20 trở lên, hỗ trợ Node 20 LTS, Node 22, v.v. Trong bảng quản trị ServBay, hãy đảm bảo phiên bản Node.js mà website hoặc dịch vụ hiện tại đang gắn không thấp hơn Node.js 20.

Bảng Gói phần mềm của ServBay: quản lý phiên bản Node.js 22 / 23 / 24

Có thể nhập các lệnh sau trong terminal để kiểm tra Python, Node.js của bạn có đáp ứng yêu cầu môi trường hay không.

python --version
node -v

Cấu hình khóa ủy quyền

Sau khi lấy API Key qua bảng điều khiển chính thức, nên chèn trực tiếp vào biến môi trường của hệ điều hành, SDK chính thức sẽ mặc định đọc biến này.

export TYPESAFE_API_KEY="sk-your-api-key"

Cài đặt và gọi Python SDK

Cài đặt gói phụ thuộc trong môi trường Python đã được ServBay kích hoạt:

pip install typesafe-sdk

Dùng Python để gửi yêu cầu phức hợp gồm chọn một, chấm điểm mức độ và dự đoán xác suất Boolean:

import os
from typesafe_sdk import TypeSafeClient, Choice, Score, Noul

# Client mặc định đọc khóa từ biến môi trường TYPESAFE_API_KEY
client = TypeSafeClient(api_key=os.environ.get("TYPESAFE_API_KEY"))

# Trạng thái có thể là dict, văn bản thuần hoặc cấu trúc hội thoại nhiều lượt
state_data = {
    "ticket_id": "TCK-9801",
    "customer_message": "Tôi đã không thể xuất hóa đơn suốt ba ngày liên tiếp, hệ thống liên tục báo lỗi 500, việc này đã ảnh hưởng đến việc đối chiếu và kiểm toán của chúng tôi, đề nghị xử lý ngay.",
    "account_tier": "Enterprise"
}

# Tập hợp các câu hỏi được gửi đồng thời
questions_to_ask = {
    "target_team": Choice(
        instructions="Xác định bộ phận nghiệp vụ chịu trách nhiệm xử lý ticket này",
        criteria={
            "billing": "Các vấn đề tài chính như tạo hóa đơn, trừ tiền thanh toán, thay đổi gói dịch vụ",
            "technical": "Lỗi chức năng nền tảng, báo lỗi bất thường, vấn đề tích hợp API",
            "sales": "Báo giá thương mại và đàm phán gia hạn",
            "other": "Các trường hợp còn lại không thể phân loại"
        }
    ),
    "urgency_level": Score(
        instructions="Đánh giá mức độ khẩn cấp và cường độ cảm xúc của vấn đề người dùng phản ánh",
        criteria=[
            "Giọng điệu bình tĩnh, chỉ trình bày sự việc",
            "Thể hiện một chút lo lắng hoặc bị cản trở, nhưng diễn đạt tiết chế",
            "Cực kỳ tức giận, có cảnh báo thiệt hại kinh doanh hoặc lời lẽ cứng rắn"
        ]
    ),
    "is_enterprise_blocker": Noul(
        instructions="Khách hàng có đang nói rằng quy trình nghiệp vụ của họ bị ảnh hưởng mang tính chặn đứng hay không"
    )
}

response = client.system_one(
    state=state_data,
    questions=questions_to_ask
)

team_result = response.answers["target_team"]
urgency_result = response.answers["urgency_level"]
blocker_result = response.answers["is_enterprise_blocker"]

print(f"Bộ phận được phân công: {team_result.choice} (độ tin cậy: {team_result.confidence:.2f})")
print(f"Điểm mức độ khẩn cấp: {urgency_result.score:.3f}")
print(f"Xác suất mang tính chặn đứng: {blocker_result.noul:.2f}")

Cài đặt và gọi Node.js SDK

Cài đặt client chính thức trong dự án dựa trên Node.js:

npm install @typesafe-ai/sdk

Thực hiện thao tác phán đoán tương tự thông qua JavaScript hoặc TypeScript:

import { TypeSafeClient, choice, score, noul } from '@typesafe-ai/sdk';

const client = new TypeSafeClient();

const response = await client.systemOne({
  state: {
    ticket_id: "TCK-9801",
    customer_message: "Tôi đã liên tục ba ngày nay không thể xuất hóa đơn được, hệ thống cứ báo lỗi 500, việc này đã ảnh hưởng đến công tác kiểm toán đối soát của chúng tôi, đề nghị xử lý ngay lập tức.",
    account_tier: "Enterprise"
  },
  questions: {
    target_team: choice("Xác định bộ phận nghiệp vụ chịu trách nhiệm xử lý ticket này", {
      billing: "Các vấn đề tài chính như tạo hóa đơn, khấu trừ thanh toán, thay đổi gói dịch vụ",
      technical: "Sự cố chức năng nền tảng, lỗi bất thường, vấn đề kết nối API",
      sales: "Báo giá thương mại và đàm phán gia hạn hợp đồng",
      other: "Các trường hợp còn lại không thể phân loại"
    }),
    urgency_level: score("Đánh giá mức độ khẩn cấp và cường độ cảm xúc của vấn đề mà người dùng phản ánh", [
      "Giọng điệu ôn hòa, chỉ trình bày sự việc",
      "Thể hiện phần nào lo lắng hoặc bế tắc, nhưng diễn đạt có chừng mực",
      "Vô cùng tức giận, có kèm cảnh báo về thiệt hại kinh doanh hoặc lời lẽ cứng rắn"
    ]),
    is_enterprise_blocker: noul("Liệu khách hàng có đang thể hiện rằng quy trình nghiệp vụ của họ bị ảnh hưởng theo hướng gián đoạn hay không")
  }
});

console.log(`Bộ phận được phân công: ${response.answers.target_team.choice}`);
console.log(`Điểm mức độ khẩn cấp: ${response.answers.urgency_level.score}`);
console.log(`Xác suất gián đoạn: ${response.answers.is_enterprise_blocker.noul}`);

Ví dụ kịch bản sử dụng nghiệp vụ điển hình

Trong hệ thống phần mềm thực tế, Jev phù hợp để nhúng vào các nút nghiệp vụ cần kiểm soát nhanh, phân loại hoặc lọc ngôn ngữ tự nhiên.

Phân luồng thông minh và định mức độ nghiêm trọng cho ticket chăm sóc khách hàng

Hệ thống chăm sóc khách hàng lớn mỗi ngày nhận lượng lớn văn bản tư vấn. Nếu dùng mô hình lớn phổ thông để phân luồng, chi phí API hàng tháng không nhỏ và thời gian phản hồi khá dài.

Truyền yêu cầu gốc mà người dùng gửi đến làm State vào Jev, có thể đồng thời khởi tạo ba kiểm tra. Dùng Choice để xác định nhóm nghiệp vụ phụ trách (hỗ trợ kỹ thuật, hoàn tiền thanh toán hoặc tư vấn thương mại), dùng Score để định lượng mức độ bức xúc của người dùng, dùng Noul để phán đoán sự cố đó đã khiến nghiệp vụ cốt lõi của khách hàng đình trệ hay chưa. Hệ thống dựa trên nhãn và điểm trả về, đẩy ticket đến nhân viên tương ứng trong 200 mili giây, với khách hàng doanh nghiệp có tính chặn cao thì trực tiếp kích hoạt phản hồi khẩn cấp.

Kiểm soát rủi ro nội dung cộng đồng và sàng lọc tuân thủ sơ bộ

Bảng Gói phần mềm của ServBay: cài đặt Python 3.13 một chạm

Trong diễn đàn, phần bình luận UGC hoặc ứng dụng xã hội, mô-đun tuân thủ nội dung cần giám sát thời gian thực lượng lớn phát ngôn.

Hệ thống có thể dùng nguyên thủy Noul để thăm dò nhanh xác suất vi phạm, đặt câu hỏi liệu nội dung có chứa thông tin quảng cáo độc hại, có mang phát ngôn công kích hay không. Nếu phát hiện xác suất thấp hơn 0.1, hệ thống cho qua trực tiếp; nếu xác suất nằm trong khoảng 0.1 đến 0.85, chuyển sang danh sách kiểm duyệt thủ công; nếu xác suất cao hơn 0.85 và độ tin cậy đầy đủ, hệ thống tự động chặn. Thiết kế phễu phân cấp này giúp kiểm duyệt thủ công chỉ cần xử lý số ít mục có ranh giới mơ hồ.

Chấm điểm chất lượng lead bán hàng và phân loại cơ hội kinh doanh

Sau khi hệ thống tự động hóa bán hàng (CRM) nhận được biểu mẫu để lại thông tin hoặc bản ghi liên lạc do khách hàng tiềm năng gửi, cần phán đoán liệu có đáng để nhân viên bán hàng theo dõi hay không.

Đặt quy mô công ty, mô tả nhu cầu và nỗi đau nghiệp vụ mà khách hàng điền vào State. Dùng nguyên thủy Score để chấm điểm liên tục từ cấp 1 đến 5 cho ý định mua hàng của khách, dùng nguyên thủy Choice để khớp phiên bản giải pháp ngành tương ứng của khách, dùng Noul để xác minh khách hàng có ngân sách mua hàng rõ ràng hay không. Cơ hội giá trị cao có điểm xếp đầu được phân trực tiếp cho nhân viên bán hàng nòng cốt, cơ hội điểm thấp giao cho hệ thống email tự động nuôi dưỡng dài hạn.

Lọc tính hợp lệ của đoạn truy xuất tri thức RAG

Trong pipeline tạo sinh tăng cường truy xuất (RAG), vài đoạn văn bản đầu tiên được cơ sở dữ liệu vector truy xuất có thể do khái quát ngữ nghĩa mà lẫn nội dung không liên quan. Việc nhét trực tiếp các đoạn không liên quan này vào mô hình lớn dễ gây ảo giác và làm tăng chi phí tính toán.

Đóng gói câu hỏi cụ thể của người dùng cùng một đoạn văn bản được truy xuất thành State, gọi nguyên thủy Noul để hỏi liệu đoạn đó có chứa thông tin sự kiện cần thiết để trả lời câu hỏi hay không. Chỉ những đoạn có xác suất cao hơn ngưỡng nhất định mới được giữ lại và đưa vào mô hình lớn, các đoạn nhiễu còn lại đều bị loại bỏ trong mã cục bộ, giúp nâng cao đáng kể độ chặt chẽ của câu trả lời được tạo sinh.

Các mô hình kiến trúc kỹ thuật nâng cao

Sau khi nắm được API cơ bản, cách tổ chức các lệnh gọi này bên trong hệ thống phần mềm sẽ trực tiếp quyết định tốc độ thực thi và hiệu suất chi phí tổng thể của hệ thống. Ba mô hình kiến trúc sau được áp dụng rộng rãi trong thực tế.

Đặt câu hỏi song song đầu cơ

Bình thường khi gọi giao diện mạng thường dùng logic tuần tự, hỏi một câu trước, nhận kết quả rồi mới gửi yêu cầu tiếp theo.

Jev có cơ chế nội bộ lấy mẫu song song, trong một yêu cầu duy nhất, hỏi 1 câu và hỏi đồng thời 10 câu có thời gian gần như tương đương, và kết quả đầu ra không tính phí. Về mặt kỹ thuật, nên đóng gói toàn bộ các phán đoán có thể dùng đến ở chuỗi phía sau vào một yêu cầu duy nhất để gửi đi. Sau khi nhận được trọn bộ kết quả, mã thông thường cục bộ sẽ rẽ nhánh phán đoán, loại bỏ độ trễ tích tụ do nhiều lần khứ hồi mạng.

response = client.system_one(
    state=ticket_payload,
    questions={
        "category": Choice(
            instructions="Danh mục chính của ticket",
            criteria={
                "bug": "Báo cáo lỗi hệ thống",
                "refund": "Yêu cầu hoàn tiền",
                "consulting": "Tư vấn nghiệp vụ"
            }
        ),
        "bug_reproducible": Noul(instructions="Nội dung có chứa các bước tái hiện hoặc mô tả môi trường hay không"),
        "refund_eligible": Noul(instructions="Khách hàng có yêu cầu rõ ràng hoàn trả số tiền đã thanh toán hay không"),
        "severity": Score(
            instructions="Mức độ phá hủy của sự cố",
            criteria=["Lỗi UI nhẹ", "Một phần chức năng bị hạn chế nhưng có phương án thay thế", "Hệ thống sập, không có phương án thay thế"]
        )
    }
)

answers = response.answers
category = answers["category"].choice

# Được điều phối trực tiếp bằng mã cục bộ thông thường, không chờ mạng lần hai
if category == "bug":
    if answers["severity"].score > 1.2 and answers["bug_reproducible"].noul > 0.6:
        escalate_to_oncall_engineer(ticket_payload)
    else:
        append_to_backlog(ticket_payload)
elif category == "refund" and answers["refund_eligible"].noul > 0.8:
    trigger_refund_workflow(ticket_payload)

Định tuyến bằng cổng độ tin cậy

Mô hình lớn phổ thông khi gặp bài toán phán đoán khó thường dễ đưa ra câu trả lời chắc chắn nhưng sai. Chỉ số độ tin cậy do Jev xuất ra được huấn luyện hiệu chỉnh bởi thuật toán RLCD, độ tin cậy cao trên phân phối thống kê tương ứng trực tiếp với tỷ lệ đúng có độ chính xác cao hơn.

Hệ thống có thể thiết lập ngưỡng chặn theo mức độ rủi ro nghiệp vụ. Với logic truy vấn rủi ro thấp, khi độ tin cậy đạt tiêu chuẩn cơ bản là có thể tự động cho qua hoàn toàn; còn thao tác ghi rủi ro cao liên quan trực tiếp đến sửa dữ liệu, chuyển tài sản thì yêu cầu độ tin cậy cực cao mới có thể kích hoạt. Một khi độ tin cậy rơi xuống dưới đường cảnh báo, hệ thống lập tức tạm dừng thực thi tự động, chuyển cho người kiểm tra lại hoặc mô hình suy luận bậc cao tiếp quản.

intent = response.answers["user_intent"]

# Từ chối thực thi tự động một cách mù quáng khi độ tin cậy thấp
if intent.confidence < 0.60:
    forward_to_human_agent(user_query)
elif intent.choice == "query_balance":
    execute_query_balance(user_id)
elif intent.choice == "transfer_funds":
    if intent.confidence >= 0.92:
        execute_transfer(transaction_data)
    else:
        prompt_user_secondary_confirmation(user_query)

Phân phối công cụ trước mô hình lớn

Trong hệ thống tác tử (Agent), nếu một lần nhét toàn bộ tệp định nghĩa của hàng chục công cụ nghiệp vụ cho mô hình lớn phổ thông đắt đỏ, chi phí ngữ cảnh rất lớn, mô hình lớn cũng dễ chọn nhầm công cụ.

Cách làm được khuyến nghị là đặt Jev trước mô hình lớn để làm người gác cổng định tuyến. Sau khi yêu cầu người dùng đến, trước tiên Jev với chi phí cực thấp sẽ chọn ra nhãn công cụ duy nhất tương ứng từ danh sách công cụ, sau đó mô hình lớn phổ thông chỉ nhận một định nghĩa công cụ đã được chọn này để trích xuất tham số. Kiến trúc tầng nối tiếp như vậy có thể giảm khoảng sáu mươi phần trăm chi phí gọi tổng hợp, nâng cao đáng kể độ chính xác khi công cụ được khớp trúng.

Ranh giới kỹ thuật và hạn chế

Khi lựa chọn công nghệ, hiểu rõ điểm yếu của mô hình có thể ngăn ngừa việc gặp phải hành vi ngoài dự kiến trong môi trường sản xuất.

Xu hướng hiểu theo nghĩa tuyệt đối

Mô hình suy đoán xác suất nghiêm ngặt theo nghĩa mặt chữ, không tự suy diễn bổ sung tiền đề mà nhà phát triển đã bỏ qua trong prompt. Nếu phân loại lệch khỏi kỳ vọng, thường cần tự kiểm tra xem trong chỉ thị có đưa ra định nghĩa loại trừ lẫn nhau đầy đủ hay không.

Không có khả năng số học ký hiệu và đếm thực thể

Mô hình không thể trực tiếp hoàn thành tính toán số trị hoặc thống kê liên tục. Khi thống kê số lượng, nên trong mã nghiệp vụ dùng vòng lặp duyệt qua từng mục để gọi Noul, cuối cùng tính tổng trong mã cục bộ.

Thiếu logic suy diễn thời gian

Chuỗi ngày tháng trong mô hình chỉ được xử lý như ký tự thông thường, mô hình không thể tự tính chênh lệch thời gian và thứ tự trước sau tuyệt đối. Việc tính toán thời gian và kiểm tra khoảng cần được mã xử lý trước khi truyền vào State.

Sơ đồ khái niệm Jev by TypeSafe: nhiều nguồn đầu vào hội tụ thành ba loại đầu ra quyết định có cấu trúc

Nhiễu văn bản dài và suy giảm chú ý

Việc chồng chất lượng lớn văn bản không liên quan vào State sẽ khiến độ chính xác phán đoán giảm xuống. Nên làm sạch văn bản thích hợp trước khi gọi, chỉ giữ lại các trường liên quan trực tiếp đến phán đoán hiện tại.

Đối chiếu lựa chọn công nghệ

Chiều đánh giá Mô hình lớn tự hồi quy phổ thông (LLM) Mô hình quyết định (Jev)
Hình thức đầu ra Sinh văn bản tự do, cần dùng JSON Schema để kiểm tra Dữ liệu rời rạc có kiểu mạnh nguyên bản (Choice, Score, Noul)
Thời gian phản hồi Từ 3 giây đến 30 giây tùy trường hợp 70 mili giây đến 500 mili giây
Quy tắc tính phí Tính phí theo Token cả đầu vào và đầu ra, văn bản dài tốn kém Phí đầu vào thấp (0.042 USD/MTok), đầu ra không thu phí
Phương thức lấy mẫu Sinh tuần tự từng Token Lan truyền xuôi song song
Biểu hiện độ tin cậy Mức độ tự tin tự thuật dao động lớn, dễ quá tự tin RLCD hiệu chỉnh phân phối xác suất, dữ liệu có tính thống kê
Tác vụ phù hợp Sinh văn bản, viết mã, suy luận phức tạp nhiều bước, hội thoại mở Định tuyến trạng thái, phân luồng công cụ, phân loại ý định, lọc điều kiện

Tổng kết

Trong kiến trúc ứng dụng AI hiện đại, giá trị của Jev không phải là thay thế mô hình lớn tạo sinh, mà là tách lượng lớn phán đoán Boolean, chấm điểm mức độ và định tuyến nhiều lựa chọn ra khỏi pipeline tạo sinh cồng kềnh.

Sự phân công hợp lý khi triển khai kỹ thuật là: mã thông thường cục bộ xử lý tính toán chính xác và luân chuyển dữ liệu, Jev xử lý quyết định xác suất ngôn ngữ tự nhiên ở mức mili giây, mô hình lớn phổ thông tập trung vào sáng tạo nội dung chuyên sâu và suy luận phức tạp. Kết hợp tách lớp nhiều tầng có thể đảm bảo hệ thống ổn định đáng tin cậy, đồng thời cân bằng hiệu suất vận hành và chi phí tính toán.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí