Cách sử dụng API OpenAI Agents?

Hướng dẫn API Agents của OpenAI: tạo một phiên trong curl, chọn một môi trường thử nghiệm, thêm các công cụ và subagents của MCP, và xử lý các phê duyệt sử dụng máy tính. Giá cả và giới hạn.

Medy Evrard

2 tháng 10 2026

Cách sử dụng API OpenAI Agents?

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

API Agents của OpenAI chạy hệ thống Codex mã nguồn mở của OpenAI cho bạn. Bạn gửi `POST https://api.openai.com/v1/agents/sessions` với header `OpenAI-Beta: agents=v1`, một định nghĩa agent và một tác vụ; OpenAI sẽ chạy mô hình và vòng lặp công cụ, duy trì phiên, và có thể cung cấp một môi trường sandbox. Không có phí API Agents: bạn trả tiền cho token, công cụ và thời gian sử dụng container được lưu trữ (từ $0.03 đến $0.48 mỗi phiên 20 phút cho các kích thước sandbox từ 1 GB đến 16 GB). API này đã đi vào bản beta công khai vào ngày 10 tháng 9 năm 2026, và OpenAI đã thêm tính năng sử dụng máy tính tại DevDay vào ngày 29 tháng 9.

nút

Dưới đây: một phiên REST đầu tiên, các sự kiện tiến độ, công cụ MCP, subagents, và quy trình phê duyệt sử dụng máy tính. Để biết cách so sánh với các giao diện agent khác của OpenAI, hãy đọc Agents API so với Responses API so với Agents SDK; đối với phần còn lại của sự kiện, hãy xem tổng hợp DevDay 2026. Mọi lệnh gọi đều là HTTP thuần túy, vì vậy bạn có thể gửi chúng từ Apidog trước khi viết mã ứng dụng.

Tổng quan về OpenAI Agents API

Mục Giá trị
Trạng thái Bản beta công khai từ 10 tháng 9 năm 2026; tính năng sử dụng máy tính được thêm vào ngày 29 tháng 9
Tạo một phiên POST /v1/agents/sessions
Header Beta OpenAI-Beta: agents=v1 (SDK của OpenAI tự thêm vào)
Quyền truy cập chính api.agents.read, api.agents.write, api.responses.write
Giá cả Không có phí API Agents; token mô hình theo giá API, công cụ theo giá tiêu chuẩn (tìm kiếm web $10 cho mỗi 1.000 lượt gọi)
Container được lưu trữ $0.03 (small, 1 GB), $0.12 (medium, 4 GB), $0.48 (large, 16 GB) mỗi phiên 20 phút
Môi trường none, openai_hosted, self_hosted
Mô hình trong các ví dụ của tài liệu gpt-6-astra
Kiểm soát dữ liệu Chỉ lưu trữ dữ liệu tại Hoa Kỳ; không hỗ trợ Zero Data Retention (ZDR)
Kích thước yêu cầu tối đa 4 MiB

Nguồn: Giới thiệu API Agents, tổng quan về API Agents, và trang giá cả.

Bốn khái niệm

Tài liệu xây dựng API dựa trên bốn phần:

Một tin nhắn gửi đến một phiên không hoạt động sẽ bắt đầu một lượt mới; một tin nhắn gửi giữa lượt sẽ điều hướng nó. Hệ thống (theo trang kiến trúc, là phiên bản Codex được lưu trữ chạy mô hình và vòng lặp công cụ) cũng xử lý nén ngữ cảnh, vì vậy bạn không cần cấu hình nó.

Chọn một môi trường

environment.type quyết định nơi các lệnh chạy:

Bài đăng ra mắt liệt kê các đối tác sandbox là Blaxel, Cloudflare, Daytona, DigitalOcean, E2B, Modal, Oracle, Runloop và Vercel; hướng dẫn tự lưu trữ bổ sung AWS Lambda MicroVMs.

Phiên REST đầu tiên của bạn

Xuất một khóa với các quyền trên dưới dạng OPENAI_API_KEY, sau đó gửi tác vụ khởi động nhanh với một container nhỏ:

curl --no-buffer https://api.openai.com/v1/agents/sessions \
  -H "OpenAI-Beta: agents=v1" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "agent": {
      "model": "gpt-6-astra",
      "instructions": "Write clean code, run it, and report the actual output."
    },
    "environment": { "type": "openai_hosted", "container_size": "small" },
    "input": "Create tree.py, a script that prints a tree of the files in the current directory. Run it and show the output.",
    "stream": true
  }'

Với stream: true, phản hồi là luồng sự kiện của lượt đầu tiên. Lưu ID phiên từ đó; phần còn lại của vòng đời sử dụng cùng một tài nguyên:

Hành động Yêu cầu
Theo dõi hoặc điều hướng POST /v1/agents/sessions/{id}/events với sự kiện agent.session.input.message
Hủy lượt hiện tại Cùng điểm cuối, loại sự kiện agent.session.input.cancel
Đọc công việc đã lưu GET /v1/agents/sessions/{id}/items?order=asc&limit=100
Dọn dẹp DELETE /v1/agents/sessions/{id}

SDK JavaScript có cùng cấu trúc. Phiên bản này, được điều chỉnh từ bài đăng ra mắt, bổ sung thêm một công cụ, subagents và một vault:

import OpenAI from "openai";

const client = new OpenAI();
const session = await client.beta.agents.sessions.create({
  agent: {
    model: "gpt-6-astra",
    tools: [{ type: "web_search" }],
    multi_agent: { enabled: true, max_concurrent_subagents: 3 },
  },
  vault_ids: [process.env.VAULT_ID],
  environment: { type: "openai_hosted" },
  input: "Summarize breaking changes in the latest release notes.",
});
console.log(session.id);

Theo dõi tiến độ: luồng hoặc webhook

Streaming. Mở GET /v1/agents/sessions/{id}/events?stream=true với Accept: text/event-stream trước khi bạn gửi đầu vào, để không bỏ lỡ các sự kiện ban đầu. Hãy theo dõi:

Ba cạm bẫy: agent.session.idle không có nghĩa là lượt đã thành công, một lượt hoàn thành có thể chứa các lệnh gọi công cụ thất bại, và đóng luồng không dừng tác vụ. Luồng không phát lại các sự kiện bị bỏ lỡ, vì vậy sau khi mất kết nối, hãy mở một luồng mới và lấy lại phiên cùng các mục của nó.

Webhooks. Đăng ký nhận `agent.session.created`, `agent.session.action_required`, `agent.session.in_progress`, `agent.session.idle`, và `agent.session.failed`. Lưu ý về cách đặt tên: luồng nói `requires_action`, webhook nói `action_required`. Payload bỏ qua chi tiết cuộc gọi, vì vậy trình xử lý của bạn lấy phiên và đọc `required_actions`. Xác minh từng chữ ký (xác minh chữ ký webhook); các hoạt động API chạy dài giải thích lý do tại sao webhook phù hợp với các tác vụ kéo dài nhiều phút.

Công cụ MCP, tìm kiếm công cụ, gọi công cụ theo chương trình và subagents

MCP. Thêm một máy chủ vào agent.tools:

{
  "type": "mcp",
  "server_label": "openai_docs",
  "transport": { "type": "http", "server_url": "https://developers.openai.com/mcp" },
  "required": true
}

Theo mặc định OpenAI thực hiện kết nối (connection_origin: "service"), vì vậy máy chủ phải có thể truy cập được từ OpenAI. Sử dụng connection_origin: "environment" cho một máy chủ mạng riêng tư, hoặc stdio để khởi động một cái trong sandbox. Đối với thông tin xác thực, truyền transport.authorization cho một phiên, hoặc đính kèm một thông tin xác thực vault (static_bearer hoặc mcp_oauth) với vault_ids.

Tìm kiếm công cụ. Công cụ MCP được tự động phát hiện khi mô hình hỗ trợ tìm kiếm công cụ. Đối với nhiều công cụ hàm, hãy thêm {"type": "tool_search"} và đánh dấu các hàm defer_loading: true.

Gọi công cụ theo chương trình. Mặc định bật: agent nhận được một công cụ exec chạy JavaScript trong môi trường V8 runtime biệt lập, vì vậy nó có thể lặp qua các lệnh gọi công cụ và cắt bớt các kết quả lớn trước khi chúng đến ngữ cảnh. Tắt nó bằng {"type": "programmatic_tool_calling", "enabled": false}.

Subagents. Đặt multi_agent: {"enabled": true, "max_concurrent_subagents": 3} (giới hạn mặc định là 6). Subagents chia sẻ hệ thống tệp của môi trường và kế thừa công cụ MCP cũng như tìm kiếm web, nhưng không thể sử dụng công cụ hàm. subagent_id của một lượt là null đối với tác nhân chính.

Sử dụng máy tính: bổ sung từ DevDay

Tính năng sử dụng máy tính cung cấp cho agent một trình duyệt được lưu trữ. Thêm công cụ và một desktop vào môi trường được lưu trữ:

{
  "agent": {
    "model": "gpt-6-astra",
    "tools": [{ "type": "computer_use", "include_screenshots": true }]
  },
  "environment": {
    "type": "openai_hosted",
    "desktop": { "enabled": true },
    "network": { "access": "enabled" }
  }
}

Trình duyệt cần sự chấp thuận của người dùng trước khi truy cập mỗi nguồn gốc trang web mới, bao gồm các trang công khai. Khi agent.session.requires_action, lấy phiên và tìm các mục computer_use_approval_request. request.type lồng nhau là một trong hai loại:

Cả hai câu trả lời đều được gửi lại thông qua điểm cuối sự kiện:

curl "https://api.openai.com/v1/agents/sessions/$SESSION_ID/events" \
  -H "OpenAI-Beta: agents=v1" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"events": [{
    "type": "agent.session.input.computer_use_approval_request_result",
    "request_id": "REQUEST_ID",
    "response": { "type": "browser_origin_access", "decision": "approve" }
  }]}'

Công việc của trình duyệt xuất hiện dưới dạng các mục computer_use_call với id, turn_id, title, status, và output, mang theo một ảnh chụp màn hình JPEG base64 khi include_screenshots được bật và có ảnh chụp. Giữ ảnh chụp màn hình khỏi nhật ký; chúng có thể hiển thị dữ liệu tài khoản.

Hướng dẫn sử dụng máy tính chỉ ra những lưu ý sau:

Tóm tắt cho biết tính năng sử dụng máy tính được phát hành “thông qua API và trong Codex cùng ChatGPT Work trên Pro 500 và Enterprise.” Để kiểm thử dựa trên giao diện người dùng với cùng một mô hình, xem GPT-6 Astra sử dụng máy tính để kiểm thử API.

Cung cấp API của bạn cho agent, không phải giao diện người dùng của bạn

Trình duyệt là phương án dự phòng cho phần mềm không có API. Nếu hệ thống là của bạn, hãy đóng gói nó trong một máy chủ MCP: công cụ có kiểu, không có lời nhắc nguồn gốc, kết quả có thể kiểm tra. Sử dụng máy tính so với API có cấu trúc bao gồm sự đánh đổi, và Máy chủ MCP của Apidog cung cấp đặc tả API của bạn cho trợ lý lập trình để viết wrapper.

Kiểm thử API Agents trong Apidog trước khi viết mã

API đang ở bản beta, vì vậy hãy xác nhận cấu trúc của mỗi lệnh gọi thủ công trong Apidog trước:

  1. Tạo môi trường Apidog với OPENAI_API_KEY, VAULT_ID, và SESSION_ID. Gửi Bearer {{OPENAI_API_KEY}} và OpenAI-Beta: agents=v1 trong mỗi yêu cầu.
  2. Gửi yêu cầu tạo phiên không có stream, khẳng định trạng thái 2xx và id không rỗng, và trích xuất id vào SESSION_ID.
  3. Mở luồng sự kiện dưới dạng yêu cầu SSE, gửi đầu vào từ một yêu cầu thứ hai và theo dõi các sự kiện đến.
  4. Lưu các payload phê duyệt và hủy làm các yêu cầu để phát lại từng trường hợp required_actions.
  5. Xâu chuỗi chúng thành một kịch bản kiểm thử và chạy nó trong CI bằng Apidog CLI.

Hướng dẫn kiểm thử API agent AI có các mẫu khẳng định cho đầu ra không xác định. Tải xuống Apidog để làm theo.

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

API Agents của OpenAI có miễn phí không? Không có phí nền tảng, nhưng bạn phải trả tiền cho token mô hình, lệnh gọi công cụ và thời gian sử dụng container được lưu trữ.

Những mô hình nào hoạt động với API Agents? Các ví dụ trong tài liệu, bao gồm mọi ví dụ về sử dụng máy tính, đều sử dụng gpt-6-astra. Các trang không liệt kê các mô hình được hỗ trợ khác, vì vậy hãy kiểm tra mô hình của bạn trước.

API Agents có hỗ trợ Zero Data Retention không? Không. Nó chỉ hỗ trợ lưu trữ dữ liệu tại Hoa Kỳ và không đủ điều kiện ZDR, ngay cả với một sandbox tự lưu trữ.

Nó khác với SDK Agents hay Responses API như thế nào? SDK chạy vòng lặp bên trong ứng dụng của bạn; Responses API là lệnh gọi mô hình mà bạn xây dựng một vòng lặp xung quanh. Xem bảng so sánh đầy đủ.

Bắt đầu với một phiên chỉ đọc

Bắt đầu với một phiên chỉ đọc, thêm một máy chủ MCP, sau đó thêm tính năng sử dụng máy tính đằng sau một trình xử lý phê duyệt mặc định từ chối. Khi ChatGPT nên phản ứng với các sự kiện từ máy chủ của riêng bạn thay vào đó, MCP Events là phần phù hợp.

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