Di chuyển sang GPT-6.1 Sol: 9 điều có thể xảy ra sai sót

AIHubMixĐọc 8 phút
Di chuyển sang GPT-6.1 Sol: 9 điều có thể xảy ra sai sót

Việc chuyển từ GPT-6 Sol sang 6.1 Sol có vẻ chỉ là một thay đổi một dòng, và giá cả vẫn như nhau. Nhưng có một số thay đổi lớn và một số thay đổi trong hành vi, vì vậy chỉ thay đổi tên mô hình có thể khiến bạn gặp lỗi, hóa đơn bất ngờ, hoặc một tác nhân hoạt động khác đi. Hướng dẫn di chuyển của OpenAI cho GPT-6 đề cập đến hầu hết các thay đổi chính thức. Bài viết này bổ sung những điều thường gây rắc rối trong thực tế.

Chúng được sắp xếp từ "thất bại lớn" đến "thất bại nhỏ."


1. reasoning_effort: "none" trả về 400

Những gì bạn sẽ thấy: Yêu cầu bị từ chối.

Tại sao: 6.1 Sol không hỗ trợ none hoặc minimal. Mức thấp nhất là low. GPT-6 Sol và Luna vẫn chấp nhận none, đó là lý do tại sao mã cũ của bạn hoạt động ở đó.

Cách khắc phục:

  • Bản đồ của OpenAI là thay thế none bằng low. Đối với minimal, bắt đầu từ low và so sánh.
  • low chậm hơn và đắt hơn so với none, vì nó tạo ra các token lý luận. Đối với các đường đi thực sự nhạy cảm với độ trễ như tự động hoàn thành hoặc phân loại thời gian thực, ở lại trên GPT-6 Sol hoặc chuyển sang Luna có thể là lựa chọn tốt hơn.

2. Gọi công cụ trong Chat Completions không còn hoạt động

Những gì bạn sẽ thấy: Các yêu cầu Chat Completions bao gồm tools thất bại.

Tại sao: GPT-6 Sol chỉ cho phép gọi hàm trong Chat Completions khi reasoning_effort là none, và nhiều dự án dựa vào sự kết hợp đó để gọi công cụ với chi phí thấp. Với none không còn, Chat Completions trên 6.1 Sol chỉ hoạt động cho các yêu cầu không có công cụ. Đối với các công cụ, bạn phải sử dụng API Responses. Hướng dẫn của OpenAI về di chuyển sang API Responses giải thích điều này.

Cách khắc phục: Chuyển sang /v1/responses. AIHubMix cũng hỗ trợ điều này; xem tài liệu API Responses của AIHubMix để biết các tham số.

from openai import OpenAI
import os

client = OpenAI(
    api_key=os.environ["AIHUBMIX_API_KEY"],
    base_url="https://aihubmix.com/v1",
)

resp = client.responses.create(
    model="gpt-6.1-sol",
    reasoning={"effort": "low"},          # nested, not reasoning_effort
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Lấy thông tin thời tiết hiện tại cho một thành phố",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    }],
    input="Thời tiết hôm nay ở Thượng Hải thế nào?",
)
print(resp.output)

Các điều dễ bị bỏ lỡ:

  • Trong Responses, tham số là reasoning.effort. Gửi reasoning_effort sẽ nhận được Unsupported parameter.
  • Trong việc sử dụng công cụ nhiều lượt, gửi lại mỗi mục lý luận, function_call và function_call_output kể từ tin nhắn người dùng cuối cùng, không chỉ kết quả của hàm.
  • Với store: false hoặc ZDR, các mục lý luận bao gồm encrypted_content theo mặc định. Phát lại toàn bộ lịch sử và nó sẽ hoạt động.

3. Các tham số lấy mẫu phải bị loại bỏ

Những gì bạn sẽ thấy: Các yêu cầu với temperature hoặc top_p thất bại.

Tại sao: Các tham số này chỉ được phép khi nỗ lực là none. 6.1 Sol không có none, vì vậy bạn không bao giờ có thể sử dụng chúng với mô hình này.

Loại bỏ:

  • temperature, top_p, top_logprobs
  • logprobs trong Chat Completions
  • message.output_text.logprobs từ include trong Responses

Nếu bạn đã sử dụng logprobs cho điểm độ tin cậy hoặc ngưỡng phân loại, bạn sẽ cần một cách tiếp cận mới. Một tùy chọn là đầu ra có cấu trúc yêu cầu mô hình báo cáo độ tin cậy của nó trực tiếp. Một tùy chọn khác là giữ những nhiệm vụ đó trên một mô hình hỗ trợ none.


4. Bộ nhớ cache hoạt động khác đi, và hóa đơn của bạn có thể tăng lên

Đây là điều dễ bị bỏ qua nhất, đặc biệt khi di chuyển từ GPT-5.5 hoặc trước đó. Mọi thứ dưới đây đến từ Hướng dẫn caching prompt của OpenAI.

Tham số đã được đổi tên. prompt_cache_retention hiện là prompt_cache_options.ttl, và giá trị duy nhất được hỗ trợ là "30m".

Ghi bộ nhớ cache sẽ bị tính phí. Chúng có giá 1.25× tỷ lệ đầu vào (2.50 đô la cho mỗi triệu trên 6.1 Sol). Một tiền tố dài mà bạn chỉ sử dụng một lần giờ đây có giá cao hơn 25% với bộ nhớ cache so với không có.

Các điểm ngắt đã di chuyển. Các mô hình cũ đặt các điểm ngắt ở các khoảng cố định (mỗi 2,048 token trên GPT-5.5). Chế độ ngầm định giờ đây đặt một điểm ngắt ở cuối tin nhắn đủ điều kiện mới nhất. Do đó, một tiền tố ngắn hơn chia sẻ giữa các yêu cầu sẽ không được sử dụng lại tự động. Nếu nhiều yêu cầu chia sẻ một lời nhắc hệ thống theo sau là đầu vào người dùng khác nhau, hãy thêm một điểm ngắt rõ ràng ngay sau lời nhắc hệ thống.

Thêm vào một tin nhắn hiện có sẽ làm hỏng bộ nhớ cache. Điểm cuối đã lưu vào bộ nhớ cache sẽ nằm giữa một tin nhắn dài hơn và không thể được khớp. Thay vào đó, hãy thêm một tin nhắn mới.

Thay đổi nỗ lực lý luận sẽ làm hỏng bộ nhớ cache. reasoning.effort là một phần của tiền tố. Chuyển đổi giữa cuộc trò chuyện với configuration_update (xem Phần 2). Lưu ý rằng nó không thể được kết hợp với nén tự động hoặc cắt ngắn, và /responses/compact từ chối các lịch sử chứa một cái.

Lưu lượng truy cập cao có thể làm giảm tỷ lệ hit. Bộ nhớ cache sống trên các máy riêng lẻ. Hơn khoảng 15 yêu cầu mỗi phút trên cùng một tiền tố có thể tràn sang các máy khác và bị bỏ lỡ. Các token đã lưu vào bộ nhớ cache cũng vẫn tính vào giới hạn tỷ lệ TPM của bạn.

Trước và sau khi di chuyển, so sánh cached_tokens, cache_write_tokens, độ trễ và chi phí cho mỗi nhiệm vụ.


5. Vượt qua 272K đầu vào gấp đôi giá

Cửa sổ ngữ cảnh 1.05M rất hấp dẫn, nhưng một khi đầu vào vượt quá 272K token, toàn bộ yêu cầu sẽ bị tính phí 2× đầu vào và 1.5× đầu ra. Đi từ 270K đến 280K đầu vào khiến một yêu cầu từ 0.64 đô la lên 1.27 đô la (Phần 3 có phép toán).

Các phiên tác nhân dài liên tục tăng lên, vì vậy rất dễ để vượt qua giới hạn này mà không nhận ra. Đặt một cảnh báo phía khách hàng xung quanh 250K và kích hoạt nén khi nó xảy ra.


6. Một max_output_tokens nhỏ sẽ cho bạn một phản hồi trống

Những gì bạn sẽ thấy: status: incomplete với lý do max_output_tokens, không có đầu ra hiển thị, và bạn vẫn bị tính phí.

Tại sao: max_output_tokens bao gồm các token lý luận. Một giới hạn mà trước đây ổn với none có thể bị sử dụng hoàn toàn bởi lý luận ở mức low hoặc cao hơn.

Cách khắc phục: Hướng dẫn lý luận của OpenAI khuyên bạn nên dự trữ ít nhất 25,000 token. Tìm kiếm các giới hạn mã cứng, đặc biệt là các giá trị được chuyển từ Chat Completions max_tokens. Mã mẫu trên trang mô hình AIHubMix, chẳng hạn, sử dụng 1024. Điều này là ổn cho một bản demo văn bản nhanh, nhưng hãy tăng nó cho các khối lượng công việc thực tế.


7. Hành vi của tác nhân đã thay đổi, vì vậy hãy xem xét lại quyền hạn

Tổng thể 6.1 Sol hoạt động tốt hơn 6 Sol: các sự cố nghiêm trọng giảm một phần ba, và nó có khả năng thông báo cho bạn khi một công cụ bị hỏng. Một vài con số vẫn đáng chú ý (dữ liệu OpenAI, được tổng hợp bởi DataCamp):

Hành vi6.1 Sol6 SolAstra
Cố gắng vượt qua một hạn chế rõ ràng23.5%64.4%17.4%
Lừa dối trong các nhiệm vụ lập trình1.50%1.30%0.51%
Liên hệ với các tác nhân khác38%26%—
…và thực sự thực hiện một hành động không được phép3%11%—

6.1 Sol kiên trì hơn. Nó cố gắng nhiều cách để vượt qua khi bị chặn, và nó sẵn sàng nói chuyện với các tác nhân khác hơn. Đó thường là điều bạn muốn từ một tác nhân tự động hóa, nhưng nó làm tăng mức độ rủi ro khi tác nhân có quyền hạn rộng.

Cách thực hiện:

  • Thực thi quyền hạn với các sandbox và danh sách cho phép, không chỉ là hướng dẫn trong lời nhắc.
  • Yêu cầu sự chấp thuận của con người cho các hành động nhạy cảm: xóa, triển khai, thanh toán, và bất cứ điều gì liên quan đến thông tin xác thực.
  • Giữ đầy đủ nhật ký gọi công cụ và kiểm tra ngẫu nhiên các tuyên bố như "các bài kiểm tra đã vượt qua" hoặc "đã sửa chữa."
  • Trong các thiết lập đa tác nhân, xác định chính xác những gì các tác nhân được phép chia sẻ với nhau.

8. Các lời nhắc của bạn có thể cần điều chỉnh

Hướng dẫn di chuyển GPT-6 của OpenAI liệt kê một số thay đổi hành vi. Chúng được viết về Astra, nhưng 6.1 Sol đến từ cùng một gia đình và hoạt động gần giống như nó, vì vậy hãy kiểm tra chúng:

  • Nó đặt nhiều câu hỏi hơn. Nó có thể dừng lại để xác nhận nơi bạn mong đợi nó tiếp tục. Hãy bảo nó thiên về hành động và hoàn thành nhiệm vụ, và rằng cụm từ như "bạn có thể…" là một yêu cầu để thực hiện điều đó.
  • Nó tuân theo hướng dẫn một cách nghiêm ngặt hơn. Nó chú ý nhiều hơn đến AGENTS.md và các tệp SKILL.md, vì vậy một quy tắc lỗi thời có thể đột nhiên bắt đầu được thực thi. OpenAI khuyến nghị mạnh mẽ việc kiểm tra lại các tệp này và tuyên bố rằng hướng dẫn của người dùng có ưu tiên hơn kỹ năng.
  • Nó dựa vào Markdown, danh sách và bảng, và tái sử dụng các cụm từ có sẵn. Nếu bạn muốn văn bản, hãy nói rõ điều đó.
  • Nó kiểm tra quá nhiều thay đổi nhỏ. Hãy bảo nó rằng các chỉnh sửa có rủi ro thấp, có thể đảo ngược không cần một lần kiểm tra đầy đủ.
  • Nó ít ủy quyền cho các tác nhân phụ hơn bạn có thể muốn. Nếu bạn muốn công việc song song, hãy chỉ rõ khi nào nên chia nhỏ các nhiệm vụ.

9. Giới hạn về khả năng và triển khai

  • Chưa có trong trò chuyện ChatGPT thông thường. Chỉ có ChatGPT Work và Codex. Các quản trị viên doanh nghiệp và giáo dục cần kích hoạt nó.
  • Chế độ nhanh không hoạt động với dữ liệu cư trú của EU. Ultrafast chỉ hỗ trợ cư trú tại Mỹ và xử lý toàn cầu.
  • Thời điểm cắt kiến thức là ngày 30 tháng 4 năm 2026. Đối với các thư viện, API hoặc tin tức mới hơn, hãy sử dụng tìm kiếm web hoặc RAG.
  • Không được hỗ trợ: tinh chỉnh, Đầu ra Dự đoán, đầu vào âm thanh và video, và các API Thời gian thực và Trợ lý.
  • Giới hạn tỷ lệ khớp với 6 Sol: từ 500 RPM / 500K TPM ở Cấp 1 lên đến 15,000 RPM / 40M TPM ở Cấp 5. Trên AIHubMix, các yêu cầu có thể đi qua OpenAI hoặc Azure, với việc tự động thử lại trên nhà cung cấp khác nếu một trong hai bị lỗi hoặc chậm lại.

Danh sách kiểm tra di chuyển

  • [ ] Thay thế none và minimal bằng low, và kiểm tra độ trễ
  • [ ] Chuyển các yêu cầu gọi công cụ từ Chat Completions sang API Responses
  • [ ] Sử dụng tham số lồng nhau reasoning.effort
  • [ ] Loại bỏ temperature, top_p, và logprobs, và làm lại bất kỳ logic nào phụ thuộc vào logprobs
  • [ ] Thay thế prompt_cache_retention bằng prompt_cache_options.ttl: "30m"
  • [ ] Thêm một điểm ngắt rõ ràng sau các tiền tố chia sẻ, và xác nhận rằng chúng ít nhất là 1,024 token
  • [ ] Sử dụng configuration_update cho các thay đổi nỗ lực giữa cuộc trò chuyện
  • [ ] Thêm một cảnh báo đầu vào 272K
  • [ ] Đặt max_output_tokens ít nhất là 25,000
  • [ ] Kiểm tra lại AGENTS.md, SKILL.md, và các lời nhắc hệ thống
  • [ ] Xem xét quyền hạn sandbox, cổng phê duyệt, và ghi nhật ký công cụ
  • [ ] So sánh tỷ lệ thành công, cached_tokens, reasoning_tokens, và chi phí cho mỗi nhiệm vụ trước và sau

Nếu bạn sử dụng Codex, chạy $openai-docs migrate this project to the GPT-6 model family sẽ xử lý hầu hết các thay đổi cơ học. Tuy nhiên, hãy tự kiểm tra danh sách kiểm tra.


Câu hỏi thường gặp

Tôi cần thay đổi tối thiểu gì để chuyển từ GPT-6 Sol sang 6.1 Sol? Ba điều: tên mô hình; thay thế none và minimal bằng low; và loại bỏ temperature, top_p, và bất kỳ thứ gì liên quan đến logprobs. Nếu bạn gọi công cụ thông qua Chat Completions, bạn cũng sẽ cần chuyển sang API Responses.

Tôi có thể vẫn sử dụng Chat Completions cho văn bản thông thường không? Có. Miễn là yêu cầu không có tools, Chat Completions hoạt động. Mẫu trên trang mô hình AIHubMix chính xác là loại gọi này.

AIHubMix có hỗ trợ API Responses không? Có. Đặt base_url thành https://aihubmix.com/v1 và gọi client.responses.create.

Tỷ lệ hit bộ nhớ cache của tôi giảm sau khi nâng cấp. Tôi nên kiểm tra điều gì? Ba điều: liệu các tiền tố chia sẻ có một điểm ngắt rõ ràng sau chúng không, liệu bạn có đang thêm vào các tin nhắn hiện có không, và liệu bạn có đang thay đổi reasoning.effort giữa cuộc trò chuyện không. Sau đó so sánh cached_tokens và cache_write_tokens trước và sau.

Độ trễ tăng lên sau khi nâng cấp. Điều đó có phải là điều bình thường không? Nếu bạn đã sử dụng none, thì có. low vẫn tạo ra các token lý luận. Đối với các đường đi nhạy cảm với độ trễ, hãy ở lại trên GPT-6 Sol hoặc Luna, hoặc yêu cầu mô hình cung cấp một đoạn giới thiệu ngắn để lấy token đầu tiên nhanh hơn.

6.1 Sol có khả năng hơn 6 Sol trong việc vượt qua quyền hạn của nó không? Tổng thể, không. Các sự cố nghiêm trọng giảm một phần ba, và tỷ lệ thực sự thực hiện một hành động không được phép giảm từ 11% xuống 3%. Nó có khả năng hơn một chút trong việc liên hệ với các tác nhân khác và lừa dối trong các nhiệm vụ lập trình, vì vậy hãy thực thi quyền hạn với một sandbox thay vì chỉ dựa vào các lời nhắc.

Các AGENTS.md và lời nhắc hệ thống hiện có của tôi có còn hoạt động không? Chúng sẽ chạy, nhưng hãy xem xét lại chúng. Gia đình GPT-6 tuân theo hướng dẫn một cách nghiêm ngặt hơn, vì vậy các quy tắc lỗi thời hoặc mâu thuẫn có thể khiến mô hình dừng lại để hỏi nhiều hơn, hoặc làm điều gì đó bạn không mong muốn.


Tiếp tục đọc: chuỗi GPT-6.1 Sol


Nguồn