Skip to content
← ทุกบท

บท 02

ลูปหลัก

DWP นิยามชุดปฏิบัติการขนาดเล็กที่เคลื่อนแผนจากเป้าหมายไปสู่งานที่เสร็จสมบูรณ์และทบทวนได้ ได้แก่ create → execute → refine → resume → status โดยมี verify เป็นการตรวจสอบความสอดคล้องที่ยืนยันผลลัพธ์ เมื่อรวมกันทั้งหมดจึงก่อเป็นลูปที่เอเจนต์ดำเนินตามตลอดอายุของแผน เอเจนต์ดำเนินงานทีละหนึ่งงาน ตรวจสอบแต่ละขั้นก่อนจะไปต่อ

ลูปนี้คือรูปแบบเชิงปฏิบัติการของ spec-driven development แผนคือข้อกำหนดที่เอเจนต์ดำเนินการเทียบกับมัน แต่ละงานมีเกณฑ์การยอมรับที่ชัดเจน และขั้นการตรวจสอบคือ gate ที่เปลี่ยนการกล่าวอ้างว่าเสร็จให้กลายเป็นหลักฐานว่าเสร็จ เพราะแผนและ progress log อยู่ใน repository ลูปจึงดำเนินต่อได้ข้ามเซสชันและข้ามเอเจนต์

ปฏิบัติการต่าง ๆ

  • create — สร้างแผนใหม่จากเป้าหมาย เอเจนต์วิเคราะห์เป้าหมาย แยกย่อยเป็นงานตามลำดับ และเขียนไฟล์แผน มันควรถามคำถามเพื่อให้ชัดเจนก่อนเขียนเมื่อเป้าหมายกำกวม
  • execute — ดำเนินแผนทีละงาน เอเจนต์อัปเดต progress log หลังแต่ละงานและทำเครื่องหมายสถานะการเสร็จสิ้นของงานนั้น มันต้องไม่ข้ามงานโดยไม่บันทึกเหตุผล
  • refine — แก้ไขแผนที่มีอยู่ เอเจนต์อาจเพิ่ม ลบ หรือจัดลำดับงานใหม่ แต่ต้องรักษางานที่เสร็จแล้วไว้และอัปเดตตารางงาน
  • resume — ดำเนินแผนที่ถูกขัดจังหวะต่อ เอเจนต์อ่าน progress log และไฟล์งานเพื่อสร้างสถานะขึ้นใหม่ จากนั้นดำเนินต่อจากงานที่ยังไม่เสร็จงานแรก
  • status — รายงานความคืบหน้าโดยไม่ดำเนินการ เอเจนต์สรุปงานที่เสร็จแล้ว งานที่กำลังทำ และงานที่ค้างอยู่ โดยไม่เปลี่ยนแปลงสิ่งใด
  • verify — ตรวจสอบความสอดคล้องโดยไม่เปลี่ยนแปลงสิ่งใด เอเจนต์รายงานว่า repository เป็นไปตามมาตรฐานหรือไม่ และแผนมีรูปแบบที่ถูกต้องหรือไม่ — ทุกงานต้องมีเกณฑ์การยอมรับและ validation gate ดูเอกสารความสอดคล้องของข้อกำหนด

ไดเรกทอรีผลลัพธ์ .dwp/

สิ่งประดิษฐ์ทั้งหมดของ DWP อยู่ภายใต้ไดเรกทอรี .dwp/ ที่ถูก gitignore ที่รากของ repository การเก็บพื้นที่ทำงานไว้นอกระบบควบคุมเวอร์ชันหมายความว่าสถานะการทำงานของแผนจะไม่ปนเปื้อนประวัติของโปรเจกต์

.dwp/
├── plans/
│   └── PLAN_<slug>/
│       ├── README.md
│       ├── PROGRESS.md
│       └── <n>.task_<slug>.md
└── config.yaml

โครงสร้างงานเก้าส่วน

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

  1. เป้าหมาย — หนึ่งย่อหน้าระบุว่างานนี้บรรลุอะไร
  2. บริบท — ภูมิหลัง ลิงก์ และเหตุผลที่งานนี้มีอยู่
  3. ขั้นตอน — การกระทำที่เป็นรูปธรรมและเรียงลำดับซึ่งต้องทำ
  4. เกณฑ์การยอมรับ — เช็กลิสต์ของเงื่อนไขที่นิยามว่าเสร็จ
  5. การตรวจสอบ — คำสั่งหรือการทดสอบที่ต้องรันเพื่อยืนยันงาน
  6. ไฟล์ — พาธที่คาดว่าจะถูกสร้างหรือแก้ไข
  7. ส่วนพึ่งพิง — งานอื่นหรือเงื่อนไขเบื้องต้นภายนอก
  8. ความเสี่ยง — สิ่งที่อาจผิดพลาดและการบรรเทา
  9. การเสร็จสิ้นและ Log — เครื่องหมายสถานะพร้อมบันทึกตามลำดับเวลา

การตรวจสอบ การเสร็จสิ้น และการดำเนินต่อ

การตรวจสอบเป็นส่วนหนึ่งของงาน ไม่ใช่สิ่งที่นึกขึ้นได้ทีหลัง แต่ละงานระบุคำสั่งหรือการทดสอบที่พิสูจน์ว่ามันเสร็จแล้ว และเอเจนต์รันสิ่งเหล่านั้นก่อนทำเครื่องหมายว่าเสร็จ การเสร็จสิ้นถูกบันทึกด้วยเครื่องหมายสถานะที่ชัดเจน ([ ] ยังไม่เริ่ม, [~] กำลังทำ, [x] เสร็จ, [!] ติดขัด) ในส่วนการเสร็จสิ้นและ Log การดำเนินต่ออาศัยเครื่องหมายเหล่านี้และ progress log — เอเจนต์สามารถสร้างขึ้นใหม่ได้อย่างแม่นยำว่าแผนหยุดที่ใดและดำเนินต่อจากงานที่ยังไม่เสร็จงานแรกโดยไม่ต้องทำงานที่เสร็จแล้วซ้ำ