GPT-5.6 gọi công cụ lập trình: mô hình tự động tạo mã điều phối

Tính năng gọi công cụ theo chương trình của GPT-5.6 cho phép mô hình viết JavaScript để điều phối các công cụ của bạn trong một môi trường runtime V8 trong hộp cát. Những gì đã được phát hành, các giới hạn, cách kiểm tra.

Ashley Innocent

Ashley Innocent

10 tháng 7 2026

GPT-5.6 gọi công cụ lập trình: mô hình tự động tạo mã điều phối

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Gọi hàm truyền thống có một hình dạng mà mọi nhà phát triển agent đều thuộc nằm lòng. Mô hình yêu cầu một lệnh gọi công cụ, ứng dụng của bạn thực thi nó, bạn nối kết quả vào, và mô hình yêu cầu lệnh gọi tiếp theo. Bốn công cụ, bốn vòng đi. Bốn mươi công cụ, bốn mươi. Mỗi lượt đều tăng độ trễ mạng và chi phí ngữ cảnh được tính lại. Khi OpenAI đưa GPT-5.6 ra mắt rộng rãi vào ngày 9 tháng 7 năm 2026, họ đã cung cấp một cách để thoát khỏi vòng lặp đó: gọi công cụ theo chương trình trong Responses API.

Ý tưởng rất trực tiếp. Thay vì trả về các lệnh gọi công cụ từng cái một để mã của bạn chạy trong một vòng lặp, mô hình tự viết mã JavaScript để điều phối nhiều lệnh gọi công cụ. Mã đó thực thi trong một môi trường V8 runtime biệt lập không có truy cập mạng. Các công cụ của bạn vẫn là cách duy nhất để mã có thể chạm đến thế giới bên ngoài, vì vậy ranh giới bảo mật mà bạn đã xem xét với lệnh gọi hàm của OpenAI vẫn giữ nguyên. Cái thay đổi là sự điều phối: các vòng lặp, điều kiện và tổng hợp mà trước đây nằm trong ứng dụng của bạn.

button

Sự thay đổi này cũng ảnh hưởng đến phía API của bạn. Mọi công cụ bạn công khai giờ đây là một hợp đồng mà mô hình có thể gọi hàng chục lần thay vì chỉ một lệnh gọi cẩn thận mỗi lượt. Độ chính xác của schema, hình dạng lỗi và hành vi tốc độ quan trọng hơn so với tuần trước. Bài viết này bao gồm những gì đã ra mắt, tại sao vòng lặp cũ lại gây khó khăn, những gì vẫn giữ nguyên và cách chuẩn bị các điểm cuối công cụ của bạn bằng Apidog trước khi giao chúng cho mô hình.

button

TL;DR

Những gì ra mắt vào ngày 9 tháng 7

GPT-5.6 ra mắt dưới dạng một gia đình ba cấp: gpt-5.6-sol cho suy luận sâu nhất, gpt-5.6-terra cho công việc cân bằng và gpt-5.6-luna cho khối lượng công việc nhanh, hiệu quả về chi phí. Biệt danh trần gpt-5.6 chuyển hướng đến Sol. Cả ba đều tự phục vụ thông qua API mà không cần kiểm soát kế hoạch, sau hai tuần xem trước giới hạn đã kết thúc khi hạn chế truy cập được dỡ bỏ vào ngày 8 tháng 7.

Gia đình mô hình nhận được phần lớn sự chú ý trong ngày ra mắt, nhưng bề mặt API mới là câu chuyện lớn hơn đối với các nhà xây dựng agent. Theo tin tức ra mắt của MarkTechPost và tài liệu riêng của OpenAI, Responses API đã có bốn tính năng tại thời điểm ra mắt: gọi công cụ theo chương trình, phiên bản beta đa tác nhân, suy luận được duy trì qua các lượt và cài đặt chi tiết thị giác bảo toàn kích thước hình ảnh gốc.

Gọi công cụ theo chương trình là tiêu đề chính. OpenAI mô tả nó là mô hình viết JavaScript để điều phối các lệnh gọi công cụ, được thực thi trong một môi trường V8 runtime biệt lập không có truy cập mạng. Mô hình không còn là người yêu cầu từng lượt mà trở thành tác giả của lớp điều phối.

Vòng lặp mà lệnh gọi công cụ theo chương trình thay thế

Đây là lệnh gọi hàm truyền thống đối với Responses API, hình dạng mà hầu hết các agent sản xuất sử dụng ngày nay:

import OpenAI from "openai";
const client = new OpenAI();

const tools = [
  {
    type: "function",
    name: "get_flight_status",
    description: "Return live status for a flight by IATA flight number.",
    parameters: {
      type: "object",
      properties: {
        flight_number: {
          type: "string",
          description: "IATA flight number, for example SQ317"
        }
      },
      required: ["flight_number"]
    }
  }
];

let response = await client.responses.create({
  model: "gpt-5.6",
  input: "Which of these 12 flights are delayed: SQ317, BA15, UA857...",
  tools
});

Mô hình không thể trả lời nếu không có dữ liệu, vì vậy nó phát ra một lệnh gọi hàm. Mã của bạn thực hiện tra cứu, nối một mục function_call_output và gọi lại API:

// Một vòng đi cho mỗi lệnh gọi công cụ. Vòng lặp này là chi phí.
while (hasFunctionCalls(response)) {
  const outputs = await executeToolCalls(response); // mã của bạn, hạ tầng của bạn
  response = await client.responses.create({
    model: "gpt-5.6",
    previous_response_id: response.id,
    input: outputs,
    tools
  });
}

Đối với 12 chuyến bay, vòng lặp đó có thể chạy 12 lần, và mỗi lần lặp đều phải trả giá gấp đôi. Đầu tiên là độ trễ: một vòng đi mạng hoàn chỉnh đến OpenAI cộng với thời gian mô hình, được tuần tự hóa, vì lệnh gọi N+1 phụ thuộc vào việc mô hình thấy kết quả N. Thứ hai là token: kết quả công cụ tích lũy trong ngữ cảnh, vì vậy các lần lặp sau xử lý lại mọi thứ mà các lần lặp trước đã tạo ra. Nối các agent lại với nhau và sự phức tạp sẽ trở nên tồi tệ: một agent năm bước mà mỗi bước bao gồm một vòng lặp mười lệnh gọi là năm mươi lần gọi mô hình được tính phí.

Không có phần nào của vòng lặp đó là thông minh. Nó chỉ là đường ống, và cho đến tuần này mô hình không có cách nào để tự viết đường ống.

Chế độ theo chương trình thay đổi hình dạng như thế nào

Với lệnh gọi công cụ theo chương trình, mô hình trả lời câu hỏi về chuyến bay khác: nó viết một chương trình JavaScript ngắn lặp qua mười hai số hiệu chuyến bay, gọi get_flight_status cho từng chuyến, lọc ra các chuyến bị trễ, sắp xếp theo thời gian trễ và trả về kết quả tổng hợp. Sandbox thực thi chương trình đó. Các công cụ của bạn vẫn thực hiện công việc thực tế; luồng điều khiển xung quanh chúng giờ đây thuộc về mô hình.

Ba đặc tính làm cho điều này khả thi chứ không đáng báo động:

Lệnh gọi hàm truyền thống Gọi công cụ theo chương trình
Ai viết luồng điều khiển Ứng dụng của bạn Mô hình, dưới dạng JavaScript
Vòng đi cho N lệnh gọi công cụ N, tuần tự Một chu kỳ phản hồi
Nơi điều phối chạy Hạ tầng của bạn Sandbox V8 biệt lập, không mạng
Cách công cụ thực thi Mã của bạn gọi chúng Vẫn thông qua bề mặt công cụ đã khai báo của bạn
Ranh giới bảo mật Định nghĩa công cụ Định nghĩa công cụ, không thay đổi

Những gì vẫn giữ nguyên

Bạn vẫn định nghĩa công cụ với tên, mô tả và tham số JSON Schema, chính xác như trong mã ở trên. Mô hình chỉ có thể tạo các lệnh gọi đến các công cụ bạn đã khai báo, điều này có nghĩa là câu hỏi "agent này có thể làm gì với hệ thống của tôi" có cùng câu trả lời như trước: bất cứ điều gì bề mặt công cụ của bạn cho phép, và không gì khác.

Chất lượng Schema giờ đây quan trọng hơn, không kém hơn. Trong vòng lặp cổ điển, một mô tả tham số mơ hồ tạo ra một lệnh gọi xấu mà bạn có thể bắt và sửa trước vòng đi tiếp theo. Trong chế độ lập trình, sự mơ hồ tương tự có thể được tích hợp vào một vòng lặp và lặp lại qua mọi lần lặp trước khi bạn thấy một kết quả duy nhất. Các thói quen bạn đã xây dựng cho đầu ra có cấu trúc chuyển trực tiếp: kiểu dữ liệu chặt chẽ, enum cho các tập hợp kín, mô tả nêu rõ đơn vị và định dạng, các trường bắt buộc phải thực sự bắt buộc.

Giới hạn và câu hỏi mở

Khả năng này mới ra mắt vài ngày. Một vài cảnh báo trước khi bạn xây dựng lại ngăn xếp agent của mình xung quanh nó:

Các công cụ của bạn giờ đây là một API mà mã của người khác gọi

Theo lệnh gọi hàm truyền thống, một công cụ được gọi một lần mỗi vòng đi, với một vòng lặp do con người viết mã quyết định tốc độ và thứ tự. Theo lệnh gọi công cụ theo chương trình, mã được tạo gọi các công cụ của bạn theo đợt, phân nhánh dựa trên phản hồi của chúng và tổng hợp đầu ra của chúng. Mỗi công cụ là một hợp đồng API được tiêu thụ bởi một client do máy viết mà bạn không bao giờ xem xét trước khi nó chạy.

Điều đó nâng cao tiêu chuẩn cho bốn điều:

Đây là nơi một workbench API thực sự phát huy tác dụng. Định nghĩa hoặc nhập đặc tả điểm cuối của từng công cụ, gửi các yêu cầu kiểm thử đến nó và xác nhận schema phản hồi khớp với những gì định nghĩa công cụ của bạn hứa hẹn. Sau đó đi một bước xa hơn: giả lập API công cụ để bạn có thể thực hiện điều phối với dữ liệu giả định có thể dự đoán mà không cần chạm vào sản xuất. Tải xuống Apidog và máy chủ giả lập tích hợp của nó sẽ phục vụ các phản hồi theo schema cho mọi điểm cuối bạn đã định nghĩa, để bạn có thể giao cho mô hình một bề mặt công cụ đầy đủ và xem cách nó điều phối trước khi chạm vào bất kỳ bản ghi thực nào.

button

Tóm tắt các tính năng GA khác

Gọi công cụ theo chương trình không ra mắt một mình. Hai bổ sung API Responses liền kề cũng quan trọng ở đây:

Cả hai đều kết hợp với gọi công cụ theo chương trình: một agent giữ suy luận của nó qua các lượt và tự viết điều phối của riêng nó sẽ làm ít công việc dư thừa hơn nhiều cho mỗi tác vụ.

Gọi công cụ theo chương trình so với chế độ Ultra

Việc ra mắt cũng mang đến chế độ Ultra, và hai tính năng này thường bị nhầm lẫn vì cả hai đều làm được nhiều hơn mỗi yêu cầu. Chúng giải quyết các điểm nghẽn khác nhau.

Ultra là một cài đặt đa tác nhân chạy bốn tác nhân song song theo mặc định, cố ý tiêu tốn nhiều token hơn để giảm thời gian thực tế; theo OpenAI, nó nâng Terminal-Bench 2.1 từ 88,8% lên 91,9%. Nó có sẵn trong ChatGPT Work trên các gói Pro và Enterprise, và trong Codex từ gói Plus trở lên. Gọi công cụ theo chương trình là một khả năng API trong đó một tác nhân điều phối các công cụ của nó trong mã. Ultra song song hóa suy nghĩ; gọi công cụ theo chương trình rút gọn các vòng đi thực thi. Phân tích đầy đủ nằm trong bài viết chế độ Ultra của GPT-5.6 của chúng tôi, nhưng phiên bản ngắn gọn: nếu điểm nghẽn của bạn là độ trễ gọi công cụ, bạn muốn gọi công cụ theo chương trình; nếu đó là thời gian cân nhắc cho các vấn đề khó khăn, bạn muốn Ultra.

button

FAQ

Tôi có cần viết lại các định nghĩa công cụ hiện có của mình không?

Không. Các công cụ giữ nguyên hình dạng JSON Schema như đã hiển thị trong mã ở trên, và các định nghĩa được viết cho lệnh gọi hàm truyền thống vẫn được sử dụng. Công việc đáng làm là thắt chặt chúng: thêm enum, định dạng trạng thái và làm cho mô tả đủ cụ thể để mã được tạo không thể hiểu sai chúng.

JavaScript được tạo có thể truy cập internet không?

Không. Mã chạy trong một môi trường V8 runtime biệt lập không có truy cập mạng, và các công cụ đã khai báo của bạn là cách duy nhất để nó ảnh hưởng đến bất cứ điều gì bên ngoài sandbox. Điều đó làm cho bề mặt công cụ của bạn trở thành toàn bộ mô hình rủi ro, vì vậy hãy kiểm tra các công cụ bạn công khai với sự cẩn trọng tương tự như đối với một API công khai.

Những mô hình GPT-5.6 nào hỗ trợ gọi công cụ theo chương trình?

OpenAI tài liệu hóa nó như một bề mặt API Responses cho gia đình GPT-5.6, và cả ba cấp (gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna) đều tự phục vụ cho bất kỳ tài khoản API nào. Kiểm tra tài liệu tham khảo API để biết chi tiết cấp độ trước khi cam kết sử dụng một. Để thiết lập khóa và hướng dẫn yêu cầu đầu tiên, hãy xem cách sử dụng API GPT-5.6.

Điều này khác với code interpreter như thế nào?

Code interpreter chạy mã như là đầu ra cuối cùng: phân tích, biểu đồ, chuyển đổi tệp. Gọi công cụ theo chương trình tạo ra mã mà công việc duy nhất của nó là điều phối các công cụ đã khai báo của bạn; đầu ra cuối cùng là kết quả công cụ tổng hợp, chứ không phải bản thân mã.

Điều này đặt bạn vào vị trí nào

Vòng lặp vòng đi là phần ít thú vị nhất của mọi agent bạn đã triển khai, và GPT-5.6 đã biến nó thành tùy chọn. Việc điều phối đã chuyển sang mô hình; trách nhiệm về các API công cụ sạch, chính xác, hoạt động tốt đã chuyển sang bạn, với trọng lượng lớn hơn trước đây.

Bước tiếp theo là cụ thể. Chọn một quy trình làm việc nặng về đọc, viết hoặc thắt chặt các schema công cụ cần thiết, và đưa từng điểm cuối qua client API và máy chủ giả lập của Apidog cho đến khi hợp đồng giữ vững dưới các lệnh gọi theo đợt và đầu vào xấu. Khi mô hình bắt đầu viết mã dựa trên các công cụ của bạn, bạn muốn mã đó đọc từ một bề mặt mà bạn đã kiểm thử.

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API