Loop Engineering: ออกแบบลูป อย่าเอาแต่เขียน Prompt

เลิกเขียน Prompt ให้ coding agent ด้วยตัวเองแบบแมนนวล แล้วเริ่มออกแบบลูปที่จะเขียน Prompt แทนคุณ

แนวคิดนี้จาก Peter Steinberger ได้เปลี่ยนบทสนทนาในกลุ่มนักพัฒนา AI เขาโต้แย้งว่าโปรแกรมเมอร์ควรเปลี่ยนบทบาทจากการเป็น "คนขับ" (driver) ไปสู่การเป็น "ผู้ออกแบบระบบ" (system designer)

Loop Engineering คืออะไร?

มันคือการเปลี่ยนจากการพิมพ์ Prompt ทีละครั้ง ไปเป็นการเขียนโปรแกรมเพื่อจัดการ agent แทนที่จะเป็นคุณที่ลงมือทำเอง ลูปจะเป็นตัวจัดการตรรกะทั้งหมด

ลูปจะดำเนินการตามขั้นตอนเหล่านี้:

  • เลือกงาน
  • ส่งงานให้ agent
  • ตรวจสอบผลลัพธ์
  • ตัดสินใจว่าจะทำต่อหรือหยุด

ลูปจะทำงานในขณะที่คุณหลับ

วงจร 4 ขั้นตอนของทุกลูป:

  1. Act (ลงมือทำ): Agent เขียนโค้ดหรือรันคำสั่ง
  2. Observe (สังเกต): ระบบอ่านผลลัพธ์, error logs หรือผลการทดสอบ
  3. Reason (ใช้เหตุผล): ระบบประเมินว่าบรรลุเป้าหมายหรือไม่
  4. Repeat (ทำซ้ำ): หากล้มเหลว ระบบจะส่ง agent กลับไปลองใหม่อีกครั้ง

การเขียน Prompt แบบแมนนวล vs. Loop Engineering:

  • Manual: คุณคือเครื่องยนต์ คุณต้องนั่งเฝ้าหน้าจอ และต้องอ่านทุก diff
  • Loop: ลูปคือเครื่องยนต์ มันทำงานโดยอัตโนมัติ และทำงานได้ตลอด 24/7

เสาหลักสำคัญสู่ความสำเร็จ:

ลูปที่ดีต้องมีสามสิ่งนี้:

  • Verifier (ตัวตรวจสอบ): เครื่องมือสำหรับเช็คว่างานถูกต้องจริงหรือไม่ อย่าปล่อยให้ agent ตรวจสอบงานของตัวเอง ให้ใช้การทดสอบจริง (real tests) และ linters แทน
  • State Management (การจัดการสถานะ): การติดตามว่าอะไรทำเสร็จแล้วและอะไรที่ยังค้างอยู่
  • Cost Control (การควบคุมต้นทุน): การกำหนดขีดจำกัดของ tokens และจำนวนครั้งในการลองใหม่ (retry counts)

ความเสี่ยงที่ต้องระวัง:

  • False Completion (การเสร็จสิ้นที่หลอกลวง): Agent บอกว่าเสร็จแล้ว แต่บั๊กยังคงอยู่ แก้ไขปัญหานี้ด้วยการใช้ verifier ที่แข็งแกร่ง
  • Speed Overload (ความเร็วที่มากเกินไป): ลูปเขียนโค้ด 1,000 บรรทัดในขณะที่คุณหลับ คุณอาจต้องใช้เวลาทั้งวันเพียงเพื่อพยายามทำความเข้าใจมัน
  • Over-reliance (การพึ่งพามากเกินไป): คุณหยุดตรวจสอบงานเพราะมันดูดีติดต่อกันสิบครั้ง จงให้มนุษย์คอยตรวจสอบ (human in the loop) สำหรับงานที่สำคัญเสมอ

เริ่มต้นอย่างไร:

  • เริ่มจากจุดเล็กๆ: สร้างลูปง่ายๆ ที่จะลองใหม่ (retry) จนกว่าการทดสอบจะผ่าน
  • ลงทุนกับ verifiers: ใช้ชุดการทดสอบ (test suites) ที่มีอยู่เดิมเป็นเสมือน "ดวงตา" ของลูป
  • จำกัดความเสียหาย: ใช้ git branches และกำหนดขีดจำกัดสูงสุดในการลองใหม่
  • ฝึกฝนกับงานที่มีความเสี่ยงต่ำ: ใช้ลูปสำหรับงานเขียนเอกสาร (documentation) หรือการทำ refactoring ก่อนที่จะขยับไปใช้กับโค้ดในระดับ production

ยุคของการเขียน Prompt แบบแมนนวลกำลังจะสิ้นสุดลง ยุคของ Loop Engineering มาถึงแล้ว

Source: https://dev.to/sarantoon/loop-engineering-emuuekaar-prompt-agent-dwymuueaimphiiktaip-aelw-programmer-tngkaebb-loop-aethn-1ikh

Optional learning community: https://t.me/GyaanSetuAi