Kimi K3.1 Pro đã có mặt trong Kimi Code, trên API của Moonshot với tên kimi-k3.1-pro và trên AIHubMix với cùng ID. Moonshot áp dụng cho model này các ràng buộc tham số giống Kimi K3, vì vậy code đang chạy với K3 chỉ cần đổi ID model và bắt đầu phiên mới là có thể tiếp tục. Code viết cho K2.x giờ có hạn chót trên nền tảng Moonshot: từ ngày 31 October 2026, Moonshot sẽ ngừng cung cấp dòng K2 cho người dùng đăng ký mới và dự kiến khai tử dòng này vào cuối tháng 12. Code đó cũng dễ gặp lỗi nhất vì thường gửi tham số temperature hoặc tắt chế độ suy luận, nhưng cả hai đều không hoạt động trên K3.1 Pro. Còn code không thiết lập mức effort sẽ chạy ở mức max, tiêu tốn nhiều token hơn bạn nghĩ và, trong Kimi Code, dùng nhiều hạn mức hơn so với K3.
Bài viết này liệt kê những lỗi dễ thấy (lỗi 400 và một lỗi 404), những lỗi âm thầm (hóa đơn, cache, ID Highspeed) và cách thiết lập Claude Code cùng Codex để dùng K3.1 Pro qua AIHubMix. Các quy tắc của K3.1 Pro lấy từ tài liệu model Kimi Code và tài liệu tham khảo về tham số model của Moonshot, trong đó nêu rõ cả hai ID K3.1 Pro đều "có cùng ràng buộc tham số như kimi-k3". Những quy tắc được ghi là của K3 lấy từ hướng dẫn K3 của Moonshot và chưa được kiểm tra lại trên K3.1 Pro. Nội dung lỗi được trích từ tài liệu, báo cáo công khai, đợt thử nghiệm K3 tháng 7 của AIHubMix và các bài kiểm tra K3.1 Pro của AIHubMix ngày 24 October 2026. Các bài kiểm tra này bao gồm những ID chính và ID kênh coding coding-kimi-k3.1-pro cùng coding-kimi-k3.1-pro-highspeed. Mỗi nhận định đều ghi rõ nguồn.
Bạn đang dùng phương thức nào?
| Bạn gọi Kimi qua | Tình trạng ngày 24 October | Bạn cần thay đổi gì |
|---|---|---|
| Kimi Code (gói thuê bao) | k3.1-pro đã hoạt động | Chọn ID; bắt đầu phiên mới |
| API Moonshot, kimi-k3 | kimi-k3.1-pro đã hoạt động | ID model |
| API Moonshot, K2.x | Sẽ ngừng hoạt động vào cuối năm 2026 | ID, chế độ suy luận, lấy mẫu |
| AIHubMix, kimi-k3 | kimi-k3.1-pro đã hoạt động | ID model; Codex dùng ID khác |
Trên API của Moonshot và AIHubMix, các ID là kimi-k3.1-pro và kimi-k3.1-pro-highspeed. Trong Kimi Code, chúng là k3.1-pro và k3.1-pro-highspeed. Một cấu hình client được ghi nhận ngày 21 October ánh xạ k3 và kimi-for-coding sang model k3.1, nhưng tài liệu Kimi Code hiện liệt kê k3 là K3 và kimi-for-coding là K2.8 Preview, vì vậy hãy chọn rõ K3.1 Pro. Gói của bạn cũng rất quan trọng: trong Kimi Code, K3.1 Pro cần gói Plus trở lên (Pro để dùng ngữ cảnh 1M), còn Highspeed cần gói Pro trở lên. Với các gói cũ, cần Moderato trở lên, và Allegretto để dùng ngữ cảnh 1M cũng như Highspeed.
Các mốc thời gian của K2 là thông tin từ Moonshot. Kể từ 31 October 2026, người dùng đăng ký mới sẽ không còn sử dụng được các model dòng K2; toàn bộ dòng này dự kiến ngừng hoạt động vào cuối December 2026. Moonshot chưa công bố ngày khai tử K3. Ngày 24 October, AIHubMix vẫn liệt kê K2.6 và K2.7 Code, chưa có ngày ngừng hoạt động.
Các lỗi dễ thấy
Tắt chế độ suy luận: HTTP 400 hoặc hoàn toàn không có suy luận
Bạn sẽ thấy: lỗi HTTP 400 trong Kimi Code. Tài liệu Kimi Code của Moonshot nêu rằng các model K3.1 Pro "chỉ hỗ trợ chế độ suy luận. Yêu cầu tắt chế độ suy luận sẽ bị từ chối." Tài liệu không trích nguyên văn nội dung lỗi. Trên API của Moonshot, K3.1 Pro áp dụng các ràng buộc của K3, vốn luôn suy luận. Qua AIHubMix thì không có lỗi 400: trong đợt kiểm tra ngày 24 October, yêu cầu thinking: {"type": "disabled"} trả về 200 trên cả hai ID chính, qua Chat Completions và Messages, nhưng phản hồi không có phần suy luận. Trường hợp này là lỗi âm thầm, vì vậy hãy kiểm tra phản hồi để phát hiện phần suy luận bị thiếu.
Nguồn gốc: code K2.x đã tắt chế độ suy luận để nhận câu trả lời nhanh hơn, chẳng hạn bằng extra_body={"thinking": {"type": "disabled"}}, và các công cụ gửi mức effort off, none hoặc disabled (xem phần tiếp theo).
Cách khắc phục: bỏ tùy chọn tắt chế độ suy luận. Để giữ phần suy luận ngắn gọn, hãy gửi reasoning_effort: "low" thay vào đó.
Trường hợp còn sót lại khối "enabled" thì khác. Trong đợt kiểm tra ngày 24 October, AIHubMix gửi thinking: {"type": "enabled"} của K2.x sang K3.1 Pro và nhận được 200, trên cả các ID chính lẫn kênh coding. Tài liệu của Moonshot gọi thinking là "tham số yêu cầu chỉ dành cho K2.x", còn một hướng dẫn khắc phục sự cố của bên thứ ba nêu khối này còn sót lại là nguyên nhân gây lỗi 400 khi chuyển từ K2.x sang K3, vì vậy dù sao cũng nên xóa nó.
Nếu giữ K2.7 Code làm cấp dự phòng cho đến khi model ngừng hoạt động, hãy bật chế độ suy luận. Hướng dẫn Claude Code của Moonshot ghi nhận lỗi 400 invalid thinking: only type=enabled is allowed for this model khi tắt chế độ suy luận trên K2.7 Code.
Giá trị effort: off, none và giá trị không xác định sẽ trả về 400
Bạn sẽ thấy: lỗi HTTP 400 khi effort là off, none, disabled hoặc một giá trị mà Kimi Code không nhận diện. K3.1 Pro có ba mức: low, high và max. Tài liệu Kimi Code của Moonshot ánh xạ các giá trị mà công cụ bên thứ ba gửi sang những mức này:
| Công cụ của bạn gửi | K3.1 Pro chạy ở mức |
|---|---|
| Không gửi gì | max (mặc định) |
| ultra, max hoặc xhigh | max |
| high hoặc medium | high |
| low, minimum hoặc light | low |
| off, none hoặc disabled | HTTP 400 |
| Bất kỳ giá trị nào khác | HTTP 400 |
Tài liệu API của Moonshot chỉ ghi K3.1 Pro hỗ trợ low, high và max, trong đó max là mặc định, và không mô tả cách ánh xạ. Trên AIHubMix, trong đợt kiểm tra ngày 24 October, low, medium, high, max và xhigh đều trả về 200 trên cả bốn ID K3.1 Pro. Với kimi-k3.1-pro, off và một giá trị không xác định cũng trả về 200, kèm phần suy luận; còn none trả về 200 nhưng hoàn toàn không có phần suy luận. Trên AIHubMix, những trường hợp này âm thầm thất bại chứ không trả về 400.
Phần lỗi âm thầm: không có mức medium. Công cụ đặt ở medium sẽ chạy ở mức high, còn công cụ đặt ở xhigh sẽ chạy ở mức max, mức tốn kém nhất.
Cách khắc phục: gửi rõ low, high hoặc max, đồng thời kiểm tra chính xác công cụ của bạn gửi gì trong yêu cầu.
"temperature không hợp lệ: mô hình này chỉ cho phép giá trị 1"
Bạn sẽ thấy: 400 invalid temperature: only 1 is allowed for this model. Trong đợt kiểm tra ngày 24 October, AIHubMix nhận được chính xác lỗi này từ kimi-k3.1-pro và kimi-k3.1-pro-highspeed khi gửi temperature: 0.2. Cùng nội dung lỗi này từng được báo cáo trên API của Moonshot với K3 vào ngày 3 October 2026, và trên endpoint Kimi Code với k3 vào ngày 21 October.
Lý do: tài liệu tham khảo tham số của Moonshot quy định K3.1 Pro có cùng ràng buộc với K3: temperature cố định ở mức 1.0, top_p ở mức 0.95, n ở mức 1 và cả hai penalty ở mức 0; các giá trị khác sẽ trả về lỗi. K2.6 cũng có giá trị cố định là 0.6 khi tắt chế độ suy luận, vì vậy code vẫn gửi 0.6 thường là thủ phạm.
Ngoại lệ khiến lỗi bị che giấu: trong cùng đợt kiểm tra, kênh coding của AIHubMix chấp nhận temperature: 0.2. Code chỉ được kiểm thử trên kênh này vẫn có thể gặp lỗi trên các ID chính hoặc API của Moonshot.
Cái bẫy khiến lỗi càng khó phát hiện: nhiều framework nhận diện model Kimi dựa trên tiền tố kimi- rồi xóa temperature đối với các model đó. Các ID Kimi Code k3.1-pro và k3.1-pro-highspeed không có tiền tố này; ID của kênh coding AIHubMix cũng vậy, chúng bắt đầu bằng coding-. Một sự cố trên Hermes Agent đã phát hiện chính xác vấn đề này với K3. Đường dẫn chat chính không gửi temperature, nhưng một lời gọi phụ đến k3 vẫn gửi tham số này và lần nào cũng gặp lỗi 400.
Cách khắc phục: hoàn toàn không gửi temperature, top_p, n, presence_penalty hoặc frequency_penalty. Hãy đối chiếu theo dòng model, không phải theo tiền tố tên.
Để kiểm tra một tuyến gọi, hãy gửi một yêu cầu có temperature:
curl https://aihubmix.com/v1/chat/completions \
-H "Authorization: Bearer $AIHUBMIX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "kimi-k3.1-pro", "temperature": 0.2, "messages": [{"role": "user", "content": "hi"}]}'
Ngày 24 October, yêu cầu này trả về lỗi 400 nêu trên. Hãy chạy thử với từng ID model mà code của bạn sử dụng: kênh coding trả lời cùng yêu cầu đó với mã 200.
Codex qua AIHubMix: lỗi 404 với Responses API
Bạn sẽ thấy: lỗi HTTP 404 với nội dung The model kimi-k3.1-pro is not available on this endpoint.. Trong đợt kiểm tra ngày 24 October, AIHubMix gặp lỗi này khi gọi cả hai ID chính qua Responses API, trong khi Chat Completions và Messages hoạt động bình thường.
Cách khắc phục: Codex chỉ hỗ trợ Responses API, vì vậy hãy chuyển sang coding-kimi-k3.1-pro, ID đã trả lời các yêu cầu Responses trong cùng đợt kiểm tra. AIHubMix ghi chú kênh coding là bản xem trước phục vụ đánh giá, không khuyến nghị dùng trong môi trường production; một số yêu cầu trả về lỗi 404 tạm thời với nội dung "The requested resource was not found", vì vậy hãy thử lại một lần trước khi tìm nguyên nhân. Hãy dùng ID này cho đến khi AIHubMix bổ sung Responses API cho các ID chính. Claude Code sử dụng Messages và hoạt động với các ID chính.
Giới hạn stop
Bạn sẽ thấy: đợt thử nghiệm K3 tháng 7 của AIHubMix ghi nhận hai thông báo sau:
Invalid request: stop array too long. Expected an array with maximum length 5, but got an array with length 6 insteadInvalid request: stop sequence must not be longer than 32, but got 33 instead
Lý do: K3 chấp nhận tối đa năm chuỗi stop, mỗi chuỗi dài tối đa 32 byte; Messages API áp dụng các kiểm tra tương tự cho stop_sequences. Moonshot áp dụng cho K3.1 Pro các ràng buộc tham số giống K3, vì vậy hãy dự kiến các giới hạn này cũng được áp dụng.
Cách khắc phục: rút gọn danh sách. Lưu ý rằng 32 byte tương ứng với ít hơn 32 ký tự tiếng Trung hoặc tiếng Nhật.
Codex trên API của Moonshot: "web_search.search_context_size is not supported" (hướng dẫn K3)
Bạn sẽ thấy: 400 web_search.search_context_size is not supported, được trích từ hướng dẫn Codex của Moonshot, vốn được viết cho K3. Qua kênh coding của AIHubMix, yêu cầu Responses có trường này trả về 200 vào ngày 24 October, vì vậy lỗi này xuất phát từ chính endpoint của Moonshot.
Cách khắc phục: xóa search_context_size khỏi cấu hình Codex hoặc định nghĩa công cụ của bạn. Codex không gửi tham số này theo mặc định.
Các lỗi âm thầm
Những lỗi này không trả về thông báo lỗi. Bạn chỉ nhận ra chúng sau đó qua hóa đơn, hạn mức của gói hoặc chất lượng đầu ra.
Effort và các phiên
- Mặc định là max, và đây là điểm mới trong Kimi Code. K3.1 Pro mặc định dùng
max. Trong Kimi Code, K3 mặc định dùnghigh, vì vậy một phiên không thiết lập effort giờ đây sẽ suy luận nhiều hơn, dùng thêm token và tiêu hao hạn mức nhanh hơn. Trên API của Moonshot, cả K3 lẫn K3.1 Pro đều mặc định dùngmax. Chi phí suy luận được tính như token đầu ra: trong lần thử nghiệm dựng game chỉ với một prompt trên K3 vào tháng 7 của AIHubMix, 73% trong tổng số 74,994 token hoàn tất là token suy luận. - Nỗ lực thấp vẫn có thể đồng nghĩa với hàng nghìn token suy luận. Trong một lần kiểm tra nhanh của AIHubMix vào ngày 24 tháng 10, một prompt yêu cầu giải thích dài 600 từ khiến K3.1 Pro suy luận từ 5,561 đến 7,356 token ở mức
lowtrước khi trả lời, và một lượt chạm giới hạn 8,192 token. K3 suy luận từ 3,013 đến 7,051 token với cùng prompt, nên đây không phải điều mới chỉ có ở K3.1 Pro; nhưnglowkhông phải chế độ tiết kiệm trên cả hai model, vì vậy hãy đặtmax_completion_tokensđủ cao. Đây là kết quả từ một prompt và ba lượt chạy cho mỗi model trên các ID chính của AIHubMix, nên hãy đo trên khối lượng công việc của riêng bạn. - Chuyển sang K3.1 Pro trong một phiên cũ sẽ làm giảm chất lượng. Tài liệu Kimi Code của Moonshot khuyên không chuyển sang model mới “trong một phiên K3 series, K2.8 Preview hoặc K2.7 Code Highspeed hiện có”: việc này làm giảm chất lượng đầu ra và số lần cache được truy cập. Hãy bắt đầu phiên mới.
- Thay đổi model hoặc mức nỗ lực sẽ làm mất hiệu lực cache. Tài liệu Kimi Code của Moonshot nêu rõ điều này với cả hai trường hợp; tài liệu K3 cũng cho biết việc đổi mức nỗ lực “làm mất hiệu lực các lần truy cập prefix-cache”. Hãy chọn model và mức nỗ lực ngay khi bắt đầu phiên.
Highspeed
- Gõ sai ID Highspeed sẽ khiến bạn nhận được một model chậm hơn. Trong Kimi Code, ID Highspeed sai “âm thầm chuyển về K2.8 Preview mà không suy luận — không nhanh hơn chút nào”. Hãy sao chép chính xác ID và kiểm tra model hiển thị trong log.
- Highspeed chỉ tăng tốc độ đầu ra của model. Moonshot cho biết K3.1 Pro Highspeed nhanh hơn K3.1 Pro khoảng 2–3×, với năng lực giống hệt nhau. Trong lần kiểm tra nhanh của AIHubMix, tốc độ đầu ra của model này nhanh hơn Pro khoảng 1.6–1.8×. Các lệnh gọi công cụ và script hoàn toàn không nhanh hơn, nên với một lượt chủ yếu gồm đọc tệp và chạy kiểm thử, mức tăng tốc sẽ không đáng kể; trong khi đó, gói Kimi Code tiêu tốn khoảng gấp đôi hạn mức.
Giao thức
- Proxy có thể làm thay đổi hành vi. Tài liệu Kimi Code của Moonshot cảnh báo: “Việc chuyển đổi giao thức qua các công cụ proxy có thể khiến hành vi của model thay đổi.” Hãy dùng đúng giao thức mà mỗi công cụ hỗ trợ: Messages cho Claude Code, Responses cho Codex. Ngày 24 tháng 10, AIHubMix trả lời được qua Chat Completions và Messages trên cả bốn ID K3.1 Pro, kèm phần suy luận dưới dạng
reasoning_contentvà các khốithinking. Responses hoạt động trên kênh coding, với một mụcreasoning, nhưng trả về lỗi 404 đã nêu ở trên khi dùng các ID chính. - Đầu ra có cấu trúc trên Messages API đã được cải thiện. Trong lần thử nghiệm K3 hồi tháng 7 của AIHubMix,
/v1/messagesbỏ qua schema và trả về văn bản tự do. Ngày 24 tháng 10, một yêu cầu tương tự gửi đến K3.1 Pro, với schema JSON trongoutput_config.formatvà prompt không yêu cầu JSON, đã trả về{"city":"Paris"}trên cả bốn ID. Schema này chỉ có một trường, vì vậy hãy xác thực đầu ra trước khi chuyển lại JSON sang Messages. Một vấn đề khác của Messages trong tháng 7 — khi gặp chuỗi dừng thì trả vềend_turncùng vớistop_sequence: null— chưa được kiểm tra lại.
Yêu cầu dài
- Thời gian chờ ngắn khiến ngay cả các yêu cầu vừa phải cũng thất bại. Trong lần kiểm tra nhanh, câu trả lời đầy đủ của K3.1 Pro ở mức
lowmất từ 80 đến 99 giây. Client không truyền luồng với thời gian chờ 60 giây sẽ thất bại ở mọi lượt chạy, còn thử lại sẽ phải trả phí cho cùng phần suy luận. Trên API của Moonshot, giới hạn đầu ra mặc định của K3.1 Pro là 131,072 token, có thể lên đến 1,048,576; bản dựng game K3 của AIHubMix hồi tháng 7 chạy trong một yêu cầu mất 2,541 giây. Hãy truyền luồng và đặt thời gian chờ tính bằng phút.
Các điểm được giữ lại từ tài liệu hướng dẫn K3
Những điểm sau được nêu trong tài liệu hướng dẫn K3:
- Bỏ
reasoning_contentsẽ làm giảm chất lượng qua nhiều lượt hội thoại. Toàn bộ thông điệp của assistant, bao gồmreasoning_contentvàtool_calls, phải được gửi lại nguyên vẹn. Đoạn mã chỉ giữ lạicontentvẫn chạy, nhưng Moonshot cảnh báo chất lượng đầu ra sẽ không ổn định. - Công cụ động sẽ biến mất nếu bạn bỏ thông điệp chứa chúng. K3 cho phép tải công cụ vào giữa cuộc hội thoại thông qua một thông điệp system không có nội dung. Máy chủ không lưu thông điệp này, nên phải gửi lại trong mọi yêu cầu. Trên AIHubMix, tính năng này hoạt động qua Chat Completions: ngày 24 tháng 10,
kimi-k3.1-prođã gọi một công cụ được chèn theo cách này. Trong lần thử nghiệm K3 hồi tháng 7 của AIHubMix, Messages API bỏ qua công cụ được chèn.
Các quy tắc tính phí dễ bị bỏ sót
Dưới đây là giá của AIHubMix trên các trang model, tính theo mỗi triệu token:
| ID model AIHubMix | Đầu vào | Đầu ra | Đầu vào đã cache |
|---|---|---|---|
| kimi-k3 | $2.84 | $14.20 | $0.284 |
| kimi-k3.1-pro | $2.00 | $10.50 | $0.20 |
| kimi-k3.1-pro-highspeed | $4.00 | $21.00 | $0.20 |
Trên AIHubMix, K3.1 Pro rẻ hơn K3 30% ở đầu vào và đầu vào đã cache, đồng thời rẻ hơn 26% ở đầu ra. Highspeed có giá gấp đôi Pro ở đầu vào và đầu ra, còn mức giá cache thì bằng nhau. ID thuộc kênh coding được tính giá riêng: $0.88 cho đầu vào, $3.23 cho đầu ra và $0.132 cho đầu vào đã cache.
Mức giá thấp hơn không đảm bảo hóa đơn sẽ nhỏ hơn. Lấy ví dụ bản dựng game một prompt chạy trên K3 của AIHubMix hồi tháng 7: 74,994 token đầu ra, giả định có 5,000 token đầu vào. Với cùng số lượng token, chi phí trên K3 là khoảng $1.08, trên K3.1 Pro là khoảng $0.80 (5,000 × $2.00 + 74,994 × $10.50, tính trên mỗi triệu token), còn trên Highspeed là khoảng $1.59. Số token thay đổi tùy prompt (lần kiểm tra nhanh cho thấy K3.1 Pro và K3 có lượng token tương đương ở mức low), vì vậy hãy đo trước khi lập ngân sách.
Tài liệu API của Moonshot tính phí ghi cache cho K3.1 Pro theo TTL, 5 phút hoặc 1 giờ, giống như với K3. Các mức giá công bố của K3 trong hướng dẫn caching ngữ cảnh của Moonshot cho thấy cơ chế này hoạt động như sau:
| Hạng mục tính phí K3 | Giá trên mỗi 1M token |
|---|---|
| Đầu vào, cache miss | $3.00 |
| Ghi cache, TTL 5 phút (mặc định) | $3.00 |
| Ghi cache, TTL 1 giờ | $6.00 |
| Đầu vào, cache hit | $0.30 |
| Đầu ra, bao gồm cả suy luận | $15.00 |
Moonshot cho biết việc tách riêng phí ghi cache không làm tăng tổng chi phí của K3: phí ghi vốn đã nằm trong giá đầu vào, nên các yêu cầu dùng TTL 5 phút mặc định có chi phí như trước.
Đây là mức giá khi dùng trực tiếp dịch vụ của Moonshot. Trang model của AIHubMix chỉ liệt kê giá đầu vào, đầu ra và đầu vào đã cache, không có mức phí ghi cache riêng, đồng thời không cho biết cách tính phí ghi cache 1 giờ. AIHubMix vẫn chuyển tiếp TTL: ngày 24 tháng 10, một yêu cầu Messages có TTL 1h ở cấp cao nhất trong cache_control báo số token ghi cache là token cache 1 giờ, còn một yêu cầu Chat Completions với prompt_cache_options được chấp nhận.
- Cache hoạt động tự động. Trên K3, TTL mặc định là 5 phút. Trong các lần kiểm tra ngày 24 tháng 10 của AIHubMix, một prompt 93 token được lặp lại và kết quả lần sau được lấy hoàn toàn từ cache trên kênh coding, nhưng không phải trên các ID chính. Với prompt 7,658 token, lần gọi thứ hai đến
kimi-k3.1-protrả về 7,424 token đã cache, qua cả Chat Completions lẫn Messages. - TTL 1 giờ trên API của Moonshot tốn thêm $3.00 cho mỗi triệu token ghi cache theo mức giá K3. Mỗi lần cache hit tiết kiệm $2.70, nên theo phép tính của chính Moonshot, lựa chọn này bắt đầu có lợi từ lần cache hit thứ hai.
- TTL được cố định ở lần ghi đầu tiên (K3). Bạn không thể nâng TTL của một mục từ 5 phút lên 1 giờ. Phải chờ mục đó hết hạn trước.
- Bảng điều khiển chi phí cần thêm một trường mới (K3). Lượt ghi cache xuất hiện dưới tên
prompt_tokens_details.cache_write_tokenstrong Chat Completions,input_tokens_details.cache_write_tokenstrong Responses vàcache_creation_input_tokenstrong Messages. - Suy luận được tính là đầu ra. Trên K3, token suy luận được tính phí theo giá đầu ra ở mọi mức nỗ lực. AIHubMix không liệt kê giá riêng cho suy luận của K3.1 Pro.
Các bước giúp giảm hóa đơn:
- Đặt
reasoning_efforttheo từng khối lượng công việc thay vì kế thừamax. Hãy thửlowcho tra cứu và phân loại, cònhighcho các tác vụ lập trình thông thường. - Giữ cố định model và mức nỗ lực trong mỗi phiên; bắt đầu phiên mới khi đổi một trong hai.
- Đặt những phần ổn định lên trước: system prompt, định nghĩa công cụ, ngữ cảnh kho mã. Sau đó mới đến lượt thay đổi.
- Chỉ dùng Highspeed khi tốc độ đầu ra của model là nút thắt, không dùng cho các vòng lặp chủ yếu bị chi phối bởi lệnh gọi công cụ.
- Theo dõi tỷ trọng token suy luận trong số token hoàn tất. Nếu tỷ trọng này luôn trên một nửa ở các tác vụ đơn giản, hãy giảm mức nỗ lực.
Agent có quyền thực thi thực sự
Sự cố của Hermes Agent cho thấy lỗi chuyển đổi có thể biến thành lỗi an toàn như thế nào. Bộ phân loại “phê duyệt thông minh” của hệ thống gọi k3 kèm theo temperature, và mọi lời gọi đều trả về lỗi 400. Theo lời người báo cáo, bộ phân loại “nâng mức xử lý (fail-open) ở mọi lần gọi”: bước kiểm tra an toàn ngừng thực hiện chức năng, nhưng không có dấu hiệu bất thường nào trong cuộc trò chuyện chính.
K3.1 Pro vẫn giữ nguyên nguyên nhân gây lỗi đó, đồng thời bổ sung thêm một nguyên nhân nữa. Các lời gọi bộ phân loại thường chính là những lời gọi mà các nhóm cố làm cho nhanh và rẻ bằng cách đặt temperature thấp hoặc tắt chế độ suy luận; nhưng trên K3.1 Pro, cả hai cách đều không hiệu quả: thiết lập temperature có thể khiến mọi lời gọi đều trả về lỗi 400, còn trên AIHubMix, yêu cầu tắt suy luận trả về mà không có nội dung suy luận. Nếu một bước kiểm tra an toàn chạy trên K3.1 Pro, hãy dùng reasoning_effort: "low" để tăng tốc, xác định cách xử lý khi API báo lỗi và thiết kế theo hướng fail-closed.
Một số điểm nữa cần lưu ý với các agent tự hoạt động:
- Lời gọi công cụ bắt buộc hoạt động. K3.1 Pro hỗ trợ
tool_choice: "required", tùy chọn mà K2.x từ chối, nên có thể bỏ cách xử lý vòng vo trước đây của K2.x để buộc gọi công cụ. - Tính năng tìm kiếm web tích hợp chưa sẵn sàng cho môi trường production (K3). Hướng dẫn K3 của Moonshot cho biết tính năng tìm kiếm web “đang được cập nhật và không được khuyến nghị cho quy trình production trong tương lai gần”. Hãy xem tính năng này trên K3.1 Pro tương tự như vậy cho đến khi Moonshot thông báo khác. Qua AIHubMix, vòng lặp tìm kiếm trên K3.1 Pro không hoàn tất vào ngày 24 tháng 10: model yêu cầu
$web_search, nhưng khi gửi kết quả lại thì nhận được400 Invalid request: tokenization failed. - Đầu vào hình ảnh cần dùng base64. K3 không tải hình ảnh từ URL công khai; ngày 24 tháng 10,
kimi-k3.1-protrên AIHubMix đã từ chối một URL với lỗi400 Invalid request: unsupported image url, nên agent gửi liên kết ảnh chụp màn hình sẽ gặp lỗi. Tùy chọn còn lại của Moonshot — ID tệp lấy từ dịch vụ tải tệp của chính hãng — không được AIHubMix hỗ trợ: một tham chiếums://trả về lỗi 404. Hình ảnh mã hóa base64 thì hoạt động. K3.1 Pro cũng nhận được đầu vào video trong Kimi Code.
Công cụ lập trình: Claude Code và Codex
Claude Code dùng Anthropic Messages API, và các ID chính của AIHubMix đã trả lời được vào ngày 24 tháng 10. Codex dùng Responses API, chỉ có kênh coding trả lời được. Hướng dẫn cài đặt và cấu hình cơ bản nằm trong các bài hướng dẫn thường trực của AIHubMix. Phần dưới đây chỉ đề cập những điểm thay đổi với K3.1 Pro.
| Claude Code | Codex | |
|---|---|---|
| Giao thức | Anthropic Messages | Responses |
| ID chính, ngày 24 tháng 10 | 200 | 404 |
| ID model cần dùng | kimi-k3.1-pro | coding-kimi-k3.1-pro |
| URL cơ sở | https://aihubmix.com | https://aihubmix.com/v1 |
| Ngữ cảnh cần khai báo | 1M | 1048576 |
| Mức nỗ lực cần đặt | low, high hoặc max | low, high hoặc max |
Cột Codex dùng ID của kênh lập trình cho đến khi các ID chính phản hồi trên Responses API. Mọi giá trị effort mà công cụ gửi ngoài ba giá trị này đều được ánh xạ như trong bảng effort ở trên.
Claude Code
Làm theo hướng dẫn cấu hình settings.json cho Claude Code. Sau đó thiết lập mọi cấp mô hình, không chỉ cấp chính:
{
"env": {
"ANTHROPIC_BASE_URL": "https://aihubmix.com",
"ANTHROPIC_AUTH_TOKEN": "sk-your-aihubmix-key",
"ANTHROPIC_MODEL": "kimi-k3.1-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "kimi-k3.1-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "kimi-k3.1-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "kimi-k3.1-pro",
"ANTHROPIC_DEFAULT_FABLE_MODEL": "kimi-k3.1-pro",
"CLAUDE_CODE_SUBAGENT_MODEL": "kimi-k3.1-pro"
}
}
Các vấn đề đã biết, dựa trên tài liệu Kimi Code của Moonshot, hướng dẫn Claude Code của hãng (viết cho K3) và các thử nghiệm của AIHubMix:
- Bắt đầu phiên mới. Đừng chuyển một phiên K3 đang chạy sang K3.1 Pro. Hãy mở phiên mới để bộ nhớ đệm và chất lượng đầu ra được bắt đầu trong trạng thái sạch.
- Các cấp chưa thiết lập sẽ âm thầm thất bại. Claude Code dùng các cấp khác nhau cho hội thoại chính, phần tóm tắt và các tác tử con. Moonshot cảnh báo rằng nếu chỉ cấu hình một số cấp, những cấp còn lại sẽ “âm thầm thất bại”. Bạn có thể đặt cấp Haiku thành một mô hình rẻ hơn để xử lý các tác vụ nền.
- Cài đặt cũ sẽ được ưu tiên. Các giá trị cũ trong khối
envcủa~/.claude/settings.jsonsẽ ghi đè các biến được xuất trong shell. - Ngữ cảnh 1M. Hướng dẫn K3 của Moonshot dùng
kimi-k3[1m]để Claude Code nhận diện cửa sổ ngữ cảnh là 1M.kimi-k3.1-pro[1m]cũng hoạt động tương tự qua AIHubMix: Claude Code loại bỏ hậu tố trước khi gửi, và AIHubMix đã phản hồi yêu cầu sau khi loại bỏ hậu tố, bao gồm cả tiêu đề ngữ cảnh 1M, vào ngày 24 tháng 10. Chỉ Claude Code mới hiểu hậu tố này. Nếu gửikimi-k3.1-pro[1m]dưới dạng ID mô hình từ bất kỳ ứng dụng khách nào khác, bạn sẽ nhận được lỗi 400. - Effort. K3.1 Pro mặc định đã là
max, cấp độ mà hướng dẫn K3 của Moonshot khuyến nghị cùng vớiCLAUDE_CODE_EFFORT_LEVEL=max. Với các tác vụ thường ngày,hightiêu thụ ít token hơn. Dù Claude Code gửi cấp độ nào, cấp đó cũng được ánh xạ như trong bảng effort; AIHubMix đã chấp nhận cả năm giá trị được thử nghiệm. - Các cấp Highspeed. Nếu đặt một cấp thành
kimi-k3.1-pro-highspeed, hãy sao chép chính xác ID này. Trên Kimi Code, ID nhập sai sẽ âm thầm chuyển về mô hình dự phòng; trên AIHubMix, ID nhập sai sẽ trả về lỗi 400.
Codex
Codex chỉ hỗ trợ Responses API, vì vậy bắt buộc phải có wire_api = "responses". Hướng dẫn cấu hình config.toml cho Codex trình bày các bước còn lại. Với K3.1 Pro:
# At launch (24 October 2026), the main ID kimi-k3.1-pro returned 404 on the Responses API.
# Use the coding-channel ID until AIHubMix adds it. AIHubMix labels the
# coding channel an evaluation preview, not for production.
model = "coding-kimi-k3.1-pro"
model_provider = "aihubmix"
model_context_window = 1048576
model_reasoning_effort = "high"
[model_providers.aihubmix]
name = "AIHubMix"
base_url = "https://aihubmix.com/v1"
env_key = "AIHUBMIX_API_KEY"
wire_api = "responses"
- Khai báo cửa sổ ngữ cảnh. Nếu thiếu
model_context_window, Codex sẽ dùng metadata mặc định cho một mô hình mà nó không nhận diện được. Hướng dẫn Codex của Moonshot, viết cho K3, cho biết cảnh báoModel metadata for kimi-k3 not foundxuất hiện sau đó là điều bình thường và vô hại. - Effort. Các cấp độ riêng của Codex bao gồm
mediumvàxhigh. Theo cách ánh xạ của Kimi Code, chúng chạy tương ứng nhưhighvàmax; AIHubMix đã chấp nhận cả hai vào ngày 24 tháng 10. Hãy đặtlow,highhoặcmaxđể biết rõ bạn đang trả phí cho cấp độ nào. - Các kênh khác nhau. Kênh lập trình chấp nhận một giá trị temperature mà các ID chính từ chối. Khi các ID chính bắt đầu phản hồi trên Responses, hãy chạy lại kiểm tra nhanh trước khi chuyển sang dùng chúng.
- Không dùng
search_context_size. Nếu cấu hình của bạn có tham số này, hãy xóa nó (xem phần lỗi rõ ràng). - Khởi động lại sau khi chỉnh sửa. Codex chỉ đọc config.toml khi khởi động. Nếu CC Switch quản lý cấu hình Codex, công cụ này có thể ghi đè các thay đổi của bạn.
Kiểm tra nhanh trong 15 phút
Chạy một lần cho mỗi công cụ, trong một kho mã nhỏ có bộ kiểm thử:
- Bắt đầu một phiên mới trên K3.1 Pro. Đừng tiếp tục phiên từng chạy trên K3 hoặc một mô hình khác.
- Yêu cầu: “Thêm kiểm thử đơn vị cho một hàm trong kho mã này, chạy các bài kiểm thử và sửa mọi lỗi phát sinh.”
- Thành công sẽ trông như sau: mô hình đọc các tệp và chạy kiểm thử (các lệnh gọi công cụ hoạt động). Mô hình tiếp tục sau khi xem kết quả, cho thấy quá trình suy luận và kết quả từ công cụ được gửi lại. Cuối cùng, các bài kiểm thử đều đạt và không có lỗi 400 hay 404 nào trong phiên.
- Trong nhật ký sử dụng AIHubMix, hãy kiểm tra xem ID mô hình có đúng với ID bạn đã đặt không và các yêu cầu sau đó có hiển thị token đầu vào được lưu trong bộ nhớ đệm cho tiền tố ổn định hay không. Nếu không bao giờ thấy chúng, tức là có thứ gì đó trong tiền tố thay đổi ở mỗi lượt.
- Ghi lại thời gian mỗi lượt và số token hoàn tất. Đây là mốc chuẩn để chọn cấp effort và đánh giá Highspeed có đáng dùng hay không.
Danh sách kiểm tra chuyển đổi
- Dùng ID của K3.1 Pro: kimi-k3.1-pro trên API của Moonshot và AIHubMix, k3.1-pro trong Kimi Code; hiện tại, dùng coding-kimi-k3.1-pro cho Codex qua AIHubMix.
- Chuyển mã K2.x trước khi Moonshot ngừng cung cấp dòng K2 vào cuối tháng 12 năm 2026; các tài khoản Moonshot mới sẽ mất quyền truy cập K2 từ ngày 31 tháng 10.
- Bắt đầu phiên mới cho K3.1 Pro thay vì chuyển đổi một phiên cũ.
- Xóa temperature, top_p, n và cả hai tham số phạt khỏi mọi luồng gọi, bao gồm cả các lệnh gọi trợ giúp.
- Xóa mọi tùy chọn tắt chế độ suy luận, bao gồm các giá trị effort off, none và disabled, đồng thời xóa các khối cấu hình suy luận K2.x còn sót lại.
- Đặt effort là low, high hoặc max; medium chạy như high, còn xhigh chạy như max.
- Giữ cố định mô hình và effort trong suốt phiên.
- Sao chép chính xác ID Highspeed và kiểm tra mô hình trong nhật ký sử dụng.
- Danh sách stop tối đa năm mục, mỗi mục không quá 32 byte.
- Gửi lại toàn bộ thông điệp của assistant, bao gồm reasoning_content và tool_calls, đồng thời gửi lại các thông điệp công cụ động.
- Dùng chế độ truyền phát cho các yêu cầu dài và đặt thời gian chờ tính bằng phút.
- Xác thực đầu ra có cấu trúc trước khi chuyển JSON trở lại Messages API.
- Cập nhật việc theo dõi chi phí để tính riêng trường ghi dữ liệu vào bộ nhớ đệm.
- Đảm bảo các bước kiểm tra an toàn mặc định từ chối khi API gặp lỗi.
- Chạy kiểm tra nhanh trong từng công cụ lập trình.
Câu hỏi thường gặp
Tại sao K3.1 Pro trả về lỗi HTTP 400?
Các nguyên nhân thường gặp là temperature khác 1, tắt chế độ suy luận hoặc đặt effort thành off, none, disabled hay một giá trị không xác định. Nguyên nhân đầu tiên xuất phát từ quy tắc lấy mẫu cố định của K3, được K3.1 Pro giữ nguyên; những nguyên nhân còn lại được ghi trong tài liệu Kimi Code của Moonshot. Trên các ID chính của AIHubMix, đến ngày 24 tháng 10 chỉ có temperature trả về lỗi 400; các trường hợp khác trả về 200, còn khi đặt thinking thành off hoặc none thì phản hồi không có nội dung suy luận.
Tôi có thể tắt chế độ suy luận không?
Không. K3.1 Pro chỉ hoạt động ở chế độ suy luận. Đặt reasoning_effort thành low để giữ phần suy luận ngắn.
Temperature vẫn bị từ chối phải không?
Đúng, trên API của Moonshot và các ID chính của AIHubMix; vào ngày 24 tháng 10 năm 2026, chúng trả về thông báo “invalid temperature: only 1 is allowed for this model”. Trong cùng lần kiểm tra, kênh lập trình của AIHubMix chấp nhận temperature 0.2. Hãy bỏ temperature khỏi mọi tuyến.
Các mô hình K2 sẽ ngừng hoạt động khi nào?
Kể từ ngày 31 tháng 10 năm 2026, người dùng Moonshot đăng ký mới không thể dùng các mô hình dòng K2, và Moonshot dự định ngừng cung cấp toàn bộ các mô hình này vào cuối tháng 12 năm 2026. Ngày 24 tháng 10, AIHubMix vẫn liệt kê K2.6 và K2.7 Code, chưa có ngày ngừng cung cấp.
Tại sao hạn mức Kimi Code của tôi cạn nhanh hơn?
K3.1 Pro mặc định dùng effort max, trong khi K3 mặc định dùng high trong Kimi Code; Highspeed tiêu tốn hạn mức gấp khoảng hai lần mô hình thường. Hãy đặt effort thấp hơn cho các tác vụ thường ngày và giữ cố định cấp độ đó trong suốt phiên.
Tại sao Highspeed không nhanh hơn?
Có thể bạn nhập sai ID; trong Kimi Code, trường hợp này âm thầm chuyển về K2.8 Preview mà không có suy luận. Hoặc các lệnh gọi công cụ chiếm phần lớn thời gian của lượt. Highspeed chỉ tăng tốc độ tạo đầu ra của mô hình.
Codex nên dùng ID mô hình AIHubMix nào?
Hiện tại là coding-kimi-k3.1-pro trên Responses API tại aihubmix.com/v1, với wire_api được đặt thành responses. Ngày 24 tháng 10, các ID chính trả về lỗi 404 trên Responses API. AIHubMix ghi nhãn kênh lập trình là bản xem trước đánh giá, không dành cho môi trường sản xuất.
Đọc tiếp: loạt bài Kimi K3.1 Pro
- Trước khi chuyển đổi, hãy xem liệu việc nâng cấp có thực sự đáng giá hay không, từ những thay đổi cho đến chi phí của một tác vụ thực tế: Kimi K3.1 Pro so với K3: Có gì thay đổi, chi phí bao nhiêu và ai nên chuyển đổi
- Nếu quá trình chuyển đổi khiến bạn cân nhắc các lựa chọn khác, hãy xem K3.1 Pro so với Qwen 4 và Claude Fable 5.5, cùng chi phí để xây dựng một giao diện đầu cuối trên từng mô hình: Kimi K3.1 Pro so với Qwen 4 và Claude Fable 5.5: Chất lượng giao diện đầu cuối, chi phí mỗi tác vụ và đánh giá mức độ thổi phồng
- Nếu hạn mức và giá Highspeed khiến bạn băn khoăn liệu biến thể nhanh hơn có đáng dùng hay không, bài viết riêng này sẽ bàn về sự đánh đổi giữa tốc độ và giá cả: Kimi K3.1 Pro so với K3.1 Pro Highspeed: Tốc độ nhanh gấp 2–3× có đáng với mức giá gấp 2×?



