OpenAI Agents SDK เพิ่มแซนด์บ็อกซ์ หน่วยความจำ และการควบคุมการควบคุมสำหรับตัวแทนการผลิต
Agents SDK ของ OpenAI ในวันที่ 15 เมษายน ไม่ใช่แค่การอัปเดต SDK อื่นเท่านั้น เป็นการเลื่อนระดับสแต็ก: จากการเข้าถึงโมเดลและการเรียกใช้เครื่องมือไปยังเลเยอร์รันไทม์ที่จะกำหนดว่าตัวแทนมีความปลอดภัย ทนทาน และราคาไม่แพงในการดำเนินงานหรือไม่
สิ่งที่ OpenAI จัดส่งจริง
OpenAI กล่าวว่า SDK ที่อัปเดตช่วยให้นักพัฒนาสามารถควบคุมไฟล์ เรียกใช้คำสั่ง แก้ไขโค้ด และทำงานข้ามขอบฟ้าได้ การเปิดตัวครั้งนี้จะเพิ่มหน่วยความจำที่กำหนดค่าได้ เชลล์และแพตช์ดั้งเดิม รองรับ MCP และการเปิดเผยข้อมูลแบบก้าวหน้าในรูปแบบทักษะ รวมถึงการดำเนินการแซนด์บ็อกซ์ดั้งเดิมพร้อมโมเดลรายการแบบพกพาสำหรับการกำหนดรูปร่างพื้นที่ทำงาน
การเปลี่ยนแปลงในทางปฏิบัติคือ OpenAI บรรจุส่วนที่น่าเบื่อแต่ราคาแพงของวิศวกรรมเอเจนต์ไว้มากกว่า: วิธีเมานต์ไฟล์ ตำแหน่งที่เอาต์พุตไป วิธีดำเนินการกู้คืนหลังจากคอนเทนเนอร์เสีย และวิธีป้องกันข้อมูลประจำตัวไม่ให้อยู่ในสภาพแวดล้อมการดำเนินการที่สร้างโดยโมเดล
เหตุใดจึงมีความสำคัญมากกว่ารายการเครื่องมืออื่นๆ
การสาธิตเอเจนต์ส่วนใหญ่ล้มเหลวในการผลิตด้วยเหตุผลเดียวกัน: แซนด์บ็อกซ์ถูกต่อเข้าด้วยกันล่าช้า สถานะพร้อมท์ผสมกับสถานะรันไทม์ และการลองใหม่ทุกครั้งจะเริ่มต้นจากศูนย์ นั่นเปลี่ยนต้นแบบที่ชาญฉลาดให้กลายเป็นโทเค็นรั่วไหล OpenAI พยายามที่จะทำให้เส้นทางเริ่มต้นมีความคิดเห็นมากขึ้นอย่างชัดเจน: พื้นที่ทำงานที่ได้รับการควบคุม ขอบเขตการควบคุมที่ชัดเจนยิ่งขึ้น และการดำเนินการที่คงทนผ่านการถ่ายภาพสแน็ปช็อตและการคืนน้ำ
นั่นสำคัญสำหรับทีมที่สร้างตัวแทนการเขียนโค้ด เจ้าหน้าที่วิจัย เจ้าหน้าที่ QA และเวิร์กโฟลว์อัตโนมัติภายใน ตอนนี้ SDK ดูเหมือนน้อยลงเหมือน wrapper เกี่ยวกับการเรียกโมเดล และเหมือนสถาปัตยกรรมอ้างอิงสำหรับวิธีที่ OpenAI คิดว่าควรสร้างตัวแทนการผลิต
มุม TRH: ข้อผิดพลาดรันไทม์เป็นการสิ้นเปลืองโทเค็น
ผู้สร้างมักจะมุ่งเน้นไปที่การเลือกโมเดลและไม่สนใจรูปร่างรันไทม์ นั่นก็คือการถอยหลัง โมเดลที่แข็งแกร่งภายในสายรัดที่มีเสียงดังยังคงสิ้นเปลืองโทเค็น พื้นที่จัดเก็บหน่วยความจำที่กว้างขวาง เครื่องมือที่ได้รับอนุญาตมากเกินไป และแซนด์บ็อกซ์ที่นำกลับมาใช้ใหม่ ทำให้เจ้าหน้าที่รวบรวมสถานะได้มากกว่าที่งานต้องการ ผลลัพธ์คือการตรวจสอบไฟล์ซ้ำ สมมติฐานเก่า และการวนซ้ำการให้เหตุผลเพิ่มเติมที่ไม่เคยเปลี่ยนส่วนสุดท้าย
หากคุณต้องการจัดส่งงานเพิ่มเติมตามแผนแบบชำระเงิน ให้ออกแบบสายรัดเหมือนกับที่คุณออกแบบอินฟาเรด ตัดสินใจว่าเอเจนต์สามารถอ่านอะไรได้บ้าง เขียนได้ที่ไหน เครื่องมือใดที่เอเจนต์สามารถเรียกใช้ได้ สถานะใดที่ถูกตรวจสอบ และเมื่อใดที่การรันควรหยุด แทนที่จะค้นหาบริบทเพิ่มเติม
สิ่งที่ผู้สร้างควรทำต่อไป
สำหรับเอเจนต์ใหม่สุทธิ ให้เริ่มต้นด้วยแซนด์บ็อกซ์ที่เล็กที่สุดและพื้นผิวหน่วยความจำที่เล็กที่สุดที่ยังคงช่วยให้งานสำเร็จได้ เก็บข้อมูลประจำตัวไว้นอกการประมวลผลที่ดำเนินการโดยตัวแทน บันทึกอัตราส่วนระหว่างบริบทที่รวบรวม เครื่องมือที่เรียกใช้ และไฟล์ที่เปลี่ยนแปลงจริง หากอัตราส่วนนั้นเพิ่มขึ้นเรื่อยๆ แสดงว่าตัวแทนของคุณกำลังเรียนรู้นิสัยที่ผิด
สำหรับระบบอัตโนมัติที่มีอยู่ รุ่นนี้เป็นฟังก์ชันบังคับที่ดีในการตรวจสอบว่าสายรัดปัจจุบันของคุณทำงานแบบกำหนดเองมากเกินไปจน SDK สามารถเป็นเจ้าของได้อย่างปลอดภัยมากขึ้นหรือไม่