Director Studio · Script Authoring P0

คู่มือห้องเขียนบทแบบแก้ไขได้

แก้บทใน Working Draft, บันทึก Checkpoint, ให้ AI เสนอ Episode ถัดไป 5 ทาง, เปรียบเทียบความหมาย แล้วค่อย Activate โดยไม่ทำลายบทหรือวิดีโอเดิม

Working DraftNext 5Semantic CompareDurable WorkerRevision Safety

1. เข้าใจสถานะก่อนแก้

Active Revisionบทที่ระบบใช้งานจริงในหน้า Episode และขั้นตอนสร้าง Veo/VDO จะไม่เปลี่ยนจนกด Activate สำเร็จ
Working Draftสำเนาสำหรับแก้ไข ช่วยให้ทดลองแก้ชื่อเรื่อง Logline ฉาก Action และ Dialogue ได้โดยไม่กระทบ Active Revision
Checkpointจุดบันทึกชื่อกำกับสำหรับย้อนดูงานระหว่างทาง ไม่ใช่การ Publish และไม่เปลี่ยน Active Revision
Candidateทางเลือกที่ AI สร้าง สามารถ Compare, Expand หรือ Apply เข้า Working Draft ก่อนตัดสินใจ
Semantic Diffสรุปว่าเนื้อเรื่องเปลี่ยนอะไร เช่น ชื่อเรื่อง จำนวนฉาก การเรียงฉาก ตัวละคร และบทพูด แทนการโยน raw JSON ให้ผู้ใช้
Forkสร้าง Episode/Revision ใหม่เมื่อต้นฉบับมี Veo หรือ VDO โดยเก็บสื่อไว้ที่ Episode ต้นทาง และไม่คัดลอก URL/Task ID ของสื่อไป Episode ใหม่
หลักความปลอดภัย: ทุกการ Save ใช้ draft_version และทุกการ Activate ใช้ revision/hash/timestamp เดิมเป็น CAS ถ้าข้อมูลเปลี่ยนระหว่างทาง ระบบต้องหยุดและให้ Reload

2. เปิดห้องเขียนบท

  1. เข้าสู่ระบบและเปิดโปรเจกต์ที่มี Episode อย่างน้อยหนึ่งตอน
  2. ที่การ์ด Episode กด คิดบทใหม่ / ห้องเขียนบท แยกจากปุ่มเปิด Episode
  3. ตรวจชื่อ Episode, Active Revision และสถานะ Worker ด้านบนก่อนเริ่ม
  4. เลือกแท็บ แก้บท, AI เสนอ 5 ทาง, เปรียบเทียบ หรือ ประวัติ
เปิด Script Workbench ซึ่งแสดง Episode, Active Revision, Working Draft และแท็บทั้งสี่
หน้า Workbench ต้องเห็น Episode, Active Revision, Working Draft และ 4 แท็บชัดเจน

3. แก้และบันทึก Working Draft

  1. เปิดแท็บ แก้บท ระบบจะสร้างหรือโหลด Working Draft ของ Episode นี้
  2. เลือกฉากจาก Scene Spine ด้านซ้าย แล้วแก้ Title, Location, Time, Action หรือ Dialogue ตรงกลาง
  3. เมื่อมีการแก้ สถานะจะเปลี่ยนเป็น ยังไม่บันทึก และเลข Draft Version ยังไม่เพิ่ม
  4. กด บันทึกตอนนี้ หรือรอ autosave; เมื่อ API ยืนยันแล้วจึงขึ้น บันทึกแล้ว และ Version เพิ่ม
  5. หากพิมพ์ต่อขณะที่ขึ้น กำลังบันทึก… ระบบต้องเก็บข้อความใหม่ไว้ในหน้าและส่ง Autosave รอบถัดไป ห้ามนำ response รอบก่อนมาทับข้อความใหม่
  6. เปิด Episode เดิมอีกครั้งเพื่อยืนยันว่า Active Revision ยังไม่เปลี่ยนจนกว่าจะ Activate
Working Draft ที่พร้อมแก้ไขและมี scene UID คงที่
Working Draft ที่สร้างจาก Active Revision พร้อม scene_uid คงที่
แก้ข้อมูลฉากแล้วสถานะ Working Draft เป็นยังไม่บันทึก
แก้ Action หรือ Dialogue แล้วเห็นสถานะยังไม่บันทึก
Working Draft บันทึกสำเร็จและเลข Draft Version เพิ่ม
หลัง Save สำเร็จต้องเห็น Draft Version ใหม่และ Active Revision เดิม

4. Checkpoint, Undo และ Redo

ย้อนกลับ
ย้อนการแก้ล่าสุดใน session ปัจจุบัน; ใช้ Ctrl+Z ได้
ทำซ้ำ
นำการแก้ที่ Undo กลับมา; ใช้ Ctrl+Shift+Z ได้
สร้าง Checkpoint
บันทึก snapshot โดยระบบตั้งป้ายชื่อจากวันและเวลาให้อัตโนมัติ โดยไม่ Activate
ประวัติ
ดู Revision และ Checkpoint ตามเวลา พร้อมนำ Checkpoint กลับเข้า Working Draft โดยไม่เปลี่ยน Active Revision
สร้าง Checkpoint ก่อน Apply Candidate หรือก่อนเปลี่ยนหลายฉาก จะย้อนตรวจได้ง่ายกว่าพึ่ง Undo อย่างเดียว
ประวัติ Checkpoint แสดงชื่อกำกับ เวอร์ชัน แฮช และเวลา
Checkpoint แสดง label, version, script hash และเวลา

5. ให้ AI เสนอ Episode ถัดไป 5 แบบ

  1. เปิดแท็บ AI เสนอ 5 ทาง แล้วตรวจว่า Anchor Episode ถูกตอน
  2. กรอกสิ่งที่ต้องมี สิ่งที่ห้ามมี และคำสั่งเพิ่มเติม เช่น “เริ่มจาก end_state เดิม แต่เปลี่ยนต้นเหตุของความขัดแย้ง”
  3. กด เสนอ Episode ถัดไป 5 ทาง เพียงครั้งเดียว ระบบจะส่ง durable job ชนิด script_outline_set
  4. ปิด Modal, ปิด Tab หรือปิด Browser ได้ Worker จะทำงานต่อ
  5. กลับมาเปิด Workbench แล้วเลือก Generation Round ที่ถูกต้อง ต้องเห็น Candidate 5 ใบจาก round เดียวกันเท่านั้น
อย่ากดซ้ำเมื่อยัง Queued/Running: ดู Job ID และ Pair ID ก่อน ระบบมี idempotency แต่การกดซ้ำด้วยคำสั่งใหม่อาจสร้างค่าใช้จ่ายเพิ่ม
แบบฟอร์ม AI เสนอห้าทางพร้อมคำสั่ง สิ่งที่ต้องมี และสิ่งที่ห้ามมี
คำสั่ง, must-use, must-avoid และปุ่มส่งงานพื้นหลัง
ผลลัพธ์ Candidate ห้าทางใน Generation Round เดียวกัน
ห้า Candidate ต้องต่างกันด้าน conflict, setting, twist และ ending และอยู่ใน Variant Set เดียวกัน

6. Semantic Compare และเลือกทาง

เปิด Candidate แล้วกด เปรียบเทียบ เพื่อดูข้อมูลที่คนเขียนบทใช้ตัดสินใจ ไม่ใช่ raw JSON:

หัวข้อต้องตอบคำถามอะไร
Logline / Conflictแรงขับของตอนต่างจากทางอื่นจริงหรือเพียงเปลี่ยนถ้อยคำ
Beats / Scene changesเพิ่ม ลบ ย้าย หรือแก้ฉากใด และจังหวะเรื่องเปลี่ยนอย่างไร
Character deltaตัวละครตัดสินใจหรือเปลี่ยนสภาวะอะไรเมื่อจบตอน
Continuityเริ่มจาก end_state ของ Anchor Episode ถูกต้องหรือไม่
Ending / Payoffจบแบบเฉลย ค้างคา หักมุม หรือส่ง setup ไปตอนใด
  1. เลือก Candidate สองใบจาก Generation Round เดียวกัน
  2. อ่าน Summary และรายการเปลี่ยนระดับ Field/Scene
  3. ถ้าเป็น Outline ให้กด ขยายเป็นบทเต็ม และรอ Worker จบก่อน Apply
  4. กด นำเข้า Working Draft; ระบบยังไม่ Activate และเก็บ Candidate อื่นไว้เลือกภายหลัง
Semantic Compare แสดงความต่างของ Candidate แบบอ่านง่าย
เปรียบเทียบ Summary, fields และ scenes แบบอ่านง่าย
Candidate ถูกนำเข้า Working Draft โดยยังไม่เปลี่ยน Active Revision
หลัง Apply ต้องเห็น source candidate, Draft Version ใหม่ และ Active Revision เดิม

7. Validate ก่อน Activate

กด ตรวจบท หลัง Save ล่าสุด ระบบจะตรวจโครงสร้าง Episode, scene_uid, ตัวละคร, continuity และข้อบังคับที่พิสูจน์แบบ deterministic ได้

ผลตรวจบทแยกข้อผิดพลาดบังคับจากคำแนะนำเชิงสร้างสรรค์
Validation แยก Error ที่บังคับจากคำแนะนำเชิงสร้างสรรค์

8. Activate หรือ Fork

  1. สร้าง Checkpoint และตรวจว่า Draft Version ปัจจุบัน Validate ผ่าน
  2. ตรวจ Semantic Diff รอบสุดท้าย แล้วกด Activate Draft
  3. ถ้า Episode ไม่มี Veo/VDO ระบบสร้าง Active Revision ใหม่และเก็บ Revision เก่าไว้ใน History
  4. ถ้ามี Veo/VDO ระบบต้องหยุดด้วย media_requires_fork และแสดงปุ่ม Fork Draft
  5. กด Fork เมื่อยืนยันว่าจะสร้าง Episode ใหม่ สื่อของ Episode ต้นทางต้องไม่ถูกลบหรือย้าย และ Episode ใหม่ต้องไม่มี video URL/task ID ของต้นทางติดไป
ผลที่ถูกต้อง: Activate/Fork เปลี่ยน Working Draft เป็น applied; การ Restore Revision เก่าต้องสร้าง Revision ใหม่ ไม่ลบประวัติ
หน้าต่าง Activate หรือ Fork พร้อมคำเตือนการรักษาสื่อเดิม
คำเตือน Fork ต้องบอกชัดว่าสื่อเดิมจะถูกรักษา
ประวัติ Active Revision Archived Revision และ Checkpoint ตามเวลา
History แสดง Active, archived revisions และ checkpoints ตามเวลา

9. แก้ Stale Draft / สอง Tab ชนกัน

ถ้า Tab A บันทึก Version ใหม่ก่อน Tab B คำขอจาก Tab B ต้องได้ HTTP 409 draft_version_conflict ไม่ใช่เขียนทับงานล่าสุด

  1. หยุดพิมพ์ใน Tab ที่ขึ้น Conflict
  2. คัดลอกข้อความที่ยังไม่บันทึกไว้ชั่วคราวถ้าจำเป็น
  3. กด โหลด Draft ล่าสุด
  4. เทียบความต่าง นำเฉพาะการแก้ที่ต้องการกลับมา แล้ว Save ใหม่
ห้ามแก้ conflict ด้วยการลด Version หรือส่ง request เดิมซ้ำจาก DevTools เพราะจะทำลายหลักฐานลำดับการแก้

10. งานพื้นหลังและหลักฐาน

Next 5 และการ Expand Candidate ใช้ durable worker ปิดเว็บได้ เมื่อกลับมาเปิดให้ตรวจหน้า Jobs และ Evidence strip:

11. Troubleshooting

ปุ่ม Save ใช้ไม่ได้

ตรวจว่ามี Working Draft, scene_uid ไม่ซ้ำ และไม่มีงาน Save ก่อนหน้าค้างอยู่ หากเป็น Conflict ให้ Reload Draft แทนการกดซ้ำ

Next 5 ไม่ครบห้าใบ

ตรวจ Job terminal response และเลือก Variant Set ที่ถูกต้อง ระบบ final acceptance ต้องมี Candidate ID ไม่ซ้ำกัน 5 ค่า ห้ามรวมของเก่ามาเติมให้ครบ

Candidate Apply ไม่ได้

ต้อง Expand เป็น full draft, status ready และ candidate ต้องผูกกับ project/episode/base revision เดียวกับ Working Draft

Validate ผ่านแต่ Activate 409

ถ้า code เป็น draft_version_conflict หรือ draft_base_mismatch ให้ Reload; ถ้าเป็น media_requires_fork ให้ใช้ Fork เพื่อรักษาสื่อ

ปิด Browser แล้วงานหาย

เปิด Jobs ตรวจ Worker Online และ Job ID เดิม งานที่ submit สำเร็จต้อง recover จากฐานข้อมูล ไม่ควรสร้าง Job ใหม่ทันที

12. เกณฑ์ทดสอบ UI+API

ห้ามประกาศ PASS จากภาพอย่างเดียวหรือ API อย่างเดียว แต่ละ Testcase ต้องมี:

Testcaseสิ่งที่พิสูจน์
TC_P0_DRAFT_SAVE_001แก้ระหว่าง Save ที่กำลังทำงาน แล้วคิว Autosave รอบถัดไปโดยไม่ทำข้อความหาย; Active เดิมไม่เปลี่ยน
TC_P0_CHECKPOINT_ACTIVATE_002Checkpoint + Validate + Activate
TC_P0_BACKGROUND_NEXT5_003Next 5 ทำต่อหลังปิด Browser
TC_P0_APPLY_CANDIDATE_004Apply Candidate เข้า Draft
TC_P0_SEMANTIC_COMPARE_005Semantic Compare ไม่ใช่ raw JSON
TC_P0_STALE_CONFLICT_006Stale version ถูกปฏิเสธ
TC_P0_MEDIA_FORK_007Fork รักษา Media ที่ต้นทางและไม่คัดลอก media binding ไปตอนใหม่
TC_P0_MANUAL_HTML_008คู่มือเปิดได้และ probe identity ตรงกัน
TC_P0_CHECKPOINT_RESTORE_009ย้อน Checkpoint เข้า Working Draft โดย Active Revision เดิมไม่เปลี่ยน
TC_P0_REVISION_RESTORE_010Restore Revision ขณะมี Draft เปิดแล้วปิด Draft ฐานเก่าอย่างปลอดภัย

ทางลัด

กลับหน้า Director Studio · คู่มือหลัก · Script Authoring evidence probe

Security: ห้ามวาง MiniMax key, JWT, Authorization, Cookie หรือ browser storage state ในภาพ คู่มือ รายงาน หรือ Git