Cara Menggunakan OpenAI Agents API?

Tutorial API Agen OpenAI: buat sesi di curl, pilih sandbox, tambahkan alat MCP tools dan subagen, dan tangani persetujuan penggunaan komputer. Harga dan limit.

Medy Evrard

2 October 2026

Cara Menggunakan OpenAI Agents API?

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

OpenAI Agents API menjalankan Codex harness sumber terbuka OpenAI untuk Anda. Anda mengirim POST https://api.openai.com/v1/agents/sessions dengan header OpenAI-Beta: agents=v1, definisi agen, dan tugas; OpenAI menjalankan model dan loop alat, menjaga sesi, dan dapat menyediakan sandbox. Tidak ada biaya Agents API: Anda membayar untuk token, alat, dan waktu kontainer yang di-host ($0.03 hingga $0.48 per sesi 20 menit untuk ukuran sandbox 1 GB hingga 16 GB). Ini memasuki beta publik pada 10 September 2026, dan OpenAI menambahkan penggunaan komputer di DevDay pada 29 September.

button

Di bawah ini: sesi REST pertama, peristiwa progres, alat MCP, subagen, dan alur persetujuan penggunaan komputer. Untuk perbandingannya dengan antarmuka agen OpenAI lainnya, baca Agents API vs Responses API vs Agents SDK; untuk sisa acara, lihat rangkuman DevDay 2026. Setiap panggilan adalah HTTP biasa, jadi Anda bisa mengirimnya dari Apidog sebelum menulis kode aplikasi.

Sekilas OpenAI Agents API

Item Nilai
Status Beta publik sejak 10 Sep 2026; penggunaan komputer ditambahkan 29 Sep
Buat sesi POST /v1/agents/sessions
Header Beta OpenAI-Beta: agents=v1 (SDK OpenAI menambahkannya)
Izin Kunci api.agents.read, api.agents.write, api.responses.write
Harga Tidak ada biaya Agents API; token model dengan tarif API, alat dengan tarif standar (pencarian web $10 per 1K panggilan)
Kontainer yang di-host $0.03 (small, 1 GB), $0.12 (medium, 4 GB), $0.48 (large, 16 GB) per sesi 20 menit
Lingkungan none, openai_hosted, self_hosted
Model dalam contoh dokumen gpt-6-astra
Kontrol Data Hanya residensi data AS; tanpa Zero Data Retention (ZDR)
Ukuran permintaan maksimum 4 MiB

Sumber: Memperkenalkan Agents API, ikhtisar Agents API, dan halaman harga.

Empat Konsep

Dokumen membangun API di sekitar empat bagian:

Pesan yang dikirim ke sesi yang tidak aktif memulai giliran baru; pesan yang dikirim di tengah giliran mengarahkannya. Harness (sesuai halaman arsitektur, instans Codex yang di-host yang menjalankan loop model dan alat) juga menangani pemadatan konteks, sehingga Anda tidak mengkonfigurasinya.

Pilih Lingkungan

environment.type memutuskan tempat perintah berjalan:

Postingan peluncuran mencantumkan mitra sandbox Blaxel, Cloudflare, Daytona, DigitalOcean, E2B, Modal, Oracle, Runloop, dan Vercel; panduan self-hosted menambahkan AWS Lambda MicroVMs.

Sesi Pertama Anda melalui REST

Ekspor kunci dengan izin di atas sebagai OPENAI_API_KEY, lalu kirim tugas quickstart dengan kontainer kecil:

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": "Tulis kode yang bersih, jalankan, dan laporkan output sebenarnya."
    },
    "environment": { "type": "openai_hosted", "container_size": "small" },
    "input": "Buat tree.py, sebuah skrip yang mencetak pohon file di direktori saat ini. Jalankan dan tunjukkan outputnya.",
    "stream": true
  }'

Dengan stream: true, responsnya adalah aliran peristiwa giliran pertama. Simpan ID sesi darinya; sisa siklus hidup menggunakan sumber daya yang sama:

Tindakan Permintaan
Tindak lanjut atau arahkan POST /v1/agents/sessions/{id}/events dengan peristiwa agent.session.input.message
Batalkan giliran aktif Endpoint yang sama, tipe peristiwa agent.session.input.cancel
Baca pekerjaan yang disimpan GET /v1/agents/sessions/{id}/items?order=asc&limit=100
Bersihkan DELETE /v1/agents/sessions/{id}

JavaScript SDK memiliki bentuk yang sama. Versi ini, yang diadaptasi dari postingan peluncuran, menambahkan alat, subagen, dan brankas:

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: "Ringkas perubahan penting dalam catatan rilis terbaru.",
});
console.log(session.id);

Ikuti progres: stream atau webhook

Streaming. Buka GET /v1/agents/sessions/{id}/events?stream=true dengan Accept: text/event-stream sebelum Anda mengirim input, agar Anda tidak melewatkan peristiwa awal. Perhatikan untuk:

Tiga jebakan: agent.session.idle tidak berarti giliran berhasil, giliran yang selesai dapat berisi panggilan alat yang gagal, dan menutup aliran tidak menghentikan tugas. Stream tidak memutar ulang peristiwa yang terlewat, jadi setelah terputus, buka stream baru dan ambil sesi serta itemnya.

Webhook. Berlangganan agent.session.created, agent.session.action_required, agent.session.in_progress, agent.session.idle, dan agent.session.failed. Perhatikan penamaannya: stream mengatakan requires_action, webhook mengatakan action_required. Payload menghilangkan detail panggilan, jadi handler Anda mengambil sesi dan membaca required_actions. Verifikasi setiap tanda tangan (verifikasi tanda tangan webhook); operasi API yang berjalan lama oleh agen AI menjelaskan mengapa webhook cocok untuk tugas multi-menit.

Alat MCP, pencarian alat, panggilan alat terprogram, dan subagen

MCP. Tambahkan server ke agent.tools:

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

Secara default OpenAI membuat koneksi (connection_origin: "service"), jadi server harus dapat dijangkau dari OpenAI. Gunakan connection_origin: "environment" untuk server jaringan pribadi, atau stdio untuk memulai satu di sandbox. Untuk kredensial, teruskan transport.authorization untuk satu sesi, atau lampirkan kredensial brankas (static_bearer atau mcp_oauth) dengan vault_ids.

Pencarian alat. Alat MCP ditemukan secara otomatis ketika model mendukung pencarian alat. Untuk banyak alat fungsi, tambahkan {"type": "tool_search"} dan tandai fungsi defer_loading: true.

Panggilan alat terprogram. Aktif secara default: agen mendapatkan alat exec yang menjalankan JavaScript dalam runtime V8 terisolasi, sehingga dapat mengulang panggilan alat dan memotong hasil besar sebelum mencapai konteks. Nonaktifkan dengan {"type": "programmatic_tool_calling", "enabled": false}.

Subagen. Atur multi_agent: {"enabled": true, "max_concurrent_subagents": 3} (batas default adalah 6). Subagen berbagi sistem file lingkungan dan mewarisi alat MCP serta pencarian web, tetapi tidak dapat menggunakan alat fungsi. subagent_id sebuah giliran adalah null untuk agen utama.

Penggunaan komputer: tambahan DevDay

Penggunaan komputer memberi agen browser yang di-host. Tambahkan alat dan desktop ke lingkungan yang di-host:

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

Browser memerlukan persetujuan pengguna sebelum mengunjungi setiap asal situs web baru, termasuk situs publik. Pada agent.session.requires_action, ambil sesi dan temukan entri computer_use_approval_request. request.type yang bersarang adalah salah satu dari dua jenis:

Kedua jawaban dikirim kembali melalui endpoint peristiwa:

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

Pekerjaan browser muncul sebagai item computer_use_call dengan id, turn_id, title, status, dan output, yang membawa tangkapan layar JPEG base64 ketika include_screenshots aktif dan tersedia. Jauhkan tangkapan layar dari log; mereka dapat menampilkan data akun.

Panduan penggunaan komputer menandai peringatan ini:

Rekapitulasi menyatakan penggunaan komputer dikirim "melalui API dan di Codex serta ChatGPT Work pada Pro 500 dan Enterprise." Untuk pengujian berbasis UI dengan model yang sama, lihat penggunaan komputer GPT-6 Astra untuk pengujian API.

Berikan agen API Anda, bukan UI Anda

Browser adalah solusi cadangan untuk perangkat lunak tanpa API. Jika sistem itu milik Anda, bungkus dalam server MCP: alat bertipe, tanpa perintah origin, hasil yang dapat diperiksa. Penggunaan komputer vs API terstruktur membahas trade-off, dan Apidog MCP Server memasok spesifikasi API Anda ke asisten coding yang menulis wrapper.

Uji Agents API di Apidog sebelum menulis kode

API sedang dalam beta, jadi konfirmasikan bentuk setiap panggilan secara manual di Apidog terlebih dahulu:

  1. Buat lingkungan Apidog dengan OPENAI_API_KEY, VAULT_ID, dan SESSION_ID. Kirim Bearer {{OPENAI_API_KEY}} dan OpenAI-Beta: agents=v1 pada setiap permintaan.
  2. Kirim permintaan buat-sesi tanpa stream, assert status 2xx dan id yang tidak kosong, dan ekstrak id ke SESSION_ID.
  3. Buka aliran peristiwa sebagai permintaan SSE, kirim input dari permintaan kedua, dan saksikan peristiwa tiba.
  4. Simpan payload persetujuan dan pembatalan sebagai permintaan untuk memutar ulang setiap kasus required_actions.
  5. Rangkai semuanya menjadi skenario pengujian dan jalankan di CI dengan Apidog CLI.

Panduan pengujian API agen AI memiliki pola assertion untuk output non-deterministik. Unduh Apidog untuk mengikuti.

FAQ

Apakah OpenAI Agents API gratis? Tidak ada biaya platform, tetapi Anda membayar untuk token model, panggilan alat, dan waktu kontainer yang di-host.

Model mana yang berfungsi dengan Agents API? Contoh dokumen, termasuk setiap contoh penggunaan komputer, menggunakan gpt-6-astra. Halaman-halaman tersebut tidak mencantumkan model lain yang didukung, jadi uji model Anda terlebih dahulu.

Apakah Agents API mendukung Zero Data Retention? Tidak. Ini hanya mendukung residensi data AS dan tidak memenuhi syarat ZDR, bahkan dengan sandbox yang di-host sendiri.

Bagaimana perbedaannya dengan Agents SDK atau Responses API? SDK menjalankan loop di dalam aplikasi Anda; Responses API adalah panggilan model yang Anda bangun loop di sekitarnya. Lihat perbandingan lengkapnya.

Mulai dengan Satu Sesi Hanya Baca

Mulai dengan sesi yang hanya membaca, tambahkan satu server MCP, lalu tambahkan penggunaan komputer di balik handler persetujuan yang menolak secara default. Ketika ChatGPT harus bereaksi terhadap peristiwa dari server Anda sendiri, MCP Events adalah bagian yang sesuai.

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.