การ fork บทสนทนา
ลองไอเดียแบบขนานโดยไม่กระทบการสนทนาหลักหรือโค้ดของคุณ
fork แตกสาขาออกจากจุดใดก็ได้ในแชต เพื่อลองไอเดียหรือวางแผนโดยไม่เปลี่ยนโค้ด fork เก็บประวัติถึงจุดนั้นไว้ เมื่อเสร็จแล้วให้ merge กลับ และจะสร้างต่อจากตรงนั้นด้วยก็ได้
ต้องการ agent ขนานที่เปลี่ยนโค้ดได้จริง? ใช้ feature branch fork เป็นแบบอ่านอย่างเดียวเสมอ
การสร้าง fork
เริ่ม fork ได้สองวิธี:
จากข้อความ
ทุกข้อความของ assistant ที่ตอบเสร็จแล้วมีปุ่ม fork (ไอคอนแยกสาย) ที่ส่วนท้าย ถัดจากเมนู ... คลิกเพื่อสร้าง fork ที่เริ่มจากจุดนั้นของการสนทนา
fork สืบทอดประวัติการสนทนาทั้งหมดจนถึงและรวมข้อความนั้น ส่วนสิ่งที่เกิดขึ้นหลังจากนั้นในแชตหลักจะไม่ปรากฏใน fork
ขณะที่ agent กำลังทำงาน
หาก agent กำลังทำงานอยู่ และคุณอยากลองอีกทิศทางโดยไม่ขัดจังหวะมัน:
- พิมพ์ข้อความในช่องพิมพ์ของแชต
- คลิกปุ่มไอคอนแยกสายที่ปรากฏถัดจากปุ่มส่ง หรือกด Cmd+Enter (หรือ Ctrl+Enter บน Windows)
วิธีนี้สร้าง fork จากข้อความล่าสุดของ assistant และส่งข้อความของคุณใน fork ใหม่ทันที agent หลักทำงานต่อโดยไม่ถูกรบกวน
การทำงานใน fork
เมื่ออยู่ใน fork คุณจะสังเกตเห็นความแตกต่างบางอย่าง:
- แท็บ fork ปรากฏเหนือแชต ให้คุณสลับระหว่างการสนทนาหลักกับ fork ที่ยังเปิดอยู่
- แบนเนอร์ "Read-only fork" ปรากฏเหนือช่องพิมพ์ พร้อมปุ่ม merge และ discard
- โหมด Agent ถูกล็อก ใช้โหมด Plan, Chat และ Design ได้
- ปุ่ม View และ Revert ในข้อความก่อนหน้าถูกปิดใช้งาน เพราะ fork ไม่สร้างการเปลี่ยนแปลงโค้ด
fork ทำได้: ตอบคำถาม อ่านไฟล์ ดู log ของ sandbox และเบราว์เซอร์ เสนอแผน ใช้ project memory, tasks และ knowledge สร้างรูปภาพ และค้นหาเว็บ
fork ทำไม่ได้: แก้ไฟล์ รันโค้ด commit รัน build หรือ migration หรือรีสตาร์ท dev server
การตั้งชื่อ fork
Stardeck ตั้งชื่อ fork จากข้อความแรกของมัน เปลี่ยนชื่อได้ด้วยไอคอนดินสอบนแท็บ หรือดับเบิลคลิกที่ชื่อแท็บ
การ merge fork
เมื่อสำรวจเสร็จและอยากนำบริบทของการสนทนากลับมาที่แชตหลัก ให้คลิก Merge ในแบนเนอร์ของ fork เหนือช่องพิมพ์
การ merge จะต่อข้อความทั้งหมดของ fork เข้าท้ายการสนทนาหลักของคุณ จากนั้น agent ของแชตหลักจะเห็นทุกอย่างที่คุยกันใน fork และทำงานต่อได้
Merge ใช้ได้เฉพาะเมื่อ agent หลักว่างอยู่ (ไม่ได้กำลังสตรีมคำตอบ) และ fork มีอย่างน้อยหนึ่งข้อความ
เกิดอะไรขึ้นเมื่อ merge
- เส้นแบ่ง "Merged from fork" ปรากฏในแชตหลัก
- ข้อความของผู้ใช้และ assistant ทั้งหมดจาก fork ถูกต่อท้ายตามลำดับ
- เครื่องหมาย "End of merged fork" ปิดท้ายส่วนนั้น
- แท็บ fork ถูกลบออก (fork ถูกทำเครื่องหมายว่า merged แล้ว)
จากนั้นคุณกลับมาที่แชตหลัก และ agent เห็นทุกอย่างจาก fork
Merge & Build
หาก fork เสนอแผน การ์ดของแผนจะแสดง Merge & Build แทน Build plan ปุ่มนี้ merge fork สลับแชตหลักเป็นโหมด Agent และสร้างตามแผน
การทิ้ง fork
คลิก Discard ในแบนเนอร์ของ fork แท็บจะถูกลบออก ข้อความของมันยังถูกเก็บไว้แต่ซ่อนอยู่
หลาย fork
แต่ละ fork เป็นอิสระต่อกันและไม่เห็นข้อความของ fork อื่น สลับระหว่างกันด้วยแท็บเหนือแชต
เคล็ดลับ
- เปรียบเทียบแนวทาง: fork หนึ่งครั้งต่อหนึ่งตัวเลือก วางแผนแต่ละอัน แล้ว merge อันที่คุณชอบ
- ถามโดยไม่ขัดจังหวะ: ระหว่าง build ที่ใช้เวลานาน กด Cmd+Enter เพื่อ fork แล้วถาม