วิธีใช้งาน OpenAI Agents API

บทช่วยสอน OpenAI Agents API: สร้างเซสชันใน curl, เลือกแซนด์บ็อกซ์, เพิ่มเครื่องมือและซับเอเจนต์ของ MCP, และจัดการการอนุมัติการใช้งานคอมพิวเตอร์ ราคาและข้อจำกัด

Medy Evrard

2 October 2026

วิธีใช้งาน OpenAI Agents API

Apidog สำหรับองค์กร

การติดตั้งแบบ On-Premises

SSO & RBAC

รองรับมาตรฐาน SOC 2

สำรวจ Apidog Enterprise

OpenAI Agents API ทำงานบน Codex harness แบบโอเพนซอร์สของ OpenAI ให้คุณ คุณส่ง POST https://api.openai.com/v1/agents/sessions พร้อมด้วยเฮดเดอร์ OpenAI-Beta: agents=v1, คำจำกัดความของเอเจนต์ และงานที่ต้องการให้ทำ OpenAI จะรันโมเดลและวงจรเครื่องมือ จัดการเซสชัน และสามารถจัดเตรียมแซนด์บ็อกซ์ได้ ไม่มีค่าธรรมเนียม Agents API: คุณจะจ่ายเฉพาะค่าโทเค็น ค่าเครื่องมือ และเวลาของคอนเทนเนอร์โฮสต์ (0.03 ถึง 0.48 ดอลลาร์ต่อเซสชัน 20 นาที สำหรับแซนด์บ็อกซ์ขนาด 1 GB ถึง 16 GB) เข้าสู่ช่วงเบต้าสาธารณะเมื่อวันที่ 10 กันยายน 2026 และ OpenAI ได้เพิ่มฟังก์ชันการใช้งานคอมพิวเตอร์ในงาน DevDay เมื่อวันที่ 29 กันยายน

ปุ่ม

ด้านล่าง: เซสชัน REST ครั้งแรก, เหตุการณ์ความคืบหน้า, เครื่องมือ MCP, ซับเอเจนต์ และขั้นตอนการอนุมัติการใช้งานคอมพิวเตอร์ หากต้องการทราบว่าแตกต่างจาก Agent Surface อื่นๆ ของ OpenAI อย่างไร โปรดอ่าน Agents API vs Responses API vs Agents SDK; สำหรับรายละเอียดส่วนที่เหลือของงาน โปรดดูที่ DevDay 2026 roundup ทุกการเรียกใช้งานเป็น HTTP ธรรมดา ดังนั้นคุณสามารถส่งได้จาก Apidog ก่อนที่จะเขียนโค้ดแอปพลิเคชัน

OpenAI Agents API โดยสรุป

รายการ ค่า
สถานะ เบต้าสาธารณะตั้งแต่วันที่ 10 ก.ย. 2026; เพิ่มการใช้งานคอมพิวเตอร์เมื่อวันที่ 29 ก.ย.
สร้างเซสชัน POST /v1/agents/sessions
เฮดเดอร์เบต้า OpenAI-Beta: agents=v1 (OpenAI SDKs จะเพิ่มให้)
สิทธิ์การเข้าถึงหลัก api.agents.read, api.agents.write, api.responses.write
ราคา ไม่มีค่าธรรมเนียม Agents API; โทเค็นโมเดลคิดตามอัตรา API, เครื่องมือคิดตามอัตรามาตรฐาน (การค้นหาเว็บ 10 ดอลลาร์ต่อ 1,000 การเรียกใช้งาน)
คอนเทนเนอร์โฮสต์ 0.03 ดอลลาร์ (small, 1 GB), 0.12 ดอลลาร์ (medium, 4 GB), 0.48 ดอลลาร์ (large, 16 GB) ต่อเซสชัน 20 นาที
สภาพแวดล้อม none, openai_hosted, self_hosted
โมเดลในตัวอย่างเอกสาร gpt-6-astra
การควบคุมข้อมูล รองรับเฉพาะข้อมูลที่อยู่ในสหรัฐอเมริกาเท่านั้น; ไม่มี Zero Data Retention (ZDR)
ขนาดคำขอสูงสุด 4 MiB

แหล่งที่มา: Introducing the Agents API, ภาพรวม Agents API และ หน้าราคา

สี่แนวคิดหลัก

เอกสารประกอบ API สร้างขึ้นจากสี่ส่วนหลัก ได้แก่:

ข้อความที่ส่งไปยังเซสชันที่ไม่ได้ใช้งานจะเริ่มต้นเทิร์นใหม่; ข้อความที่ส่งระหว่างเทิร์นจะใช้เพื่อควบคุมการทำงาน Harness (ตามที่ระบุใน หน้าสถาปัตยกรรม ซึ่งเป็นอินสแตนซ์ Codex ที่โฮสต์อยู่และรันโมเดลและวงจรเครื่องมือ) ยังจัดการการบีบอัดบริบท ดังนั้นคุณจึงไม่จำเป็นต้องกำหนดค่าเอง

เลือกสภาพแวดล้อม

environment.type กำหนดว่าจะให้คำสั่งทำงานที่ใด:

โพสต์เปิดตัวระบุพาร์ทเนอร์แซนด์บ็อกซ์ได้แก่ Blaxel, Cloudflare, Daytona, DigitalOcean, E2B, Modal, Oracle, Runloop และ Vercel; ส่วน คู่มือ self-hosted ได้เพิ่ม AWS Lambda MicroVMs

เซสชัน REST แรกของคุณ

ส่งออกคีย์ที่มีสิทธิ์ข้างต้นเป็น OPENAI_API_KEY จากนั้นส่งงาน quickstart ด้วยคอนเทนเนอร์ขนาดเล็ก:

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
  }'

เมื่อตั้งค่า stream: true การตอบกลับจะเป็นสตรีมเหตุการณ์ของเทิร์นแรก บันทึก Session ID จากนั้น; ส่วนที่เหลือของวงจรชีวิตจะใช้ทรัพยากรเดียวกัน:

การกระทำ คำขอ
ติดตามหรือควบคุม POST /v1/agents/sessions/{id}/events with an agent.session.input.message event
ยกเลิกเทิร์นที่กำลังทำงาน เอนด์พอยต์เดียวกัน, ประเภทเหตุการณ์ agent.session.input.cancel
อ่านงานที่บันทึกไว้ GET /v1/agents/sessions/{id}/items?order=asc&limit=100
ล้างข้อมูล DELETE /v1/agents/sessions/{id}

JavaScript SDK มีรูปแบบเดียวกัน เวอร์ชันนี้ดัดแปลงจากโพสต์เปิดตัว เพิ่มเครื่องมือ ซับเอเจนต์ และ 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);

ติดตามความคืบหน้า: สตรีมหรือเว็บฮุค

การสตรีม (Streaming). เปิด GET /v1/agents/sessions/{id}/events?stream=true ด้วย Accept: text/event-stream ก่อนที่คุณจะส่งข้อมูล เพื่อไม่ให้พลาดเหตุการณ์แรกๆ สังเกตดูสิ่งเหล่านี้:

ข้อควรระวังสามประการ: agent.session.idle ไม่ได้หมายความว่าเทิร์นสำเร็จ, เทิร์นที่เสร็จสมบูรณ์อาจมีการเรียกใช้เครื่องมือที่ล้มเหลว, และการปิดสตรีมไม่ได้หยุดงาน สตรีมจะไม่เล่นซ้ำเหตุการณ์ที่พลาดไป ดังนั้นหลังจากการตัดการเชื่อมต่อ ให้เปิดสตรีมใหม่และเรียกเซสชันและรายการต่างๆ ของมันกลับคืนมา

เว็บฮุค (Webhooks). สมัครรับ agent.session.created, agent.session.action_required, agent.session.in_progress, agent.session.idle, และ agent.session.failed โปรดสังเกตชื่อเรียก: สตรีมใช้คำว่า requires_action ส่วนเว็บฮุคใช้คำว่า action_required Payload จะละเว้นรายละเอียดการเรียกใช้งาน ดังนั้นตัวจัดการของคุณจะต้องเรียกเซสชันและอ่าน required_actions ตรวจสอบลายเซ็นแต่ละรายการ (การตรวจสอบลายเซ็นเว็บฮุค); การดำเนินการ API ที่ใช้เวลานาน อธิบายว่าเหตุใดเว็บฮุคจึงเหมาะกับงานที่ใช้เวลาหลายนาที

เครื่องมือ MCP, การค้นหาเครื่องมือ, การเรียกใช้เครื่องมือด้วยโปรแกรม และซับเอเจนต์

MCP. เพิ่มเซิร์ฟเวอร์ไปยัง agent.tools:

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

โดยค่าเริ่มต้น OpenAI จะทำการเชื่อมต่อ (connection_origin: "service") ดังนั้นเซิร์ฟเวอร์จะต้องเข้าถึงได้จาก OpenAI ใช้ connection_origin: "environment" สำหรับเซิร์ฟเวอร์เครือข่ายส่วนตัว หรือ stdio เพื่อเริ่มต้นในแซนด์บ็อกซ์ สำหรับข้อมูลประจำตัว ให้ส่ง transport.authorization สำหรับหนึ่งเซสชัน หรือแนบข้อมูลประจำตัว vault (static_bearer หรือ mcp_oauth) ด้วย vault_ids

การค้นหาเครื่องมือ (Tool search). เครื่องมือ MCP จะถูกค้นพบโดยอัตโนมัติเมื่อโมเดลรองรับการค้นหาเครื่องมือ สำหรับเครื่องมือฟังก์ชันหลายรายการ ให้เพิ่ม {"type": "tool_search"} และทำเครื่องหมายฟังก์ชัน defer_loading: true

การเรียกใช้เครื่องมือด้วยโปรแกรม (Programmatic tool calling). เปิดใช้งานโดยค่าเริ่มต้น: เอเจนต์จะได้รับเครื่องมือ exec ที่รัน JavaScript ในรันไทม์ V8 แบบแยกส่วน เพื่อให้สามารถวนรอบการเรียกใช้เครื่องมือและตัดผลลัพธ์ขนาดใหญ่ก่อนที่จะเข้าสู่บริบท ปิดใช้งานด้วย {"type": "programmatic_tool_calling", "enabled": false}

ซับเอเจนต์ (Subagents). ตั้งค่า multi_agent: {"enabled": true, "max_concurrent_subagents": 3} (ขีดจำกัดเริ่มต้นคือ 6) ซับเอเจนต์จะใช้ระบบไฟล์ของสภาพแวดล้อมร่วมกันและรับมรดกเครื่องมือ MCP และการค้นหาเว็บ แต่ไม่สามารถใช้เครื่องมือฟังก์ชันได้ subagent_id ของเทิร์นจะเป็น null สำหรับเอเจนต์หลัก

การใช้งานคอมพิวเตอร์: สิ่งที่เพิ่มเข้ามาใน DevDay

การใช้งานคอมพิวเตอร์ช่วยให้เอเจนต์มีเบราว์เซอร์ที่โฮสต์อยู่ เพิ่มเครื่องมือและเดสก์ท็อปไปยังสภาพแวดล้อมที่โฮสต์:

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

เบราว์เซอร์ต้องการการอนุมัติจากผู้ใช้ก่อนที่จะเข้าชมเว็บไซต์ใหม่แต่ละแหล่ง รวมถึงเว็บไซต์สาธารณะ เมื่อ agent.session.requires_action ให้เรียกเซสชันและค้นหารายการ computer_use_approval_request request.type ที่ซ้อนอยู่มีสองประเภทดังนี้:

คำตอบทั้งสองจะกลับไปผ่านเอนด์พอยต์เหตุการณ์:

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" }
  }]}'

งานของเบราว์เซอร์จะปรากฏเป็นรายการ computer_use_call พร้อมด้วย id, turn_id, title, status, และ output ซึ่งจะประกอบด้วยภาพหน้าจอ JPEG แบบ base64 เมื่อเปิด include_screenshots และมีภาพหน้าจออยู่ เก็บภาพหน้าจอออกจากบันทึก; เนื่องจากอาจแสดงข้อมูลบัญชีได้

คู่มือการใช้งานคอมพิวเตอร์ ระบุข้อควรระวังดังต่อไปนี้:

สรุปกล่าวว่าการใช้งานคอมพิวเตอร์จัดส่ง “ผ่าน API และใน Codex และ ChatGPT Work บน Pro 500 และ Enterprise” สำหรับการทดสอบที่ขับเคลื่อนด้วย UI ด้วยโมเดลเดียวกัน โปรดดู การใช้งานคอมพิวเตอร์ของ GPT-6 Astra สำหรับการทดสอบ API

ให้ API ของคุณแก่เอเจนต์ ไม่ใช่ UI ของคุณ

เบราว์เซอร์เป็นทางเลือกสำรองสำหรับซอฟต์แวร์ที่ไม่มี API หากระบบเป็นของคุณ ให้ห่อหุ้มด้วยเซิร์ฟเวอร์ MCP: เครื่องมือที่กำหนดประเภท, ไม่มีข้อความแจ้งแหล่งที่มา, ผลลัพธ์ที่ตรวจสอบได้ การใช้งานคอมพิวเตอร์ vs Structured APIs ครอบคลุมข้อดีข้อเสีย และ Apidog MCP Server จะป้อนข้อมูล API ของคุณไปยังผู้ช่วยเขียนโค้ดที่สร้าง wrapper

ทดสอบ Agents API ใน Apidog ก่อนเขียนโค้ด

API ยังอยู่ในช่วงเบต้า ดังนั้นควรยืนยันรูปแบบการเรียกแต่ละครั้งด้วยตนเองใน Apidog ก่อน:

  1. สร้าง Apidog environment ด้วย OPENAI_API_KEY, VAULT_ID และ SESSION_ID ส่ง Bearer {{OPENAI_API_KEY}} และ OpenAI-Beta: agents=v1 ในทุกคำขอ
  2. ส่งคำขอสร้างเซสชันโดยไม่มี stream ยืนยันสถานะ 2xx และ id ที่ไม่ว่างเปล่า และดึง id ไปยัง SESSION_ID
  3. เปิดสตรีมเหตุการณ์เป็นคำขอ SSE ส่งข้อมูลจากคำขอที่สอง และดูเหตุการณ์ที่เข้ามา
  4. บันทึก payloads สำหรับการอนุมัติและการยกเลิกเป็นคำขอเพื่อเล่นซ้ำแต่ละกรณีของ required_actions
  5. เชื่อมโยงเข้าด้วยกันเป็นสถานการณ์การทดสอบและรันใน CI ด้วย Apidog CLI

คู่มือการทดสอบ AI agent API มีรูปแบบการยืนยันสำหรับเอาต์พุตที่ไม่แน่นอน ดาวน์โหลด Apidog เพื่อทำตาม

คำถามที่พบบ่อย

OpenAI Agents API ฟรีหรือไม่? ไม่มีค่าธรรมเนียมแพลตฟอร์ม แต่คุณจะต้องจ่ายสำหรับโทเค็นโมเดล, การเรียกใช้เครื่องมือ และเวลาคอนเทนเนอร์ที่โฮสต์

โมเดลใดบ้างที่ทำงานร่วมกับ Agents API ได้? ตัวอย่างในเอกสารประกอบ รวมถึงตัวอย่างการใช้งานคอมพิวเตอร์ทั้งหมด ใช้ gpt-6-astra เอกสารไม่ได้ระบุโมเดลอื่นๆ ที่รองรับ ดังนั้นควรทดสอบของคุณก่อน

Agents API รองรับ Zero Data Retention หรือไม่? ไม่รองรับ รองรับเฉพาะข้อมูลที่อยู่ในสหรัฐอเมริกาเท่านั้น และไม่มีสิทธิ์ ZDR แม้จะใช้แซนด์บ็อกซ์แบบ self-hosted ก็ตาม

แตกต่างจาก Agents SDK หรือ Responses API อย่างไร? SDK รันวงจรภายในแอปของคุณ; Responses API คือการเรียกโมเดลที่คุณสร้างวงจรครอบคลุม ดู การเปรียบเทียบฉบับเต็ม

เริ่มต้นด้วยเซสชันแบบอ่านอย่างเดียวหนึ่งเซสชัน

เริ่มต้นด้วยเซสชันแบบอ่านอย่างเดียว เพิ่มเซิร์ฟเวอร์ MCP หนึ่งเครื่อง จากนั้นเพิ่มการใช้งานคอมพิวเตอร์หลังตัวจัดการการอนุมัติที่ปฏิเสธโดยค่าเริ่มต้น เมื่อ ChatGPT ควรตอบสนองต่อเหตุการณ์จากเซิร์ฟเวอร์ของคุณเองแทน เหตุการณ์ MCP คือส่วนที่เหมาะสม

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API