วิวัฒนาการขั้นถัดไปของ Agents SDK
(openai.com)- OpenAI อัปเดต Agents SDK ครั้งใหญ่ เพื่อมอบโครงสร้างพื้นฐานมาตรฐานที่ช่วยให้เอเจนต์สามารถตรวจสอบไฟล์ รันคำสั่ง แก้ไขโค้ด และทำงานระยะยาวได้ภายใน สภาพแวดล้อมแซนด์บ็อกซ์ที่ควบคุมได้
- harness ใหม่ผสาน หน่วยความจำที่กำหนดค่าได้, orchestration ที่รับรู้แซนด์บ็อกซ์, เครื่องมือระบบไฟล์สไตล์ Codex, รวมถึง primitive สำคัญของระบบเอเจนต์ระดับ frontier เช่น MCP, skills, AGENTS.md, shell และ apply patch
- รองรับการรันบนแซนด์บ็อกซ์แบบ native โดยสนับสนุน ผู้ให้บริการแซนด์บ็อกซ์ที่หลากหลาย อย่าง Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop และ Vercel ได้ในตัว หรือจะเชื่อมต่อแซนด์บ็อกซ์ของตนเองก็ได้
- ด้วยสถาปัตยกรรมที่แยก harness ออกจาก compute จึงช่วยเพิ่มทั้งความปลอดภัยและการขยายระบบ เช่น การป้องกัน prompt injection, durable execution บนพื้นฐาน snapshot และการขนานงานแบบหลายคอนเทนเนอร์
- เปิดให้ใช้งานทั่วไป (GA) สำหรับลูกค้าทั้งหมดด้วย การคิดค่าบริการมาตรฐานตามโทเค็นและการใช้เครื่องมือ ผ่าน API และมีแผนเพิ่มการรองรับ TypeScript รวมถึงฟีเจอร์ code mode และ subagents ในอนาคต
ข้อจำกัดของระบบเอเจนต์แบบเดิม
- หากนักพัฒนาต้องการสร้างเอเจนต์ที่มีประโยชน์จริง ไม่ได้ต้องการแค่โมเดลที่ดีที่สุดเท่านั้น แต่ยังต้องมีระบบที่รองรับการตรวจสอบไฟล์ รันคำสั่ง เขียนโค้ด และ คงสถานะงานหลายขั้นตอนไว้ได้
- trade-off ของแนวทางเดิม
- เฟรมเวิร์กที่ไม่ผูกกับโมเดล มีความยืดหยุ่น แต่ไม่สามารถดึงความสามารถของโมเดล frontier ออกมาใช้ได้เต็มที่
- SDK จากผู้ให้บริการโมเดล อยู่ใกล้ตัวโมเดลมากกว่า แต่ก็มักขาดความสามารถในการมองเห็นการทำงานของ harness
- Managed agent API ทำให้การ deploy ง่ายขึ้น แต่จำกัดตำแหน่งที่เอเจนต์จะรันและวิธีเข้าถึงข้อมูลอ่อนไหว
harness ที่ทรงพลังกว่าสำหรับ agent loop
- รีลีสครั้งนี้ทำให้ harness ของ Agents SDK มีความสามารถมากขึ้นสำหรับเอเจนต์ที่ต้องจัดการเอกสาร ไฟล์ และระบบ
- primitive สำคัญที่รวมเข้ามาใหม่
- การใช้เครื่องมือผ่าน MCP
- progressive disclosure ผ่าน skills
- custom instruction ผ่าน AGENTS.md
- การรันโค้ดผ่านเครื่องมือ shell
- การแก้ไขไฟล์ผ่านเครื่องมือ apply patch
- เนื่องจาก harness จะผสานรูปแบบการทำงานแบบ agentic และ primitive ใหม่ ๆ เพิ่มขึ้นอย่างต่อเนื่องตามเวลา นักพัฒนาจึงสามารถ โฟกัสที่ลอจิกเฉพาะโดเมนได้แทนการอัปเดตโครงสร้างพื้นฐานหลัก
- harness ช่วยให้การรันสอดคล้องกับ วิธีที่โมเดล frontier ทำงานได้ดีที่สุด ส่งผลให้เสถียรภาพและประสิทธิภาพดีขึ้น โดยเฉพาะในงานที่รันยาวหรือมีความซับซ้อนสูงซึ่งต้องประสานเครื่องมือและระบบหลากหลายตัว
- ถูกออกแบบมาเพื่อรองรับความต้องการเฉพาะของแต่ละผลิตภัณฑ์ จึงสามารถ ปรับการใช้เครื่องมือ หน่วยความจำ และสภาพแวดล้อมแซนด์บ็อกซ์ให้เข้ากับสแต็กเดิมของนักพัฒนาได้อย่างยืดหยุ่น
การรันบนแซนด์บ็อกซ์แบบ native
- Agents SDK ที่อัปเดตแล้ว รองรับการรันบนแซนด์บ็อกซ์แบบ native ทำให้เอเจนต์สามารถทำงานในสภาพแวดล้อมคอมพิวเตอร์ที่ควบคุมได้ พร้อมไฟล์ เครื่องมือ และ dependency ที่จำเป็นต่อภารกิจ
- เอเจนต์ที่มีประโยชน์จำนวนมากต้องการ workspace ที่สามารถอ่าน/เขียนไฟล์ ติดตั้ง dependency รันโค้ด และใช้เครื่องมือได้อย่างปลอดภัย ซึ่งการรองรับแซนด์บ็อกซ์แบบ native ทำให้ได้สิ่งนี้มาโดยไม่ต้องตั้งค่าแยกเอง
- สามารถนำแซนด์บ็อกซ์ของตัวเองมาใช้ หรือใช้การรองรับที่มีมาในตัวสำหรับ Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel
- มีการเพิ่ม abstraction แบบ Manifest เพื่อให้สภาพแวดล้อมพกพาข้ามผู้ให้บริการหลายรายได้
- สามารถเมานต์ไฟล์ในเครื่องและกำหนดไดเรกทอรีผลลัพธ์ได้
- รองรับการนำเข้าข้อมูลจากผู้ให้บริการสตอเรจอย่าง AWS S3, Google Cloud Storage, Azure Blob Storage, Cloudflare R2
- มอบวิธีตั้งค่าสภาพแวดล้อมที่ สม่ำเสมอตั้งแต่การทำต้นแบบในเครื่องไปจนถึงการ deploy สู่โปรดักชัน แก่นักพัฒนา
- มอบ workspace ที่คาดการณ์ได้ ให้กับโมเดล ทั้งในแง่ตำแหน่งอินพุต ตำแหน่งเอาต์พุต และวิธีจัดระเบียบงานระหว่างงานที่รันเป็นเวลานาน
การแยก harness ออกจาก compute เพื่อความปลอดภัย ความทนทาน และการขยายระบบ
- ระบบเอเจนต์ควรถูกออกแบบโดย ตั้งสมมติฐานว่ามีความพยายามทำ prompt injection และข้อมูลรั่วไหลอยู่เสมอ และการแยก harness ออกจาก compute ก็ช่วยแยก credential ออกจากสภาพแวดล้อมที่รันโค้ดซึ่งโมเดลสร้างขึ้น
- รองรับ durable execution
- เมื่อสถานะของเอเจนต์ถูก externalize แล้ว การสูญเสียคอนเทนเนอร์แซนด์บ็อกซ์จะไม่เท่ากับการสูญเสียการรัน
- ด้วย snapshotting และ rehydration ที่มีมาในตัว หากสภาพแวดล้อมเดิมล้มเหลวหรือหมดอายุ ก็สามารถกู้สถานะจาก checkpoint ล่าสุดขึ้นมารันต่อในคอนเทนเนอร์ใหม่ได้
- เสริม ความสามารถในการขยายระบบ
- การรันเอเจนต์สามารถใช้แซนด์บ็อกซ์หนึ่งตัวหรือหลายตัวก็ได้
- เรียกใช้แซนด์บ็อกซ์เฉพาะเมื่อจำเป็น และสามารถส่ง subagent ไปยังสภาพแวดล้อมที่แยกจากกันได้
- รองรับการรันที่เร็วขึ้นด้วย การขนานงานแบบหลายคอนเทนเนอร์
กรณีศึกษาลูกค้า Oscar Health
- ตามคำกล่าวของ Rachael Burns, Staff Engineer & AI Tech Lead ของ Oscar Health ระบุว่า Agents SDK ที่อัปเดตแล้วช่วยให้พวกเขานำ เวิร์กโฟลว์อัตโนมัติสำหรับเวชระเบียนทางคลินิก ไปใช้งานในระดับโปรดักชันได้ ซึ่งแนวทางก่อนหน้านี้ยังไม่เสถียรพอจะรองรับได้
- จุดแตกต่างสำคัญไม่ใช่แค่การดึง metadata แบบง่าย ๆ แต่คือการ เข้าใจแต่ละ encounter boundary ได้อย่างแม่นยำ จากบันทึกที่ยาวและซับซ้อน
- ผลลัพธ์คือช่วยให้เข้าใจบริบทการเข้ารับบริการของผู้ป่วยแต่ละรายได้เร็วขึ้น และมีส่วนช่วย ยกระดับการดูแลและประสบการณ์ของผู้ป่วย
ราคาและรูปแบบการให้บริการ
- ความสามารถใหม่ของ Agents SDK เปิดให้ใช้งานทั่วไป (GA) สำหรับลูกค้าทั้งหมด ผ่าน API
- ใช้ นโยบายราคามาตรฐานของ API (คิดค่าบริการตามโทเค็นและการใช้เครื่องมือ)
แผนในอนาคต
- จะพัฒนา Agents SDK ต่อเนื่องเพื่อช่วยให้นำเอเจนต์ที่ทรงพลังยิ่งขึ้นขึ้นสู่โปรดักชันได้ด้วยโครงสร้างพื้นฐานแบบคัสตอมน้อยลง โดยยังคง ความยืดหยุ่นและการควบคุมของนักพัฒนา เอาไว้
- harness ใหม่และความสามารถด้านแซนด์บ็อกซ์จะ เปิดตัวบน Python ก่อน และ การรองรับ TypeScript จะตามมาในรีลีสถัดไป
- กำลังพัฒนาฟีเจอร์ code mode และ subagents เพื่อเพิ่มให้ทั้ง Python และ TypeScript
- มีแผนขยายการรองรับ ผู้ให้บริการแซนด์บ็อกซ์ การผสานระบบ และวิธีเชื่อมต่อกับเครื่องมือและระบบที่นักพัฒนาใช้อยู่แล้ว เพื่อสนับสนุนการบูรณาการในระบบนิเวศของเอเจนต์
ยังไม่มีความคิดเห็น