OpenAI mở Decisions API cho các bước phân loại và định tuyến nhỏ trong ứng dụng
OpenAI nói Decisions API chọn nhanh hơn tới 10 lần. Chạy nó cạnh cách cũ trên 30 ca có đáp án thật, đặt ngưỡng tự tin để chuyển ca khó cho người.
Xong bài này bạn làm được Người đọc gom 30 ca đã có đáp án thật từ một bước chọn đang chạy, chạy cả cách cũ lẫn Decisions API trên đúng các ca đó, rồi so số ca đúng, thời gian và chi phí trước khi bàn chuyện thay.
Ứng dụng của bạn gọi một mô hình lớn hàng nghìn lần mỗi ngày chỉ để chọn một trong bốn hàng xử lý cho phiếu hỗ trợ, hoặc để quyết định agent (phần mềm AI tự gọi công cụ) nên làm tiếp hay hỏi lại. Ngày 22/10/2026, OpenAI đưa Decisions API ra rộng rãi, một API (cổng để chương trình gọi dịch vụ) riêng cho đúng loại việc này, và nói nó nhanh hơn tới 10 lần. Cách đáng làm với con số ấy là chạy nó trên 30 ca đã có đáp án thật của chính bạn, theo bốn bước dưới đây, rồi mới bàn chuyện thay.
OpenAI nói gì về Decisions API
Theo OpenAI, ứng dụng và agent đưa ra rất nhiều quyết định nhỏ trong một quy trình: phân loại một đầu vào, chọn nơi chuyển yêu cầu, chọn hành động kế tiếp. Từng cái thì đơn giản, nhưng nhân lên thì độ trễ và chi phí cộng dồn. Decisions API xây trên GPT-6 Luna (mô hình của OpenAI) và tập trung vào những câu hỏi có tập đáp án giới hạn. Hãng nói nó cho quyết định gần thời gian thực từ chữ, ảnh và dữ liệu có cấu trúc, nhanh hơn tới 10 lần so với gọi chính GPT-6 Luna qua Responses API (cổng gọi mô hình thông thường của OpenAI).
Cách dùng, theo bài đăng: bạn định nghĩa một câu hỏi và các đáp án được phép, rồi đưa ngữ cảnh dưới dạng chữ, ảnh hoặc JSON (dữ liệu có cấu trúc dạng khóa–giá trị). API trả về một trong ba kiểu:
- predicate (mệnh đề): xác suất từ 0 đến 1 rằng một điều kiện đúng, ví dụ sản phẩm có hư hỏng nhìn thấy được hay không.
- choice (lựa chọn): một giá trị trong danh sách bạn đưa, ví dụ agent nên tiếp tục, thử lại hay hỏi làm rõ. Phản hồi kèm xác suất và mức tự tin (confidence) cho từng lựa chọn.
- score (điểm): chấm đầu vào theo các mức có thứ tự trong một thang chấm, ví dụ mức nặng của hư hỏng.
Mỗi yêu cầu hỏi được tối đa 400 câu, gấp đôi giới hạn trước đó. Giá là 0,10 USD cho mỗi triệu token (đơn vị chữ mà mô hình tính tiền) đầu vào, 0,01 USD cho phần đầu vào đã lưu đệm (cache), và OpenAI nói không tính tiền token đầu ra. Có xử lý theo vùng ở Mỹ và EU.
Hai ví dụ khách hàng trong bài cho thấy cách hãng muốn bạn đọc con số. Box, theo lời trích trong bài, dùng nó để phân loại tài liệu doanh nghiệp rồi chuyển đến bước tiếp theo: trên 30 ca giấy chứng nhận bảo hiểm, chọn tuyến nhanh khoảng 5 lần so với Responses API với độ chính xác như nhau, còn ca ít chắc chắn thì chuyển cho người duyệt. Sierra nói họ dùng nó để chọn hành động kế tiếp trong hội thoại với khách, dưới 280 ms ở p95 (95% lượt gọi xong trong chừng đó thời gian hoặc nhanh hơn), nhanh khoảng 3 lần và rẻ hơn 90% mỗi lượt gọi so với cách trước, không giảm kết quả với khách. Tất cả là số do OpenAI và khách hàng của hãng nêu, bài đăng không nêu ai chạy lại độc lập.
Bốn bước thử trên 30 ca có đáp án thật
Ví dụ dưới đây: một cửa hàng online (bài dựng để minh họa) chọn một trong bốn hàng xử lý (giao hàng, đổi trả, thanh toán, khác) cho mỗi phiếu hỗ trợ.
-
Chọn một bước chọn lặp lại có tập đáp án rõ. Bước hợp là bước mà mô hình lớn chỉ cần trả một nhãn, như bốn hàng xử lý ở trên. Viết sẵn danh sách đáp án và định nghĩa mỗi đáp án trong một câu, vì đó cũng là thứ bạn sẽ đưa cho Decisions API.
-
Gom 30 ca đã có đáp án do người xác nhận. Lấy từ phiếu cũ mà nhân viên đã xử lý, nhớ lẫn vài ca khó nằm giữa hai hàng. Con số 30 lấy theo ví dụ Box nêu; đủ để thấy chênh lệch lớn, còn khác biệt nhỏ thì cần thêm ca.
-
Chạy cả cách cũ lẫn Decisions API trên đúng 30 ca ấy. Theo hướng dẫn lập trình của OpenAI, bạn gửi yêu cầu
POST /v1/decisionsvới mô hìnhgpt-6-luna, nội dung phiếu tronginputvà câu hỏi kiểu choice trongquestions. Với bốn hàng xử lý của ví dụ, mỗi đáp án kèm một câu mô tả, thân yêu cầu có dạng sau (phiếu mẫu do bài dựng để minh họa, cấu trúc theo ví dụ trong hướng dẫn):{ "model": "gpt-6-luna", "input": "Tôi bị trừ tiền hai lần cho đơn hàng này.", "questions": [{ "type": "choice", "name": "hang_xu_ly", "instructions": "Chọn hàng xử lý phù hợp nhất cho phiếu hỗ trợ này.", "choices": [ { "value": "giao_hang", "description": "Giao hàng và theo dõi đơn." }, { "value": "doi_tra", "description": "Đổi hàng, trả hàng." }, { "value": "thanh_toan", "description": "Thanh toán, hóa đơn và hoàn tiền." }, { "value": "khac", "description": "Yêu cầu ngoài ba nhóm trên." } ] }] }Phản hồi có dạng sau (hướng dẫn gọi nó là bản trích minh họa; nhãn và con số ở đây là số mẫu theo dạng ấy):
{ "answers": [{ "type": "choice", "name": "hang_xu_ly", "choice": "thanh_toan", "probabilities": [ { "value": "giao_hang", "probability": 0.01 }, { "value": "doi_tra", "probability": 0.02 }, { "value": "thanh_toan", "probability": 0.95 }, { "value": "khac", "probability": 0.02 } ], "confidence": 0.93 }] }Trường
choicelà đáp án được chọn,probabilitieslà xác suất của từng đáp án, cònconfidencelà mức tự tin của câu trả lời; đây là trường bạn lấy để đặt ngưỡng. Hướng dẫn khuyên dùng các ca có đáp án từ chính ứng dụng để đặt ngưỡng cho việc định tuyến, lọc hoặc chuyển người duyệt, và chọn ngưỡng theo cái giá của báo nhầm và bỏ sót. Chi tiết nằm ở Decisions developer guide; bảng giá và chi tiết lưu đệm nằm ở mục giá và tình trạng cung cấp của cùng hướng dẫn. Ghi ba số cho mỗi cách: số ca đúng, thời gian mỗi lượt (chạy nhiều lần vào giờ bình thường rồi lấy mức p95, tức thời gian mà 19 trong 20 lượt đạt được hoặc nhanh hơn), và chi phí mỗi lượt. Nhìn thêmconfidenceDecisions API trả cho từng ca: nếu các ca sai thường cóconfidencethấp, đặt một ngưỡng, dưới ngưỡng chuyển cho người, như cách Box làm. -
Đặt điều kiện chuyển trước khi xem kết quả. Ví dụ: chỉ chuyển khi số ca đúng không thấp hơn cách cũ và thời gian giảm đủ để bạn thấy khác biệt trong ứng dụng. Ghi điều kiện ra giấy trước khi chạy để khỏi chỉnh theo kết quả.
Khi kết quả không hơn
Nếu Decisions API đúng ít ca hơn cách cũ, mở lại các ca sai: đáp án cho phép có hai cái gần nghĩa không (“đổi trả” và “hoàn tiền”), hoặc ngữ cảnh đưa vào có thiếu thứ người xử lý vẫn dựa vào không. Sửa định nghĩa đáp án rồi chạy lại đúng 30 ca. Nếu lỗi vẫn dồn vào một đáp án, giữ cách cũ cho đáp án đó và chỉ chuyển phần còn lại. Nếu số ca đúng bằng nhau nhưng thời gian đo ở chỗ bạn không giảm đáng kể, giữ cách cũ: bài đăng của OpenAI nêu thêm công suất ở vài vùng châu Á, nhưng không nói riêng về Việt Nam, nên độ trễ phải đo từ máy chủ của bạn.
Nguồn tham khảo
- OpenAI, “Build more responsive apps with the Decisions API” (22/10/2026) — bài đăng giới thiệu Decisions API, ba kiểu câu trả lời, giá, vùng xử lý và ví dụ của Box và Sierra.
- OpenAI, Decisions developer guide — nguồn cho dạng yêu cầu và phản hồi của
POST /v1/decisions, lời khuyên đặt ngưỡng theo mức tự tin, và mục giá, tình trạng cung cấp.