OpenAI เปิด Agents API แบบ public beta — เช่าฮาร์เนส Codex ทั้งตัวผ่าน API เดียว แต่ยังไม่รองรับ ZDR และเก็บข้อมูลได้แค่ในสหรัฐฯ
OpenAI ปล่อย Agents API เข้าสู่ public beta เมื่อ 10 ก.ย. 2026 ตามบันทึก changelog ของแพลตฟอร์ม นิยามสั้นที่สุดคือ “ฮาร์เนส Codex ที่ OpenAI รันให้” แอปของเราสร้าง session ส่งงานเข้าไป แล้วรับ event กลับมา ส่วนลูปของโมเดล การเรียกทูล การสรุปคอนเท็กซ์เมื่อยาวเกิน การแตกงานให้ subagent และการทำต่อเมื่อหลุด OpenAI จัดการให้ทั้งหมด
ที่สำคัญคือนี่เป็นชั้นที่นักพัฒนาต้องเขียนเองมาตลอด ถ้าใช้ Responses API ตรง ๆ เราคุมได้ทุกอย่างแต่ต้องเขียนลูปเอง ถ้าใช้ Agents SDK ลูปจะรันอยู่ในแอปของเรา Agents API เป็นทางที่สามที่ย้ายลูปทั้งหมดไปไว้ฝั่ง OpenAI และย้าย state ของเอเจนต์ไปไว้ที่นั่นด้วย ตรงนี้แหละที่ต้องอ่านเงื่อนไขให้ครบ
สี่ชิ้นที่ต้องรู้จัก
เอกสารแบ่ง API ออกเป็นสี่แนวคิด:
- Agent: โมเดล คำสั่ง ทูล และ MCP server ที่เอเจนต์ใช้ได้ บันทึกไว้แล้วใช้ซ้ำข้าม session ด้วย
agent_idได้ - Environment: ที่ที่เอเจนต์รันคำสั่งและแก้ไฟล์ มีสามแบบ คือ
openai_hosted,self_hostedและnone - Session: อินสแตนซ์ของเอเจนต์ที่อยู่ได้นาน ส่งงานต่อได้หลายเทิร์นโดยไม่ต้องสร้างคอนเท็กซ์ใหม่ และ steer ได้ขณะที่มันกำลังทำงาน
- Events/items: อินพุตที่ส่งเข้าไปและเอาต์พุตที่ออกมา รับได้ทั้งแบบ stream และ webhook
ทูลที่เปิดใช้ในตัวอย่างของเอกสารมี programmatic_tool_calling, MCP แบบ HTTP, web_search และ function tool ที่แอปของเรารันเอง เอกสารเตือนว่าถ้า handler ของเราล่ม เอเจนต์จะค้างรอผลอยู่อย่างนั้น ส่วน multi-agent เปิดด้วย multi_agent.enabled โดย max_concurrent_subagents มีค่าเริ่มต้น 6 ไม่นับตัวประสานงาน subagent ทุกตัวใช้ filesystem เดียวกับตัวหลัก และการสร้าง subagent ไม่ได้สร้าง environment ใหม่ เอเจนต์ที่แก้ไฟล์เดียวกันจึงต้องประสานกันเอง
การเรียกใช้ต้องมี API key ที่ได้สิทธิ์ api.agents.read, api.agents.write และ api.responses.write และต้องแนบเฮดเดอร์ OpenAI-Beta: agents=v1 ถ้าใช้ SDK จะใส่ให้อัตโนมัติผ่าน namespace client.beta.agents
แซนด์บ็อกซ์: ของ OpenAI หรือของเราเอง
แบบ openai_hosted ได้ Linux workspace ที่มี Python, Node.js และเครื่องมือบรรทัดคำสั่ง ทำงานที่ /workspace ตั้งค่า package, setup command, ไฟล์ และ env ได้ (แต่ชื่ออย่าง PATH, CODEX_*, OPENAI_API_KEY จะถูกปฏิเสธ) คุมเน็ตเวิร์กได้สามโหมด คือเปิด ปิด หรือ restricted ที่ระบุโฮสต์แบบตรงตัวได้ 1–100 ชื่อโดยห้ามใช้ wildcard ไฟล์ที่เขียนลง /workspace/outputs จะถูกเผยแพร่เป็น artifact ที่แก้ไม่ได้เมื่อจบเทิร์น และยังดาวน์โหลดได้หลังแซนด์บ็อกซ์หมดอายุ แซนด์บ็อกซ์จะหมดอายุเมื่อไม่มีกิจกรรมหรือ keep-alive ครบหนึ่งชั่วโมง และเอกสารเขียนชัดว่า ปรับค่านี้ไม่ได้
ขีดจำกัดไฟล์: แนบได้ 50 ไฟล์ต่อคำขอสร้าง session, อัปโหลดแบบ inline ได้ 5 MiB ต่อไฟล์และรวมไม่เกิน 10 MiB, ดึงจาก Files API ได้ 50 MiB ต่อไฟล์ ส่วน artifact ต้องไม่เกิน 200 MiB ต่อไฟล์และรวม 500 MiB ต่อการเผยแพร่หนึ่งครั้ง
แบบ self_hosted ให้เรารัน codex exec-server (ติดตั้งจาก @openai/codex@alpha) บนเครื่อง ในคอนเทนเนอร์ หรือในแซนด์บ็อกซ์ของผู้ให้บริการ executor จะต่อไปหา OpenAI ผ่าน WebSocket ขาออกอย่างเดียว ไม่ต้องเปิดพอร์ตขาเข้า และใช้ CODEX_API_KEY แบบจำกัดสิทธิ์ที่ทำได้แค่เชื่อม environment เอกสารยอมรับตรง ๆ ว่าโค้ดที่เอเจนต์สร้างอ่านคีย์นี้ได้ จึงออกแบบให้คีย์ไม่มีประโยชน์อะไรถ้าหลุดออกไป ผู้ให้บริการที่มีคู่มือแล้วคือ Modal, Cloudflare, Vercel, Daytona, Blaxel, E2B, Runloop, DigitalOcean และ Oracle Cloud Infrastructure
แบบ none ไม่มีเครื่องให้รันเลย ใช้ Bash, apply-patch และไฟล์ใน workspace ไม่ได้ เหมาะกับเอเจนต์ที่แค่เรียก MCP หรือ function tool
ราคาและเงื่อนไขที่พาดหัวไม่ได้บอก
Agents API ไม่มีค่าธรรมเนียมแยก เราจ่ายค่าโมเดลตามอัตรา API ปกติ ค่าทูลตามอัตรามาตรฐาน และถ้าใช้แซนด์บ็อกซ์ของ OpenAI ก็คิดตามอัตรา container เดียวกับ Hosted Shell และ Code Interpreter (ตารางราคาระบุ 1 GB $0.03, 4 GB $0.12, 16 GB $0.48, 64 GB $1.92 ต่อ session 20 นาทีต่อคอนเทนเนอร์) แต่หน้า observability บอกว่างานหนึ่งงานอาจเรียกโมเดลหลายรอบ และตัวเลข usage ต่อเทิร์นเป็นแบบ best-effort อาจเป็น null และอาจเปลี่ยนภายหลัง ส่วน trace แบบละเอียดดึงด้วย project API key ธรรมดาไม่ได้
ข้อที่หนักที่สุดอยู่ท้ายหน้า overview: ตอนนี้ Agents API รองรับ data residency เฉพาะในสหรัฐฯ และไม่รองรับ Zero Data Retention (ZDR) เอกสารยังย้ำอีกประโยคว่าการเลือกแซนด์บ็อกซ์แบบ self-hosted ไม่ได้ทำให้ Agents API มีสิทธิ์ ZDR เพราะ session, turn และ item ยังเก็บอยู่ฝั่ง OpenAI ไม่ว่าคำสั่งจะไปรันที่ไหน
วันเดียวกัน OpenAI เพิ่มการตั้งวันหมดอายุให้ project API key และให้แอดมินบังคับอายุสูงสุดของคีย์ได้ทั้งระดับองค์กรและระดับโปรเจกต์ ซึ่งเข้ากันพอดีกับยุคที่คีย์ต้องไปวางใกล้เอเจนต์มากขึ้น
มุมมอง AI Curator
ตอนนี้ทั้งสองแล็บที่นำตลาดโค้ดดิ้งเอเจนต์ได้ข้อสรุปเดียวกันแล้วว่าสิ่งที่ขายได้ไม่ใช่แค่โมเดล แต่เป็น ฮาร์เนส ที่ห่อโมเดลนั้นไว้ Anthropic เปิด Claude Managed Agents ตั้งแต่เมษายนและเติมชิ้นส่วนระดับโปรดักชันมาเรื่อย ๆ ส่วน OpenAI เพิ่งเอา Codex ที่คนใช้ผ่าน CLI อยู่แล้วมาเปิดเป็น API หน้าตาของสองฝั่งคล้ายกันจนน่าสังเกต คือ agent, environment, session และ event อีกไม่นาน “ฮาร์เนสแบบเช่า” น่าจะกลายเป็นสินค้าพื้นฐานที่ใครก็มี และสิ่งที่แข่งกันจริงจะเป็นข้อผูกมัดที่มากับมัน
ข้อผูกมัดชิ้นแรกคือ state ถ้าเอเจนต์ของเราทำงานต่อเนื่องหลายวันผ่าน session ของ OpenAI ประวัติทั้งหมดก็อยู่ที่ OpenAI การย้ายไปค่ายอื่นจึงไม่ใช่แค่เปลี่ยน base URL คำแนะนำที่ใช้ได้จริงคือเขียนทูลเป็น MCP server ตั้งแต่วันแรก และเก็บผลลัพธ์สำคัญลงระบบของตัวเองเสมอ ส่วนที่เป็นของเราจะได้พกไปได้ ไม่ว่าจะเช่าฮาร์เนสของใคร
ข้อที่สองกระทบไทยโดยตรง การที่ เก็บข้อมูลได้แค่ในสหรัฐฯ และไม่มี ZDR แปลว่างานที่แตะข้อมูลส่วนบุคคลตาม PDPA หรือข้อมูลที่ธนาคาร ประกัน และโรงพยาบาลต้องคุมตามเกณฑ์ของหน่วยงานกำกับ ยังไม่ควรส่งผ่าน API ตัวนี้ ต่อให้ตั้งแซนด์บ็อกซ์บนคลาวด์ในภูมิภาคของตัวเองก็ไม่ช่วย เพราะเอกสารปิดช่องนั้นไว้แล้ว ของที่เหมาะกับช่วง beta คือเอเจนต์ภายใน เช่น บอตสืบสวนเหตุระบบขัดข้อง ตัวสรุป issue หรือเครื่องมือวิเคราะห์ข้อมูลที่ไม่มีข้อมูลลูกค้า ซึ่งตรงกับตัวอย่างส่วนใหญ่ที่ OpenAI เลือกโชว์เองพอดี
ข้อที่สามคือค่าใช้จ่ายที่มองไม่เห็น ฮาร์เนสที่บีบอัดคอนเท็กซ์และแตก subagent ให้เอง ก็คือฮาร์เนสที่ตัดสินใจเรียกโมเดลแทนเรา ในเมื่อ usage ต่อเทิร์นยังเป็นแบบ best-effort ทีมที่จะเปิดให้ลูกค้าใช้ควรตั้ง max_concurrent_subagents ให้ต่ำกว่าค่าเริ่มต้น 6 และวัดต้นทุนต่องานจากใบแจ้งหนี้จริงสักสองสัปดาห์ก่อนตั้งราคาขาย
แหล่งข่าว
อ่านเพิ่มในหมวด เครื่องมือนักพัฒนา
Betelgeuse รัน Qwen3.8 Flash Next ขนาด 68GB บน RTX 3060 กับแรม 16GB ส่วน Basalt วัดให้เห็นว่าเอนจินที่เร่งด้วยแฟล็กลัดทำให้โมเดลลืมของ
Betelgeuse ฟอร์ก llama.cpp ที่เปิดเมื่อ 31 ต.ค. ดึง expert จาก NVMe เข้า VRAM ตามต้องการ อ้าง 22 tok/s แบบไม่ทิ้ง expert แต่ README เตือนเองว่ายังทดลองและตัวเลขมาจากคนละรอบ วันเดียวกันผู้พัฒนา Basalt เผยผลวัดว่าแฟล็กเร่งความเร็วทำคุณภาพ Q8 ตกไปใกล้ Q2
กฎห้ามโคลนเกมของ Claude Code เริ่มกระทบงานจริง บริษัทรับทำเกมกระดานร้องงานลูกค้าหยุด แต่รายงานหลายชิ้นปนกับตัวกรองไซเบอร์คนละเรื่อง
ต่อจากที่เราพบกฎนี้ในไบนารี Claude Code ผู้ใช้เริ่มรายงานว่างานเชิงพาณิชย์ถูกปฏิเสธ และ Tom's Hardware กับ Mashable หยิบไปรายงาน แต่เมื่อไล่ issue ที่อ้างถึง พบว่าหลายรายการเกิดก่อนกฎจะมา จึงน่าจะเป็นตัวกรองด้านไซเบอร์ ส่วน Anthropic ยังไม่ชี้แจง
Claude Code ส่ง transcript ของ background agent ให้โมเดลทุก ~30 วินาทีเพื่อเขียนสถานะ 3–5 คำ ผู้วัดรายงานกินราว 16% และยังปิดแบบทางการไม่ได้
รายงานอิสระพบว่าฟีเจอร์ agent_summary ของ Claude Code ส่ง transcript เต็มของ background agent ไปถามสถานะทุก ~30 วินาที คิดเป็น 16.4% ของค่าใช้จ่ายในระบบของผู้วัด Issue เปิดมาตั้งแต่ ส.ค. ยังไม่มีสวิตช์ปิดที่รองรับ เราตรวจพบโค้ดนี้ใน 2.1.314 และพบกฎใหม่เรื่องเกมที่ไม่อยู่ใน changelog