ข้ามไปยังเนื้อหาหลัก
OpenAI

15 เมษายน 2569

ผลิตภัณฑ์

ก้าวถัดไปของ Agents SDK

Agents SDK เวอร์ชันอัปเดตช่วยให้นักพัฒนาสร้างเอเจนต์ที่ตรวจสอบไฟล์ รันคำสั่ง แก้ไขโค้ด และทำงานระยะยาวได้ภายในสภาพแวดล้อมแบบ sandbox ที่มีการควบคุม

กำลังโหลด…

เรากำลังเพิ่มความสามารถใหม่ให้กับ Agents SDK เพื่อมอบโครงสร้างพื้นฐานแบบมาตรฐานที่นักพัฒนาสามารถเริ่มใช้งานได้ง่าย และออกแบบมาอย่างเหมาะสมสำหรับโมเดลของ OpenAI โดยประกอบด้วยระบบที่ใช้รองรับเอเจนต์ซึ่งทำงานร่วมกับโมเดลโดยตรง ช่วยให้เอเจนต์ทำงานข้ามไฟล์และเครื่องมือต่างๆ บนคอมพิวเตอร์ได้ พร้อมการรันงานใน sandbox แบบเนทีฟเพื่อให้ทำงานเหล่านั้นได้อย่างปลอดภัย

ตัวอย่างเช่น นักพัฒนาสามารถกำหนดเวิร์กสเปซที่มีการควบคุมไว้ให้เอเจนต์ พร้อมคำสั่งที่ชัดเจนและเครื่องมือที่จำเป็นสำหรับการตรวจสอบหลักฐาน

Python

1
# pip install "openai-agents>=0.14.0"
2

3
import asyncio
4
import tempfile
5
from pathlib import Path
6

7
from agents import Runner
8
from agents.run import RunConfig
9
from agents.sandbox import Manifest, SandboxAgent, SandboxRunConfig
10
from agents.sandbox.entries import LocalDir
11
from agents.sandbox.sandboxes import UnixLocalSandboxClient
12

13

14
async def main() -> None:
15
with tempfile.TemporaryDirectory() as tmp:
16
dataroom = Path(tmp) / "dataroom"
17
dataroom.mkdir()
18
(dataroom / "metrics.md").write_text(
19
"""# Annual metrics
20

21
| Year | Revenue | Operating income | Operating cash flow |
22
| --- | ---: | ---: | ---: |
23
| FY2025 | $124.3M | $18.6M | $24.1M |
24
| FY2024 | $98.7M | $12.4M | $17.9M |
25
""",
26
encoding="utf-8",
27
)
28

29
agent = SandboxAgent(
30
name="Dataroom Analyst",
31
model="gpt-5.4",
32
instructions="Answer using only files in data/. Cite source filenames.",
33
default_manifest=Manifest(entries={"data": LocalDir(src=dataroom)}),
34
)
35

36
result = await Runner.run(
37
agent,
38
"Compare FY2025 revenue, operating income, and operating cash flow with FY2024.",
39
run_config=RunConfig(
40
sandbox=SandboxRunConfig(client=UnixLocalSandboxClient()),
41
),
42
)
43
print(result.final_output)
44

45

46
if __name__ == "__main__":
47
asyncio.run(main())
48

นักพัฒนาต้องการมากกว่าโมเดลที่ดีที่สุดเพียงอย่างเดียวในการสร้างเอเจนต์ที่ใช้งานได้จริง พวกเขาต้องการระบบที่รองรับวิธีทำงานของเอเจนต์ด้วย ไม่ว่าจะเป็นการตรวจสอบไฟล์ การรันคำสั่ง การเขียนโค้ด และการทำงานต่อเนื่องตลอดหลายขั้นตอน

แต่ระบบที่มีอยู่ในปัจจุบันยังมีข้อจำกัดอยู่ไม่น้อย เมื่อทีมเริ่มขยับจากต้นแบบไปสู่การใช้งานจริง แม้ว่าเฟรมเวิร์กที่ไม่ยึดกับโมเดลใดโมเดลหนึ่งจะมีความยืดหยุ่น แต่ก็ยังดึงศักยภาพของโมเดลระดับแนวหน้าออกมาได้ไม่เต็มที่ ขณะที่ SDK จากผู้ให้บริการโมเดลอาจทำงานใกล้กับตัวโมเดลได้มากกว่า แต่ก็มักมองเห็นระบบที่ใช้รองรับเอเจนต์ได้ไม่มากพอ ส่วน API สำหรับเอเจนต์แบบจัดการสำเร็จรูปแม้จะช่วยให้นำไปใช้งานได้ง่ายขึ้น แต่ก็มักจำกัดทั้งตำแหน่งที่เอเจนต์จะรันได้ และวิธีที่เอเจนต์จะเข้าถึงข้อมูลที่มีความละเอียดอ่อน

นี่คือเสียงตอบรับจากลูกค้าบางส่วนที่ได้ร่วมทดสอบ SDK เวอร์ชันใหม่กับเรา:

“GPT-5.4 สร้างมาตรฐานใหม่ให้กับงานด้านกฎหมายที่ต้องจัดการเอกสารปริมาณมาก โดยทำคะแนนได้สูงถึง 91% ในการประเมินประสิทธิภาพบน BigLaw Bench ของเรา เมื่อเปรียบเทียบกับโมเดลอื่น GPT-5.4 มีความเชี่ยวชาญกว่าในการจัดโครงสร้างการวิเคราะห์ธุรกรรมที่ซับซ้อน การรักษาความแม่นยำตลอดทั้งสัญญาที่มีความยาว และการส่งมอบรายละเอียดระดับสูงตามที่นักกฎหมายต้องการ”
— Niko Grupen หัวหน้าฝ่ายวิจัยประยุกต์ของ Harvey

ระบบที่ใช้รองรับเอเจนต์ที่มีความสามารถมากขึ้นสำหรับ Agent Loop

อัปเดตครั้งนี้ช่วยยกระดับระบบที่ใช้รองรับเอเจนต์ใน Agents SDK ได้รับการยกระดับให้รองรับเอเจนต์ที่ทำงานกับเอกสาร ไฟล์ และระบบต่างๆ ได้ดียิ่งขึ้น ขณะนี้ระบบดังกล่าวรองรับทั้งหน่วยความจำที่กำหนดค่าได้ การจัดลำดับการทำงานที่รับรู้บริบทของ sandbox เครื่องมือจัดการไฟล์แบบเดียวกับ Codex และการเชื่อมต่อแบบมาตรฐานกับองค์ประกอบพื้นฐานที่กำลังใช้กันมากขึ้นในระบบเอเจนต์ระดับแนวหน้า

องค์ประกอบพื้นฐานเหล่านี้ครอบคลุมการใช้เครื่องมือผ่าน MCP(เปิดในหน้าต่างใหม่), การเปิดเผยข้อมูลแบบค่อยเป็นค่อยไปผ่าน Skills(เปิดในหน้าต่างใหม่), และคำสั่งแบบกำหนดเองผ่าน AGENTS.md(เปิดในหน้าต่างใหม่) การรันโค้ดโดยใช้ Shell tool(เปิดในหน้าต่างใหม่), การแก้ไขไฟล์ด้วย apply patch(เปิดในหน้าต่างใหม่) และอื่นๆ อีกมากมาย ระบบที่ใช้รองรับเอเจนต์นี้จะทยอยรองรับ agentic patterns และองค์ประกอบพื้นฐานใหม่ๆ เพิ่มขึ้นอย่างต่อเนื่อง เพื่อให้นักพัฒนาใช้เวลาน้อยลงกับการอัปเดตโครงสร้างพื้นฐานหลัก และมีเวลาโฟกัสกับตรรกะเฉพาะทางที่ทำให้เอเจนต์ของตนใช้งานได้จริงมากขึ้น

แผนภาพแสดงให้เห็นวิธีที่ Agent SDK เชื่อมต่ออินพุตของผู้ใช้ โมเดล และเครื่องมือต่างๆ เข้าด้วยกันเพื่อสร้างเอเจนต์ AI
แผนภาพแสดงวิธีสร้างเอเจนต์ AI ด้วย Agent SDK โดยใช้โมเดล เครื่องมือ และการจัดลำดับการทำงาน

ระบบนี้ยังช่วยให้นักพัฒนาดึงศักยภาพของโมเดลระดับแนวหน้าออกมาได้มากขึ้น โดยปรับให้การทำงานสอดคล้องกับวิธีที่โมเดลเหล่านั้นทำงานได้ดีที่สุด แนวทางนี้ช่วยให้เอเจนต์ทำงานได้ใกล้กับรูปแบบการทำงานตามธรรมชาติของโมเดลมากขึ้น จึงทำให้รับมือกับงานที่ซับซ้อนได้อย่างเสถียรและมีประสิทธิภาพมากขึ้น โดยเฉพาะเมื่อต้องทำงานต่อเนื่องเป็นเวลานาน หรือมีการประสานงานข้ามชุดเครื่องมือและระบบที่หลากหลาย

นอกจากนี้ เราเข้าใจดีว่าแต่ละผลิตภัณฑ์มีลักษณะเฉพาะของตัวเอง และไม่ได้มีรูปแบบตายตัวเสมอไป เราจึงออกแบบ Agents SDK ให้รองรับความหลากหลายนั้น นักพัฒนาจะได้ระบบที่ใช้รองรับเอเจนต์ซึ่งพร้อมใช้งานได้ทันที แต่ยังยืดหยุ่นพอให้ปรับเข้ากับสแต็กของตัวเองได้ง่าย ทั้งในด้านการใช้เครื่องมือ หน่วยความจำ และสภาพแวดล้อมแบบ sandbox

การรันงานใน sandbox แบบเนทีฟ

Agents SDK ที่อัปเดตรองรับ sandbox execution ได้โดยตรง ทำให้เอเจนต์สามารถทำงานในสภาพแวดล้อมคอมพิวเตอร์ที่มีการควบคุม พร้อมไฟล์ เครื่องมือ และ dependency ที่จำเป็นสำหรับงานนั้น

เอเจนต์ที่ใช้งานได้จริงจำนวนมากจำเป็นต้องมีเวิร์กสเปซที่สามารถอ่านและเขียนไฟล์ ติดตั้ง dependency รันโค้ด และใช้เครื่องมือต่างๆ ได้อย่างปลอดภัย การรองรับ sandbox แบบเนทีฟช่วยให้นักพัฒนาเริ่มใช้ชั้นการทำงานสำหรับการรันงานนี้ได้ทันที แทนที่จะต้องประกอบขึ้นมาเอง

นักพัฒนาสามารถนำ sandbox ของตนเองมาใช้ หรือเลือกใช้การรองรับในตัวสำหรับ Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop และ Vercel

เพื่อให้สภาพแวดล้อมเหล่านี้ใช้งานข้ามผู้ให้บริการได้ง่ายขึ้น SDK จึงเพิ่มโครงสร้างกลางที่ชื่อว่า Manifest สำหรับอธิบายเวิร์กสเปซของเอเจนต์ นักพัฒนาสามารถเมานต์ไฟล์ในเครื่อง กำหนดไดเรกทอรีเอาต์พุต และนำเข้าข้อมูลจากผู้ให้บริการพื้นที่จัดเก็บ เช่น AWS S3, Google Cloud Storage, Azure Blob Storage และ Cloudflare R2

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

โลโก้ Daytona, E2B, Modal, Cloudflare, Vercel, Blaxel และ Runloop

การแยกระบบที่ใช้รองรับเอเจนต์ออกจากระบบประมวลผล เพื่อเพิ่มความปลอดภัย ความทนทาน และความสามารถในการรองรับการขยายตัว

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

แนวทางนี้ยังช่วยให้การรันงานมีความเสถียรและต่อเนื่องมากขึ้น เมื่อสถานะของเอเจนต์ถูกแยกไปเก็บไว้ภายนอก การสูญเสียคอนเทนเนอร์ sandbox ก็ไม่ได้หมายความว่าการรันนั้นจะหายไปด้วย แม้สภาพแวดล้อมเดิมจะไม่พร้อมใช้งานแล้ว Agents SDK ก็ยังสามารถกู้สถานะของเอเจนต์ขึ้นมาใหม่ในคอนเทนเนอร์ใหม่ และทำงานต่อจาก checkpoint ล่าสุดได้ ด้วยความสามารถด้าน snapshotting และ rehydration ที่มีอยู่ในตัว

ท้ายที่สุด แนวทางนี้ยังช่วยให้เอเจนต์รองรับการขยายตัวได้ดีขึ้น การรันของเอเจนต์อาจใช้ sandbox เพียงตัวเดียวหรือหลายตัวก็ได้ โดยเรียกใช้ sandbox เฉพาะเมื่อจำเป็น ส่ง subagent ไปทำงานในสภาพแวดล้อมที่แยกจากกัน และทำงานแบบขนานข้ามคอนเทนเนอร์หลายตัวเพื่อให้รันได้เร็วขึ้น

แผนภาพลำดับการทำงานที่แสดงการใช้ Agent SDK เพื่อให้เอเจนต์ AI ใช้ทรัพยากรประมวลผลเพิ่มเติมสำหรับงานที่ซับซ้อนขึ้น
แผนภาพแสดงให้เห็นว่าเอเจนต์ AI ที่สร้างด้วย Agent SDK สามารถจัดลำดับการทำงานของระบบประมวลผลที่แยกจากกันได้ ทำให้เวิร์กโหลดทำงานได้อย่างอิสระ พร้อมรองรับงานที่ซับซ้อนยิ่งขึ้น

ราคาและความพร้อมในการใช้งาน

ความสามารถใหม่เหล่านี้ของ Agents SDK พร้อมให้ผู้ใช้ทุกคนใช้งานได้แล้วผ่าน API โดยใช้ราคา API มาตรฐาน ซึ่งคิดตามโทเค็นและการใช้เครื่องมือ

ก้าวต่อไป

เราจะเดินหน้าพัฒนา Agents SDK ต่อไป พร้อมขยายสิ่งที่นักพัฒนาสามารถสร้างได้ด้วย SDK นี้ เพื่อให้การนำเอเจนต์ที่มีความสามารถสูงขึ้นไปใช้งานจริงทำได้ง่ายขึ้น โดยใช้โครงสร้างพื้นฐานแบบกำหนดเองน้อยลง พร้อมคงไว้ซึ่งความยืดหยุ่นและการควบคุมที่นักพัฒนาต้องการ เพื่อให้เอเจนต์ทำงานเข้ากับสภาพแวดล้อมของตนเองได้

ความสามารถใหม่ด้านระบบที่ใช้รองรับเอเจนต์และ sandbox จะเริ่มเปิดให้ใช้งานใน Python ก่อน โดยมีแผนรองรับ TypeScript ในรีลีสถัดไป ขณะเดียวกัน เราก็กำลังพัฒนาความสามารถเพิ่มเติมสำหรับเอเจนต์ รวมถึงโหมดเขียนโค้ดและเอเจนต์ย่อย ให้รองรับทั้ง Python และ TypeScript

นอกจากนี้ ในระยะยาว เรายังต้องการช่วยให้ระบบนิเวศของเอเจนต์ในภาพรวมทำงานเชื่อมต่อกันได้มากขึ้น ผ่านการรองรับผู้ให้บริการ sandbox เพิ่มเติม การเชื่อมต่อที่หลากหลายขึ้น และวิธีที่มากขึ้นสำหรับให้นักพัฒนาเชื่อม SDK เข้ากับเครื่องมือและระบบที่ใช้อยู่แล้ว

ผู้เขียน

OpenAI