Skip to content

การแก้ไขและปรับปรุงการเปลี่ยนแปลง

ทุกอาร์ติแฟกต์ในหนึ่งการเปลี่ยนแปลงเป็นเพียงไฟล์ Markdown ที่คุณสามารถแก้ไขได้ตลอดเวลา ไม่มี "ขั้นตอนวางแผน" ที่ล็อกไว้ ไม่มีประตูอนุมัติ ไม่ต้องเข้าสู่โหมดแก้ไขพิเศษใดๆ ต้องการเปลี่ยนข้อเสนอหลังจากเริ่มสร้างแล้ว? เปิดไฟล์ proposal.md แล้วแก้ไขได้ทันที ตรวจพบว่าแบบจำลองผิดกลางกระบวนการนำไปใช้? แก้ไข design.md แล้วดำเนินการต่อ นี่คือคำตอบทั้งหมด และเป็นการออกแบบโดยเจตนา

หน้านี้สำหรับช่วงเวลาที่คุณคิดว่า "รอสักนิด ฉันสามารถกลับไปแก้ไขสิ่งนั้นได้หรือ?" คำตอบคือได้ นี่คือวิธีทำสำหรับแต่ละกรณีที่พบบ่อย

วิธีการแก้ไขสิ่งใดๆ ทั้งหมดสองแบบ

คุณมีทั้งสองวิธีใช้งานได้ตลอดเวลา:

  1. แก้ไขไฟล์โดยตรง อาร์ติแฟกต์เป็นไฟล์ Markdown ธรรมดาที่อยู่ในโฟลเดอร์ openspec/changes/<name>/ เปิดไฟล์ proposal.md, design.md, tasks.md หรือ delta spec ใดๆ ที่อยู่ภายใต้โฟลเดอร์ specs/ ในโปรแกรมแก้ไขของคุณแล้วแก้ไข ไม่จำเป็นต้องทำอย่างอื่นใดอีก
  2. ขอให้ AI ของคุณแก้ไขให้ ในแชท เพียงบอกสิ่งที่คุณต้องการ เช่น "อัปเดตข้อเสนอเพื่อลบแนวคิดการแคชและเพิ่มส่วน rate-limit" หรือ "แบบจำลองควรใช้คิว ไม่ใช่การสำรวจสถานะ (polling)" AI จะแก้ไขอาร์ติแฟกต์ให้คุณโดยใช้ส่วนที่เหลือของการเปลี่ยนแปลงเป็นบริบท

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

"ฉันจะอัปเดตข้อเสนอ (หรือสเปค) หลังจากเริ่มแล้วได้อย่างไร?"

แค่อัปเดตมันเอง การเปลี่ยนแปลงเดิมที่ปรับปรุงแล้ว

หากคุณใช้คำสั่งแบบขยาย ลำดับการทำงานปกติคือ: แก้ไขอาร์ติแฟกต์ จากนั้นรัน /opsx:continue เพื่อดำเนินการต่อจากสถานะใหม่ หรือรัน /opsx:apply เพื่อดำเนินการนำไปใช้ต่อตามแผนที่อัปเดตแล้ว หากคุณใช้คำสั่ง core เริ่มต้น แก้ไขอาร์ติแฟกต์แล้วรัน /opsx:apply; คำสั่งนี้จะอ่านไฟล์ปัจจุบัน ดังนั้นจึงจะสร้างตามที่อาร์ติแฟกต์ระบุไว้ในปัจจุบัน

โมเดลความคิด: อาร์ติแฟกต์คือแผนที่ใช้งานจริง ไม่ใช่สัญญาที่เซ็นไว้แล้ว AI ทำงานจากเนื้อหาปัจจุบันของอาร์ติแฟกต์เสมอ ดังนั้นการแก้ไขอาร์ติแฟกต์จึงเป็นการควบคุมทิศทางการทำงาน

text
คุณ: ฉันต้องการเปลี่ยนแนวทางการทำงานในการเปลี่ยนแปลงนี้

คุณ: [แก้ไข design.md, หรือบอกให้ AI:]
     อัปเดต design.md เพื่อใช้งานพื้นหลังแทนการเรียกแบบซิงโครนัส

AI:  อัปเดต design.md แล้ว รายการงานยังเหมาะสมอยู่ ต้องการให้ฉันดำเนินการต่อหรือ?

คุณ: /opsx:apply

นี้เป็นคำตอบสำหรับคำถามที่พบบ่อยมาก: ไม่มีคำสั่ง "อัปเดตข้อเสนอ" แยกต่างหาก เพราะคุณไม่จำเป็นต้องใช้คำสั่งนั้น ไฟล์เป็นแหล่งข้อมูลหลัก และการแก้ไขไฟล์ (ด้วยตนเองหรือผ่าน AI) คือการอัปเดตนั้นเอง

"ฉันจะกลับไปตรวจสอบหลังจากนำไปใช้แล้วได้อย่างไร?"

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

โดยเฉพาะ หลังจากทำงานด้วย /opsx:apply มาบางส่วน:

  • ต้องการตรวจสอบแผนอีกครั้ง? เปิดอาร์ติแฟกต์และอ่านมัน หรือรัน openspec show <change> ในเทอร์มินัลของคุณเพื่อดูภาพรวมที่รวมไว้
  • พบสิ่งที่ต้องการแก้ไข? แก้ไขอาร์ติแฟกต์ (หรือขอให้ AI แก้ไขให้) แล้วดำเนินการต่อ
  • ต้องการตรวจสอบแบบมีโครงสร้างว่าโค้ดตรงกับแผนหรือ? รัน /opsx:verify (คำสั่งแบบขยาย) คำสั่งนี้จะรายงานความสมบูรณ์ ความถูกต้อง และความสอดคล้องโดยไม่บล็อกสิ่งใดๆ ดูเพิ่มเติมที่ เวิร์กโฟลว์: การตรวจสอบ

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

"ฉันแก้ไขโค้ดด้วยตนเองแล้ว ฉันจะปรับให้สอดคล้องกับ OpenSpec ได้อย่างไร?"

สถานการณ์นี้เกิดขึ้นบ่อยครั้งและเป็นเรื่องปกติ คุณปรับเปลี่ยนบางอย่างในโปรแกรมแก้ไขของคุณ และตอนนี้โค้ดและอาร์ติแฟกต์ไม่สอดคล้องกัน ปรับให้กลับมาเป็นสอดคล้องในทิศทางที่ถูกต้อง:

  • โค้ดปัจจุบันถูกต้อง ส่วนสเปคล้าสมัย อัปเดต delta spec (และ tasks หากเกี่ยวข้อง) เพื่ออธิบายพฤติกรรมที่คุณนำไปใช้จริง สเปคควรตรงกับความเป็นจริงก่อนที่คุณจะเก็บ归档 เพราะการเก็บ归档จะผสานสเปคเข้ากับแหล่งข้อมูลหลักของคุณ
  • สเปคถูกต้อง โค้ดเบี้ยวไปจากกำหนด ดำเนินการสร้างหรือแก้ไขต่อไปจนกว่าโค้ดจะตรงกับสเปค

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

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

การปรับปรุงข้อเสนอที่คุณไม่พึงพอใจ

หากข้อเสนอที่สร้างขึ้นไม่ตรงกับที่ต้องการ คุณมีสามวิธีที่ดีให้เลือก:

  • ปรับปรุงตรงที่เดิม บอกให้ AI รู้ว่าอะไรผิด ("ขอบเขตกว้างเกินไป ลบฟีเจอร์ของผู้ดูแลระบบออก") แล้วให้มันแก้ไข เป็นวิธีที่ราคาไม่แพงและมักจะถูกต้อง
  • สำรวจก่อน แล้วสร้างข้อเสนอใหม่ หากปัญหาคือแนวคิดเองไม่ชัดเจน ถอยกลับไปใช้ /opsx:explore, คิดให้รอบคอบ แล้วให้ข้อเสนอที่ชัดเจนกว่าออกมา ดูเพิ่มเติมที่ สำรวจก่อน
  • เริ่มใหม่ทั้งหมด หากเจตนาเดิมเปลี่ยนแปลงไปอย่างพื้นฐาน การเปลี่ยนแปลงใหม่อาจชัดเจนกว่าการแก้ไขแบบจางๆ ของอันเก่า

เมื่อใดควรอัปเดต และเมื่อใดควรเริ่มการเปลี่ยนแปลงใหม่

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

  • เป้าหมายเดิม แนวคิดดีขึ้น? อัปเดต
  • ขอบเขตแคบลง (ส่ง MVP ออกตอนนี้ ส่วนที่เหลือส่งทีหลัง)? อัปเดต แล้วเก็บ归档 แล้วเริ่มการเปลี่ยนแปลงใหม่สำหรับขั้นที่สอง
  • ปัญหาเองเปลี่ยนแปลงไป ("เพิ่มโหมดมืด" เปลี่ยนเป็น "สร้างระบบธีมทั้งหมด")? เริ่มการเปลี่ยนแปลงใหม่

มีแผนภาพลำดับขั้นและตัวอย่างปฏิบัติอย่างสมบูรณ์ที่ เวิร์กโฟลว์: เมื่อใดควรอัปเดตหรือเริ่มใหม่ และเนื้อหาเพิ่มเติมที่ลึกกว่าใน OPSX: เมื่อใดควรอัปเดตหรือเริ่มใหม่

หมายเหตุเกี่ยวกับ tasks

tasks.md คือรายการตรวจสอบที่ปรับเปลี่ยนได้ตลอดเวลา ไม่ใช่แผนที่กำหนดแล้วอย่างคงที่ ขณะที่คุณนำไปใช้ คุณสามารถเพิ่ม tasks ที่ค้นพบ ลบ tasks ที่ปรากฏว่าไม่จำเป็น หรือเรียงลำดับใหม่ AI จะทำเครื่องหมายรายการว่าเสร็จสมบูรณ์เมื่อทำสำเร็จในระหว่าง /opsx:apply และจะดำเนินการต่อจากรายการแรกที่ยังไม่ได้ทำเครื่องหมายหากคุณกลับมาทำภายหลัง การแก้ไขรายการกลางกระบวนการเป็นสิ่งที่คาดหวังไว้

แหล่งข้อมูลเพิ่มเติม