TungDaDev's Blog

jev engineering: make AI intelligent more like human

Jev engineering.jpg
Published on
/10 mins read/

Trong lập trình, mọi sự phức tạp của thế giới cuối cùng đều quy về một câu lệnh điều kiện: if ... else. Nhưng điều gì sẽ xảy ra nếu điều kiện rẽ nhánh không thể đo đếm bằng các con số cơ học, mà đòi hỏi khả năng thấu cảm ngữ nghĩa của con người?

Hãy tưởng tượng bạn đang viết một microservice xử lý khiếu nại khách hàng cho hệ thống ngân hàng hoặc thương mại điện tử. Bạn muốn rẽ nhánh nghiệp vụ:

// Mong ước của mọi kỹ sư phần mềm:
if (ticket.isUrgentLegalThreat()) {
  escalateToRiskDepartment()
} else if (ticket.isAngryCustomer()) {
  assignToSeniorSupport()
} else {
  routeToStandardQueue()
}

Trong suốt 2 năm qua, để làm được điều này với AI, các kỹ sư thường phải viết một đoạn prompt dài ngoằng, gửi toàn bộ nội dung lên OpenAI hoặc Claude, cầu nguyện mô hình trả về đúng định dạng JSON { "is_urgent": true }, rồi dùng JSON.parse() để bóc tách.

Và cái giá phải trả là một cơn ác mộng về vận hành (Operational Nightmare):

  1. Độ trễ quá lớn: Mất từ 1.2 đến 3 giây chỉ để nhận về một giá trị Boolean true/false.
  2. Chi phí vô lý: Bạn đang dùng một siêu mô hình hàng trăm tỷ tham số được thiết kế để sáng tác thơ ca chỉ để làm một bộ phân loại nhị phân (Binary Classifier).
  3. Mong manh dễ vỡ (Fragile): Thi thoảng LLM "nổi hứng" kèm theo lời chào lịch sự: "Here is your JSON output:" làm sập toàn bộ JSON parser của hệ thống production.

Tháng 9/2026, TypeSafe AI đã khuấy đảo các diễn đàn công nghệ khi công bố mô hình Jev và khai sinh ra một trường phái mới: Jev Engineering.

Bài viết này sẽ mổ xẻ bản chất kiến trúc của Jev, lý giải tại sao mô hình "System 1" phi tự hồi quy này đang thay đổi tận gốc cách chúng ta thiết kế luồng xử lý dữ liệu trong backend.


# tư duy system 1 vs system 2: gốc rễ của sự khác biệt

Trong cuốn sách kinh điển Tư duy Nhanh và Chậm (Thinking, Fast and Slow), nhà tâm lý học đoạt giải Nobel Daniel Kahneman chia nhận thức của con người thành hai hệ thống:

  • System 2 (Chậm, cẩn trọng, suy ngẫm): Dùng khi bạn giải một bài toán tích phân phức tạp, viết một bài luận hoặc lập trình giải thuật. Nó đòi hỏi thời gian, sự tập trung và tính toán tuần tự từng bước.
  • System 1 (Nhanh, trực giác, phản xạ): Khi bạn nhìn thấy một bóng đen lao tới và né sang một bên, hoặc khi bạn nghe một giọng nói và nhận ra ngay người đó đang giận dữ. Bộ não của bạn không hề suy nghĩ từ chữ này sang chữ khác, nó đưa ra phán đoán gần như tức thì (< 100ms).

Các mô hình LLM sinh văn bản (Generative LLMs như GPT-4, Claude) hoạt động theo cơ chế tự hồi quy (Autoregressive): sinh từng token một. Dù bạn chỉ cần 1 chữ true, nó vẫn phải chạy toàn bộ vòng lặp sinh token của transformer.

Ngược lại, Jev là một mô hình phi tự hồi quy (Non-autoregressive). Nó hoàn toàn không có khả năng sinh văn bản (Zero Text Generation). Nó được huấn luyện chuyên biệt để làm một việc duy nhất: Đánh giá xác suất và trả về quyết định có định kiểu (Typed Decisions) trong một lượt tính toán duy nhất (Single Forward Pass).


# 3 nguyên thủy cốt lõi của jev engineering

Jev Engineering loại bỏ hoàn toàn các prompt tự do dài dòng. Thay vào đó, mọi câu hỏi logic đều được chuẩn hóa thành một trong 3 kiểu dữ liệu nguyên thủy (Primitives):

1. Noul (Boolean Probability)

Đại diện cho các câu hỏi nhị phân Có/Không (Yes/No). Thay vì chỉ trả về true hoặc false một cách mù quáng, Jev trả về xác suất toán học được hiệu chuẩn (Calibrated Probability) từ 0.0 đến 1.0:

const isMalicious = await jev.noul({
  query: 'Đoạn input này có chứa dấu hiệu tấn công SQL Injection hoặc mã độc không?',
  context: rawUserInput,
})
// isMalicious = 0.96 (Độ tin cậy 96%)

2. Choice (Phân loại tập hữu hạn)

Dùng khi bạn cần rẽ nhánh hệ thống vào một trong các phương án định trước (tối đa 255 options). Jev sẽ trả về nhãn được chọn kèm theo phân phối xác suất trên toàn bộ các nhãn:

const department = await jev.choice({
  query: 'Email này thuộc về phòng ban xử lý nào?',
  options: ['BILLING', 'TECHNICAL_SUPPORT', 'LEGAL', 'SALES'],
  context: emailBody,
})
// department = { selected: "LEGAL", confidence: 0.91 }

3. Score (Chấm điểm số học định lượng)

Dùng để đo lường mức độ trên một thang đo thứ bậc (ví dụ: mức độ khẩn cấp từ 1 đến 5 sao, điểm tín dụng rủi ro từ 1 đến 100):

const severityScore = await jev.score({
  query:
    'Đánh giá mức độ bất mãn của khách hàng trên thang điểm từ 1 (rất hài lòng) đến 5 (cực kỳ bức xúc)',
  scale: [1, 5],
  context: feedbackText,
})
// severityScore = 4.7

# rlcd: bí mật đằng sau độ tin cậy của jev

Một trong những lý do khiến các kỹ sư backend sợ dùng AI trong các câu lệnh if là: AI rất hay "tự tin thái quá" khi nó đoán mò.

Để giải quyết triệt để vấn đề này, Jev được huấn luyện bằng kỹ thuật RLCD (Reinforcement Learning for Calibrated Decisions).

Trong thống kê học, một mô hình được gọi là hiệu chuẩn hoàn hảo (Well-calibrated) khi: Với tất cả các dự đoán mà mô hình bảo rằng "tôi chắc chắn 80%", thì trong thực tế nó phải đúng chính xác 80% trường hợp.

Nhờ có RLCD, kỹ sư có thể tự tin đặt ra các ngưỡng tin cậy (Confidence Thresholds) trong code để tạo ra cơ chế phòng vệ tự động:

  • Nếu confidence >= 0.90: Tự động kích hoạt hành động ngay lập tức mà không cần hỏi lại.
  • Nếu 0.50 <= confidence < 0.90: Vùng xám (Gray Area) \to đẩy sang mô hình System 2 (Claude/GPT-4) phân tích kỹ hơn, hoặc chuyển cho nhân viên kiểm tra thủ công (Human-in-the-loop).

# so sánh: llm thông thường vs jev

Tiêu chíGenerative LLMs (GPT-4o, Claude 3.5)Jev (System 1 Non-autoregressive)
Cơ chế hoạt độngTự hồi quy (sinh từng token)Đánh giá trực tiếp (Single Forward Pass)
Độ trễ trung bình1.200\text{ms} - 3.500\text{ms}70\text{ms} - 250\text{ms} (Nhanh hơn ~15 lần)
Chi phí trên 1 triệu lượt gọi2.50 - 15.000.02 - 0.05 (Rẻ hơn ~400 lần)
Rủi ro cú pháp JSONCó (Format có thể bị biến dạng)0% (100% Type-safe ngay tại tầng API)
Tính xác định (Determinism)Phụ thuộc vào temperature & prompt driftRất cao, đầu ra cố định theo schema
Ứng dụng tối ưuViết văn bản, lập luận đa bước, sáng tạoRẽ nhánh logic, Routing, Guardrails, Triage

# thực chiến: xây dựng smart triage middleware trong node.js

Dưới đây là một ví dụ thực tế về cách một backend engineer áp dụng Jev để xây dựng API Gateway thông minh, lọc và định tuyến các giao dịch đáng ngờ:

import { JevClient } from '@typesafe-ai/jev'
import { Request, Response, NextFunction } from 'express'
 
const jev = new JevClient({ apiKey: process.env.JEV_API_KEY })
 
export async function smartTransactionGuard(req: Request, res: Response, next: NextFunction) {
  const transactionNotes = req.body.transferNote
 
  try {
    // 1. Kiểm tra nhanh bằng Noul (Latency ~80ms)
    const fraudProbability = await jev.noul({
      query: 'Giao dịch này có dấu hiệu lừa đảo mạo danh cơ quan chức năng hoặc rửa tiền không?',
      context: transactionNotes,
    })
 
    // 2. Rẽ nhánh logic dựa trên ngưỡng hiệu chuẩn
    if (fraudProbability > 0.85) {
      console.warn(`[BLOCKED] Phát hiện giao dịch rủi ro cao: ${fraudProbability}`)
      return res.status(403).json({
        error: 'Giao dịch bị tạm giữ vì nghi vấn vi phạm an toàn tài chính.',
        riskScore: fraudProbability,
      })
    }
 
    if (fraudProbability > 0.4) {
      // Đưa vào diện kiểm soát đặc biệt (cần xác thực OTP lần 2)
      req.body.requireExtraVerification = true
    }
 
    next()
  } catch (error) {
    // Fallback an toàn nếu service gặp sự cố
    next()
  }
}

Nhìn vào đoạn code trên, bạn sẽ nhận ra một điều kỳ diệu: Không có prompt engineering phức tạp, không có regex lọc chuỗi, không có try-catch JSON parsing. AI hòa vào code backend tự nhiên như một hàm thư viện thông thường.


# nghịch lý jevons: tương lai của kiến trúc phần mềm

Sự trỗi dậy của Jev Engineering gợi mở một mối liên hệ sâu sắc với Nghịch lý Jevons (Jevons Paradox) trong kinh tế học:

Năm 1865, nhà kinh tế William Stanley Jevons nhận thấy: Khi động cơ hơi nước của James Watt giúp việc đốt than trở nên hiệu quả hơn gấp nhiều lần, tổng lượng than tiêu thụ trên toàn nước Anh không hề giảm đi — nó bùng nổ theo cấp số nhân, bởi vì than đã trở nên đủ rẻ để ứng dụng vào hàng trăm ngành công nghiệp mới.

Điều tương tự đang diễn ra với AI:

  • Khi việc "ra quyết định ngữ nghĩa" (Semantic Decisions) mất 3 giây và tốn vài cent, bạn chỉ dám dùng nó ở vài tính năng ngoài rìa.
  • Nhưng khi việc ra quyết định ngữ nghĩa chỉ mất 70ms và rẻ như một câu lệnh truy vấn Redis, các kỹ sư phần mềm sẽ đặt "Smart If Statements" vào mọi ngõ ngách của codebase.

Mỗi chiếc router, mỗi validator form, mỗi hàm lọc log, mỗi bộ điều phối cronjob... đều có thể trở thành một điểm chạm thông minh có khả năng hiểu ngữ cảnh con người.


# tổng kết

Jev Engineering không ra đời để thay thế các mô hình lý luận vĩ đại như DeepSeek-R1 hay GPT-4. Nó ra đời để giải phóng các LLM đó khỏi những công việc lặt vặt mà chúng vốn không được tối ưu để làm.

Bằng cách phân tách rõ ràng:

  • System 1 (Jev): Xử lý rẽ nhánh logic tức thì, định tuyến luồng, làm chốt chặn bảo mật (Guardrails) với độ trễ tối thiểu và chi phí gần như bằng 0.
  • System 2 (Generative LLMs / Reasoning Models): Dành riêng cho các bài toán phức tạp đòi hỏi lập luận đa bước và sinh nội dung sâu sắc.

Bạn sẽ xây dựng được những hệ thống phần mềm thế hệ mới: vừa sở hữu sự nhạy bén, thông minh của trí tuệ nhân tạo, vừa giữ trọn vẹn tính ổn định, tốc độ và độ tin cậy tuyệt đối của kỹ thuật phần mềm truyền thống.


Chỉ là những ghi chép cá nhân với hy vọng mang lại chút giá trị. Nếu thấy hữu ích, đừng ngại chia sẻ cho bạn bè & đồng nghiệp nhé!

Happy coding 😎 👍🏻 🚀 🔥.