Starcat Developer

การ fork บทสนทนา

ลองไอเดียแบบขนานโดยไม่กระทบการสนทนาหลักหรือโค้ดของคุณ

fork แตกสาขาออกจากจุดใดก็ได้ในแชต เพื่อลองไอเดียหรือวางแผนโดยไม่เปลี่ยนโค้ด fork เก็บประวัติถึงจุดนั้นไว้ เมื่อเสร็จแล้วให้ merge กลับ และจะสร้างต่อจากตรงนั้นด้วยก็ได้

ต้องการ agent ขนานที่เปลี่ยนโค้ดได้จริง? ใช้ feature branch fork เป็นแบบอ่านอย่างเดียวเสมอ

การสร้าง fork

เริ่ม fork ได้สองวิธี:

จากข้อความ

ทุกข้อความของ assistant ที่ตอบเสร็จแล้วมีปุ่ม fork (ไอคอนแยกสาย) ที่ส่วนท้าย ถัดจากเมนู ... คลิกเพื่อสร้าง fork ที่เริ่มจากจุดนั้นของการสนทนา

fork สืบทอดประวัติการสนทนาทั้งหมดจนถึงและรวมข้อความนั้น ส่วนสิ่งที่เกิดขึ้นหลังจากนั้นในแชตหลักจะไม่ปรากฏใน fork

ขณะที่ agent กำลังทำงาน

หาก agent กำลังทำงานอยู่ และคุณอยากลองอีกทิศทางโดยไม่ขัดจังหวะมัน:

  1. พิมพ์ข้อความในช่องพิมพ์ของแชต
  2. คลิกปุ่มไอคอนแยกสายที่ปรากฏถัดจากปุ่มส่ง หรือกด 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

  1. เส้นแบ่ง "Merged from fork" ปรากฏในแชตหลัก
  2. ข้อความของผู้ใช้และ assistant ทั้งหมดจาก fork ถูกต่อท้ายตามลำดับ
  3. เครื่องหมาย "End of merged fork" ปิดท้ายส่วนนั้น
  4. แท็บ fork ถูกลบออก (fork ถูกทำเครื่องหมายว่า merged แล้ว)

จากนั้นคุณกลับมาที่แชตหลัก และ agent เห็นทุกอย่างจาก fork

Merge & Build

หาก fork เสนอแผน การ์ดของแผนจะแสดง Merge & Build แทน Build plan ปุ่มนี้ merge fork สลับแชตหลักเป็นโหมด Agent และสร้างตามแผน

การทิ้ง fork

คลิก Discard ในแบนเนอร์ของ fork แท็บจะถูกลบออก ข้อความของมันยังถูกเก็บไว้แต่ซ่อนอยู่

หลาย fork

แต่ละ fork เป็นอิสระต่อกันและไม่เห็นข้อความของ fork อื่น สลับระหว่างกันด้วยแท็บเหนือแชต

คำเตือน:
สร้าง fork จาก fork อีกอันไม่ได้ ปุ่ม fork จะปรากฏเฉพาะเมื่อดูแชตหลัก

เคล็ดลับ

  • เปรียบเทียบแนวทาง: fork หนึ่งครั้งต่อหนึ่งตัวเลือก วางแผนแต่ละอัน แล้ว merge อันที่คุณชอบ
  • ถามโดยไม่ขัดจังหวะ: ระหว่าง build ที่ใช้เวลานาน กด Cmd+Enter เพื่อ fork แล้วถาม