นักพัฒนาโปรแกรมถกเถียงว่า AI Coding Agents สามารถสร้าง Flow State ได้จริงหรือไม่

ทีมชุมชน BigGo
นักพัฒนาโปรแกรมถกเถียงว่า AI Coding Agents สามารถสร้าง Flow State ได้จริงหรือไม่

บทความล่าสุดเกี่ยวกับการบรรลุ flow state ขณะเขียนโค้ดด้วย AI agents ได้จุดประกายการถกเถียงอย่างเข้มข้นในหมู่นักพัฒนาโปรแกรม การอภิปรายมุ่งเน้นไปที่ว่าแนวทาง multi-agent ในการพัฒนาซอฟต์แวร์สามารถจำลองสภาวะจิตใจที่เข้มข้นและมีสมาธิลึกซึ้งที่โปรแกรมเมอร์มักประสบในช่วงเวลาที่มีประสิทธิภาพสูงสุดในการเขียนโค้ดได้จริงหรือไม่

ขั้นตอนการทำงานดั้งเดิมเกี่ยวข้องกับการใช้ AI agents สามตัวพร้อมกัน: หนึ่งตัวสำหรับการพัฒนา อีกตัวสำหรับการทดสอบ และตัวที่สามสำหรับการจัดทำเอกสาร แนวทางแบบขนานนี้มีเป้าหมายเพื่อเพิ่มประสิทธิภาพให้สูงสุดในขณะที่รักษาคุณภาพของโค้ด อย่างไรก็ตาม ชุมชนนักพัฒนายังคงแบ่งออกเป็นสองฝ่ายว่าสิ่งนี้ถือเป็น flow state แท้จริงหรือเป็นเพียงการจัดการงานที่มีประสิทธิภาพ

โครงสร้างเวิร์กโฟลว์แบบหลายเอเจนต์:

  • Agent 1: The Implementer (ดำเนินการตรรกะหลัก)
  • Agent 2: The Tester (เขียนการทดสอบที่มีความหมาย)
  • Agent 3: The Documenter (อัปเดตเอกสารโครงการ)
  • เอเจนต์ทั้งหมดทำงานพร้อมกันในงานเดียวกันเพื่อลดความขัดแย้งในการรวมโค้ด

ความขัดแย้งหลัก: อะไรคือคำนิยามของ Flow State?

ความขัดแย้งหลักหมุนรอบธรรมชาติพื้นฐานของ flow state เอง Flow state แบบดั้งเดิมในการเขียนโปรแกรมเกี่ยวข้องกับการมีสมาธิลึกซึ้งและไม่ถูกรบกวน ที่ซึ่งนักพัฒนาหลงลืมเวลาขณะสร้างระบบที่ซับซ้อน นักวิจารณ์โต้แย้งว่าการจัดการ AI agents หลายตัวสร้างการเปลี่ยนบริบท (context switches) มากเกินไปจนไม่สามารถรักษาสภาวะจิตใจนี้ไว้ได้

นักพัฒนาคนหนึ่งชี้ให้เห็นว่าการเปลี่ยนบริบทโดยธรรมชาติเกี่ยวข้องกับการล้างสถานะการทำงานทางจิตใจของฉัน ซึ่งดึงฉันออกจาก flow state สิ่งนี้เน้นย้ำถึงความท้าทายสำคัญ: แม้ว่า agents จะทำงานแบบขนาน แต่ความสนใจของมนุษย์ยังคงทำงานแบบต่อเนื่อง ภาระทางจิตใจจากการเปลี่ยนไปมาระหว่างผลลัพธ์ของ agent ต่างๆ อาจป้องกันการมีสมาธิอย่างต่อเนื่องที่เป็นนิยามของ flow แท้จริง

อย่างไรก็ตาม ผู้สนับสนุนโต้แย้งว่า flow สามารถเกิดขึ้นได้ในระดับนามธรรมที่แตกต่างกัน พวกเขาโต้แย้งว่าการควบคุม agents หลายตัวในขณะที่ใช้ความจุทางจิตใจที่เหลือสำหรับการ debug และวางแผนสามารถสร้างรูปแบบการมีส่วนร่วมอย่างต่อเนื่องของตัวเอง นักพัฒนาที่มีประสบการณ์บางคนรายงานว่าสามารถบรรลุสภาวะคล้าย flow ได้เมื่อจัดการ agent workflows โดยเฉพาะอย่างยิ่งในงานสถาปัตยกรรมระบบที่ซับซ้อน

ปัญหาการรอคอย

ปัญหาเชิงปฏิบัติที่สำคัญเกิดขึ้นเกี่ยวกับเวลาตอบสนอง นักพัฒนาหลายคนพบว่าตนเองสูญเสียสมาธิในระหว่างการรอหลายนาทีให้ AI agents ทำงานให้เสร็จ สิ่งนี้สร้างจุดกึ่งกลางที่น่าอึดอัดใจที่ซึ่งความล่าช้านั้นยาวนานเกินไปที่จะรักษาความสนใจไว้ได้ แต่สั้นเกินไปที่จะมีส่วนร่วมกับงานอื่นอย่างมีความหมาย

ปัญหาเรื่องเวลากลายเป็นปัญหาเฉพาะเมื่อเปรียบเทียบกับขั้นตอนการเขียนโค้ดแบบดั้งเดิม ไม่เหมือนกับการทำงานร่วมกันระหว่างมนุษย์ด้วยกันที่ทั้งสองฝ่ายรักษาบริบทในระหว่างการสนทนาสั้นๆ AI agents ต้องการการสร้างบริบทใหม่อย่างสมบูรณ์หลังจากการหยุดชั่วคราวแต่ละครั้ง การแยกส่วนนี้สามารถรบกวนกระบวนการคิดอย่างต่อเนื่องที่จำเป็นสำหรับ flow state

นักพัฒนาบางคนได้ทดลองใช้ agents หลายตัวเพื่อเติมเต็มช่องว่างเหล่านี้ แต่แนวทางนี้นำมาซึ่งความท้าทายใหม่เกี่ยวกับการประสานงานและความขัดแย้งที่อาจเกิดขึ้นระหว่างผลลัพธ์ของ agent ต่างๆ

ข้อกังวลเรื่องคุณภาพและความไว้วางใจ

นอกเหนือจากการถกเถียงเรื่อง flow state แล้ว นักพัฒนายังตั้งคำถามจริงจังเกี่ยวกับคุณภาพของโค้ดเมื่อใช้ AI agents อย่างกว้างขวาง ปัญหาพื้นฐานอยู่ที่ภาระการตรวจสอบที่วางอยู่บนนักพัฒนามนุษย์ ไม่เหมือนกับการ debug โค้ดที่เขียนเอง การตรวจสอบโค้ดที่ AI สร้างขึ้นต้องการความระมัดระวังอย่างต่อเนื่องสำหรับข้อผิดพลาดที่ละเอียดอ่อนซึ่งอาจไม่เห็นได้ทันที

มันจะโกหกฉัน มันทำผิดพลาดที่ยากจะหาหรือสังเกตเห็น (แค่เพราะมันคอมไพล์ได้และแค่เพราะมันรันได้ไม่ได้หมายความว่ามันถูกต้อง... มีแต่โปรแกรมเมอร์มือใหม่เท่านั้นที่คิดแบบนั้น)

ภาระการตรวจสอบนี้อาจเพิ่มภาระทางปัญญาแทนที่จะลดลง นักพัฒนาต้องรักษาความเข้าใจลึกซึ้งของ codebase ในขณะที่ตรวจสอบผลลัพธ์ของ AI ในเรื่องความถูกต้อง ความสอดคล้องทางสถาปัตยกรรม และการปฏิบัติตามมาตรฐานของโครงการ

ข้อได้เปรียบของการวางแผน

แม้จะมีความขัดแย้งเกี่ยวกับ flow state แต่นักพัฒนาส่วนใหญ่ยอมรับคุณค่าของการวางแผนอย่างละเอียดเมื่อทำงานกับ AI agents แนวทางที่มีโครงสร้างในการแบ่งงานออกเป็นแผนที่ชัดเจนและมีเอกสารประกอบอย่างสม่ำเสมอให้ผลลัพธ์ที่ดีกว่าการ prompting แบบไม่มีแผน

ขั้นตอนการวางแผนนี้มีจุดประสงค์หลายประการ: ให้บริบทที่ชัดเจนสำหรับ AI agents สร้างจุดตรวจสอบสำหรับการกลับมาทำงานต่อหลังจากการหยุดชั่วคราว และบังคับให้นักพัฒนาคิดผ่านการตัดสินใจทางสถาปัตยกรรมก่อนเริ่มการพัฒนา นักพัฒนาหลายคนรายงานว่าการลงทุนล่วงหน้าในการวางแผนนี้ปรับปรุงทั้งคุณภาพของผลลัพธ์ AI และความเข้าใจของตนเองเกี่ยวกับปัญหา

กระบวนการวางแผนยังช่วยให้สามารถทำงานแบบขนานกับ agents หลายตัวได้ดีขึ้น ลดโอกาสของความขัดแย้งและทำให้มั่นใจว่าส่วนประกอบต่างๆ จะรวมกันได้อย่างเหมาะสม

ขั้นตอนกระบวนการวางแผน:

  1. สร้างแผนในโฟลเดอร์ ./ai/plans/
  2. แบ่ง JIRA tickets ออกเป็น PR แยกต่างหากหลายๆ อัน
  3. แต่ละ PR จะได้รับไฟล์แผนที่สอดคล้องกัน (เช่น JIRA-1234-1.md)
  4. แผนที่เขียนโดย AI agent เพื่อการดำเนินการอัตโนมัติ
  5. ลบแผนหลังจากงานเสร็จสิ้น
คู่มือภาพสำหรับบรรลุสถานะ flow ด้วย agentic coding ผ่านการวางแผนอย่างมีโครงสร้าง
คู่มือภาพสำหรับบรรลุสถานะ flow ด้วย agentic coding ผ่านการวางแผนอย่างมีโครงสร้าง

มองไปข้างหน้า

การถกเถียงสะท้อนคำถามที่กว้างขึ้นเกี่ยวกับอนาคตของการพัฒนาซอฟต์แวร์ เมื่อเครื่องมือเขียนโค้ด AI กลายเป็นที่ซับซ้อนมากขึ้น นักพัฒนาต้องนำทางความสมดุลระหว่างการใช้ประโยชน์จากระบบอัตโนมัติและการรักษาการมีส่วนร่วมทางเทคนิคลึกซึ้งที่ขับเคลื่อนนวัตกรรมและคุณภาพ

แม้ว่าคณะลูกขุนจะยังไม่ตัดสินใจว่าการเขียนโค้ดด้วยความช่วยเหลือของ AI สามารถจำลอง flow states แบบดั้งเดิมได้จริงหรือไม่ แต่การอภิปรายเน้นย้ำถึงข้อพิจารณาสำคัญสำหรับนักพัฒนาที่นำเครื่องมือเหล่านี้มาใช้ ความสำเร็จน่าจะขึ้นอยู่กับรูปแบบการทำงานของแต่ละบุคคล ความซับซ้อนของโครงการ และการนำ AI assistance workflows ไปใช้เฉพาะเจาะจง

การทดลองอย่างต่อเนื่องกับแนวทาง multi-agent แสดงให้เห็นว่าชุมชนนักพัฒนากำลังทำงานอย่างแข็งขันเพื่อปรับปรุงกระบวนทัศน์ใหม่เหล่านี้ให้เหมาะสม แม้ว่าคำถามพื้นฐานเกี่ยวกับผลกระทบต่อประสบการณ์การเขียนโค้ดจะยังคงไม่ได้รับการแก้ไข

อ้างอิง: Getting Into Flow State with Agentic Coding