AI Gridเอกสาร
สมัครใช้งาน

สร้างและเรียกใช้ผลิตภัณฑ์แซนด์บ็อกซ์

ประกอบ flow ส่วนตัวจากโมเดลที่โปรเจกต์มีอยู่แล้ว เปิดใช้งาน revision และเรียกใช้ผ่าน API

newอัปเดต 10 ก.ย. 2026

ผลิตภัณฑ์แซนด์บ็อกซ์คือ flow ที่รันได้แบบส่วนตัวซึ่งเป็นของโปรเจกต์เดียว ประกอบด้วยสัญญา input/output ที่มีชื่อ บวกกับกราฟของ node ที่มีชนิดกำกับ สร้างขึ้นในคอนโซลโดยไม่ต้องเขียนโค้ด มันไม่เคยเข้าสู่แคตตาล็อกและไม่ได้เผยแพร่สิ่งใด — แต่เรียกใช้ได้ และทุก product node ภายในคิดเงินจากกระเป๋าเงินของโปรเจกต์เหมือนการเรียกโดยตรงทุกประการ

ก่อนเริ่ม#

  • โปรเจกต์ที่มีผลิตภัณฑ์กำหนดไว้แล้ว — กราฟเรียกได้เฉพาะสิ่งที่โปรเจกต์เรียกได้ ดู ให้โมเดลแก่โปรเจกต์
  • สิทธิ์ใช้งานบนโปรเจกต์นั้น (Project Owner หรือ Project Consumer) การเป็นสมาชิกทีมเจ้าของหรือผู้ดูแลองค์กรเพียงอย่างเดียวเข้าถึงแซนด์บ็อกซ์ไม่ได้
  • กระเป๋าเงินที่มีเงิน การรัน flow มีค่าใช้จ่ายเท่ากับผลรวมของการเรียกลูกทั้งหมด

1. สร้างผลิตภัณฑ์#

เปิดแท็บ Sandbox ของโปรเจกต์ แล้วคลิก New sandbox product:

  1. IdentityName และ Description
  2. Contract — ตัวแก้ไขสคีมา Input และ Output ฟิลด์มีชนิดกำกับ: string, select, number, boolean, object, image, audio, video พร้อมรายการฟิลด์ที่จำเป็น

ฟิลด์ select ระบุค่าที่ผู้เรียกเลือกได้อย่างเจาะจง จะพิมพ์เองก็ได้ หรือคลิก Pick from options เพื่อคัดลอกเสียงพูด อัตราส่วนภาพ ความละเอียด ขนาด หรือความยาวที่โมเดลเผยแพร่ไว้ ส่วนชนิด voice, aspect ratio, resolution และ duration รู้อยู่แล้วว่าตัวเลือกมาจากไหน — Populate from a model จะแสดงเฉพาะโมเดลที่เผยแพร่ชุดตัวเลือกนั้น แล้วเติมรายการให้ในคลิกเดียว

แบบฟอร์ม New sandbox product พร้อมตัวแก้ไขสคีมา Identity และ Contract
New sandbox productIdentity แล้วตามด้วยตัวแก้ไขสคีมา Input และ Output ที่กำหนดสัญญาซึ่งผู้เรียกต้องทำตาม

2. ประกอบใน studio#

เปิด Studio ลาก node จากพาเลตต์ที่ค้นหาได้ — input, output, product, text template, branch, expression, media — แล้วเชื่อมสายใน inspector

Max output tokens ของ chat node เป็นตัวเลือก หากเว้นว่างจะขอค่าสูงสุดของโมเดลนั้นเอง โดยลดให้พอดีกับพื้นที่ที่เหลือข้าง prompt ใส่ตัวเลขเมื่อต้องการจำกัดโดยเจตนาเท่านั้น

กราฟถูกตรวจสอบฝั่งเซิร์ฟเวอร์ ไม่ใช่โดยผืนผ้าใบ: ความเข้ากันได้ของ port ตามชนิด การเชื่อม input ที่จำเป็นครบ การเชื่อมสายแบบไม่มีวงวน การเข้าถึงได้จาก input ถึง output และทุก product dependency ต้องถูกกำหนดให้โปรเจกต์นี้อยู่จริง ขีดจำกัดคือ 50 node, 200 edge, การเรียกผลิตภัณฑ์ที่มีค่าใช้จ่าย 8 ครั้ง และเวลาทำงานไม่เกิน 5 นาที

ผืนผ้าใบของ sandbox studio พร้อมพาเลตต์โหนด กราฟที่เชื่อมสายแล้ว และแผง Contract/Run
studio — พาเลตต์โหนดที่ค้นหาได้อยู่ทางซ้าย กราฟที่เชื่อมสายแล้วอยู่บนผืนผ้าใบ และแผง Contract/Run อยู่ด้านล่าง; ส่วนหัวมีตัวเลือก revision, Save revision และ Re-activate

3. บันทึก revision แล้วเปิดใช้งาน#

Save revision (หรือ Ctrl/Cmd+S) เก็บ snapshot ที่แก้ไขไม่ได้ revision ที่บันทึกแล้วจะไม่ถูกแก้ไขอีก — การแก้ไขต่อจะบันทึกเป็น revision ใหม่ การแก้ไขจึงเปลี่ยนการรันที่กำลังดำเนินอยู่ไม่ได้

Activate (หรือ Re-activate) แล้วยืนยัน Save and activate? ทำให้ revision นั้นเป็นตัวที่รันจริง กล่องยืนยันจะเตือนคุณว่าผลิตภัณฑ์นี้จะเรียกใช้ได้จากภายนอก: คีย์ API ใดก็ได้ของโปรเจกต์จะเรียกมันผ่าน HTTP ได้ MCP client เข้าถึงได้หากเปิดอินเทอร์เฟซนั้นไว้ และทุกการเรียกคิดเงินจากกระเป๋าเงินของโปรเจกต์นี้

การเปิดใช้งานตรวจสอบกราฟทั้งหมดอีกครั้ง หากล้มเหลวจะไม่มีอะไรเปลี่ยน — revision ที่ใช้งานอยู่เดิมยังคงทำงานต่อ

4. รัน แล้วเรียกใช้#

จากคอนโซล ใช้แท็บ Run ใน studio: มันรับ input ตามสัญญา แล้วแสดงผลลัพธ์ ผลรายโหนด และค่าใช้จ่ายลูกที่เกิดขึ้น

จากโค้ด ใช้คีย์ API ที่ผูกกับโปรเจกต์:

POST/v1/sandbox/{id}/invoke
POST/v1/sandbox/{id}/mcp

มีสามอย่างที่ต่างจากการเรียก chat:

  • Idempotency-Key เป็นสิ่งจำเป็น ที่นี่ (8–128 อักขระ) ไม่ใช่ตัวเลือก การใช้คีย์เดิมซ้ำจะเล่นการรันเดิมและค่าใช้จ่ายของมันเพียงครั้งเดียว
  • มีเพียง revision ที่ใช้งานอยู่เท่านั้นที่รัน การระบุ revision อื่นจะตอบ 409 revision_not_active; ละ revision ไว้เพื่อใช้ตัวที่ใช้งานอยู่
  • การทำงานที่ล้มเหลวก็ยังถูกส่งคืน พร้อมค่าใช้จ่ายที่เกิดขึ้นไปแล้ว

หากสัญญาที่ deploy ไว้คือข้อความเข้าหนึ่งข้อความออกหนึ่ง ผลิตภัณฑ์นั้นเรียกผ่าน POST /v1/chat/completions ได้เหมือนโมเดลทั่วไป ส่วนสัญญาที่ซับซ้อนกว่านั้นยังคงอยู่ที่ invoke endpoint และการเรียกด้วย bearer แบบธรรมดาที่ output เดียวเป็นภาพ จะได้ตัวภาพกลับมาเลย

ครบทุกขั้นตอน: สร้างผลิตภัณฑ์ ประกอบกราฟในสตูดิโอ บันทึกและ activate revision แล้วรันเพื่อดูค่าใช้จ่ายรายโหนด

ตรวจว่าสำเร็จแล้ว#

แท็บ Runs จะแสดงการรันพร้อมผลรายโหนด และ node ที่มีค่าใช้จ่ายแต่ละตัวจะปรากฏเป็นแถวของตัวเองใน การใช้งานและบันทึกการเรียก ค่า chargedMicro ของการทำงานเท่ากับผลรวมของลูกพอดี — ไม่มีค่าธรรมเนียมของ parent แยกต่างหาก

หากยังไม่สำเร็จ#

สิ่งที่คุณเห็น ความหมาย
409 revision_not_active คุณระบุ revision ที่ไม่ใช่ตัวที่ deploy อยู่
409 revision_conflict มีคนบันทึกทับ base revision ของคุณ — โหลดใหม่แล้วบันทึกอีกครั้ง
422 input_type ฟิลด์ select ได้รับค่าที่อยู่นอกรายการตัวเลือก
422 sandbox_contract สัญญาที่ไม่ใช่ chat ถูกเรียกผ่าน chat/completions — ให้ใช้ invoke endpoint
404 กับผลิตภัณฑ์ที่คุณมองเห็น โปรเจกต์อื่นเป็นเจ้าของ แซนด์บ็อกซ์เข้าถึงได้ผ่านโปรเจกต์ของตัวเองเท่านั้น
การเปิดใช้งานถูกปฏิเสธ กราฟไม่ผ่านการตรวจสอบซ้ำ หรือ product dependency ไม่ได้ถูกกำหนดไว้แล้ว
Why it stopped ในการรัน เปิดดู — รายการปัญหาจะระบุ node และเหตุผล

ถัดไป#