แผนผังทักษะวิศวกรรม AI: การใช้งาน Coding Agents

@AndrewYNg
อังกฤษ04 ก.ย. 2569
513K
5.9K
919
168
9.2K

TL;DR

Andrew Ng ได้จัดทำแผนผังทักษะโดยละเอียดสำหรับวิศวกร AI ซึ่งครอบคลุมขั้นตอนการทำงานทั้งการวางแผน การดำเนินการ และการตรวจสอบเมื่อต้องทำงานร่วมกับ autonomous coding agents

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

วิวัฒนาการที่รวดเร็วของ coding agents หมายความว่าทักษะนี้ก็กำลังพัฒนาไปอย่างรวดเร็วเช่นกัน — เร็วกว่าทักษะ AI ระดับสูงอื่นๆ coding agents แบบ proprietary (เช่น Claude Code, Codex และ Cursor) และแบบ open source (เช่น OpenCode และ Pi) ก้าวหน้าอย่างก้าวกระโดดผ่านการปรับปรุงทั้งในส่วนของ harness และโมเดล ดังนั้นการติดตามวิธีการใช้ coding agents จึงต้องอาศัยกระบวนการทดลอง สร้าง และเรียนรู้อย่างต่อเนื่อง

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

  • การวางแผน ซึ่งรวมถึง (i) การระดมความคิด ซึ่งอาจรวมถึงการวิจัย การทดลอง และการทำความเข้าใจโค้ดเบสที่มีอยู่ (ถ้ามี) และ (ii) การเขียน spec ที่รวบรวมข้อกำหนด การออกแบบทางเทคนิค และสถาปัตยกรรม ตามด้วยการสร้างแผนการดำเนินการ คุณอาจตรวจสอบแผนเพื่อตั้งคำถามกับสมมติฐานหลักและตรวจสอบหาช่องโหว่ด้านความปลอดภัย การออกแบบที่ซับซ้อนเกินจำเป็น และช่องว่างอื่นๆ
  • การดำเนินการ ซึ่งคุณจะสร้าง ทดสอบ และตรวจสอบ ด้วยความสมดุลที่เหมาะสมระหว่างความเป็นอิสระของ agent และการควบคุมของมนุษย์ ซึ่งเกี่ยวข้องกับ (i) การให้ agent สร้างซอฟต์แวร์ ด้วยระดับความเป็นอิสระของ agent ที่ได้รับการปรับเทียบแล้ว และ (ii) การตรวจสอบผลลัพธ์ผ่านการตรวจสอบอัตโนมัติและ/หรือโดยมนุษย์
  • การปรับใช้และการตรวจสอบ ซึ่งคุณ (i) ปรับใช้ อาจมี gate จาก CI/CD pipeline หรือ gate ของมนุษย์เพิ่มเติม และ (ii) ใช้ agents เพื่อตรวจสอบ logs ชี้ให้เห็นปัญหา และเสนอและดำเนินการปรับปรุง

เวิร์กโฟลว์ระดับสูงนี้คล้ายกับที่ใช้สร้างซอฟต์แวร์ก่อนจะมี coding agents ตอนนี้ เรามุ่งเน้นไปที่โค้ดน้อยลงมาก และมุ่งเน้นไปที่การตัดสินใจว่าจะสร้างอะไร การออกแบบสถาปัตยกรรม การเขียน spec และการตรวจสอบผลลัพธ์แทน

ระยะเวลาของแต่ละขั้นตอนอาจแตกต่างกันอย่างมากระหว่างโปรเจกต์ และสามารถละเว้นบางขั้นตอนได้ ตัวอย่างเช่น spec สำหรับโปรโตไทป์ greenfield (หมายถึงสร้างจากศูนย์) อาจถูกอธิบายอย่างคร่าวๆ ใน prompt ที่เขียนอย่างรวดเร็ว ในขณะที่ spec สำหรับโปรเจกต์ brownfield (ที่มีอยู่ก่อนแล้ว) ที่มีผู้ใช้จำนวนมากอาจต้องใช้ความพยายามมากขึ้นในการเขียนและตรวจสอบ นอกจากนี้ เวิร์กโฟลว์ยังมีการวนซ้ำสูง และนักพัฒนาที่มีทักษะรู้ว่าเมื่อใดที่ feedback จากขั้นตอนหลังควรนำพวกเขากลับไปยังขั้นตอนก่อนหน้า ตัวอย่างเช่น หากการตรวจสอบล้มเหลว พวกเขารู้วิธีควบคุม agent ให้สร้างใหม่และแก้ไขข้อผิดพลาด หรือหากการตรวจสอบพบปัญหา พวกเขารู้วิธีให้ agents อัปเดตระบบและปรับใช้ใหม่

เพื่อใช้ coding agents อย่างมีประสิทธิภาพในเวิร์กโฟลว์นี้ ทักษะสำคัญคือ:

  • การควบคุมทิศทางของเวิร์กโฟลว์
  • การเปิดใช้งานความเป็นอิสระของ agent
  • การตรวจสอบงาน
  • การปรับแต่ง agent และสภาพแวดล้อมของมัน
  • พื้นฐานของ coding agent

การควบคุมทิศทางของเวิร์กโฟลว์ คุณรู้วิธีนำทางในแต่ละขั้นตอนของเวิร์กโฟลว์ข้างต้น ซึ่งเกี่ยวข้องกับการตัดสินใจว่าจะใช้ความพยายามของมนุษย์และ agent เท่าใดในแต่ละขั้นตอน และเมื่อใดควรกลับไปยังขั้นตอนก่อนหน้าเพื่อวนซ้ำ ต้องอาศัยความเข้าใจอย่างลึกซึ้งเกี่ยวกับการแลกเปลี่ยนระหว่างความเร็ว ต้นทุน ความเสี่ยงทางเทคนิค และความพยายามของมนุษย์ เพื่อให้คุณตัดสินใจได้ว่าจะค้นคว้าและวางแผนล่วงหน้ามากน้อยเพียงใด เมื่อใดควรรักษาความเป็นเจ้าของของมนุษย์ในงานที่สำคัญ วิธีการเลือกสถาปัตยกรรม ควรเขียนรายละเอียดลงในชุด artifacts การวางแผน (เช่น spec) มากน้อยเพียงใด และวิธีการแบ่งงานออกเป็นขั้นตอนที่ตรวจสอบได้

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

การตรวจสอบงาน ผลลัพธ์ของ coding agent นั้นไม่แน่นอน เราไม่ทราบล่วงหน้าว่ามันจะคิดไอเดียดีๆ อะไรออกมาและจะสร้างบัคอะไรขึ้นมา การตรวจสอบและยืนยันผลลัพธ์เป็นขั้นตอนสำคัญเพื่อให้แน่ใจว่าคุณได้ผลลัพธ์ที่ต้องการ และเพื่อเปลี่ยนทิศทางของ agent หากไม่เป็นเช่นนั้น คุณจะออกแบบการทดสอบและการตรวจสอบที่เหมาะสมกับงาน โดยใช้การตรวจสอบทั้งเชิงพฤติกรรมและเชิงหน้าที่ตามความจำเป็น คุณอาจทดสอบ user flows โดยอาจให้ agent จัดเตรียมภาพหน้าจอเป็นหลักฐานของความสำเร็จหรือความล้มเหลว สำหรับการประเมินเชิงคุณภาพ/พฤติกรรม สามารถใช้ eval sets โดยอาจใช้ LLM-as-a-judge

คุณยังต้องตัดสินใจว่าการทดสอบเหล่านี้ควรเป็นแบบอัตโนมัติมากน้อยเพียงใด เวิร์กโฟลว์บางอย่างจะมีการทดสอบและการตรวจสอบทั้งหมดเป็นแบบอัตโนมัติเพื่อให้ agent สามารถตรวจสอบงานของตัวเองและรู้ว่าเมื่อใดที่ทำงานสำเร็จ คุณต้องประเมินการทดสอบเพื่อให้แน่ใจว่าสอดคล้องกับเป้าหมายของคุณ และคุณจะปรับเปลี่ยนหากไม่เป็นเช่นนั้น นอกจากนี้ คุณใช้ agentic code review และรันการตรวจสอบความปลอดภัยและสถาปัตยกรรมที่ใช้ AI เมื่อการตรวจสอบด้วย AI ไม่เพียงพอ คุณจะแทรกการตรวจสอบโดยมนุษย์เกี่ยวกับพฤติกรรมของโค้ด (และไม่บ่อยนัก เกี่ยวกับโค้ดด้วย) อย่างชาญฉลาด ในขณะที่สำรวจวิธีทำให้การตรวจสอบนี้เป็นแบบอัตโนมัติมากขึ้น สุดท้าย คุณตรวจสอบการปรับใช้และสามารถดำเนินการตรวจสอบและการจัดการเหตุการณ์ด้วย agents ได้

การปรับแต่ง agent และสภาพแวดล้อมของมัน ความสามารถของคุณในการอัปเดตทั้ง agent และสภาพแวดล้อมที่มันทำงาน ช่วยให้ agents ของคุณได้รับ context ที่ต้องการ เข้าถึงเครื่องมือ และสร้างได้อย่างถูกต้องและมีประสิทธิภาพ คุณรู้วิธีรวม agent skills, plugins และ MCP servers บางครั้งคุณจะตัดแต่งมันเมื่อไม่จำเป็นอีกต่อไป (เช่น เมื่อโมเดลใหม่ทำให้ทักษะเก่าล้าสมัย) คุณสามารถใช้ hooks เพื่อทำให้ส่วนที่ทำซ้ำได้ของกระบวนการพัฒนาเป็นแบบอัตโนมัติ เช่น การเรียกใช้ code reviews อัตโนมัติหรือ CI/CD pipelines คุณยังสามารถรักษาสภาพแวดล้อมที่ agent ทำงาน: อัปเดต context ถาวร (เช่น AGENTS.md หรือ CLAUDE.md) ด้วยข้อมูลเกี่ยวกับโค้ดเบส สมมติฐานทางสถาปัตยกรรมที่สำคัญ รูปแบบโค้ด และรูปแบบการเข้าถึงข้อมูล คุณรู้วิธีรักษาสถานะในหลายเซสชันและใน agents ที่ทำงานแบบขนาน และสะสมการเรียนรู้ของ agent เมื่อเวลาผ่านไป อาจโดยการรัน retrospectives หลังการรันเพื่อบันทึกสิ่งที่ใช้ได้ผลและไม่ได้ผล คุณยังรู้วิธีตั้งค่าขนบธรรมเนียมและโครงสร้างที่สอดคล้องกันเพื่อทำให้โค้ดเบสของคุณ navigable สำหรับ agent และวิธีล้างหนี้ที่ agent สร้างขึ้นเป็นครั้งคราว เมื่อคุณทำงานเป็นทีม คุณจะพิจารณาวิธีประสาน context ระหว่าง agents ของนักพัฒนาที่แตกต่างกัน

พื้นฐานของ coding agent สุดท้ายนี้ เพื่อตัดสินใจได้ดีตลอดทั้งกระบวนการ คุณมีความเข้าใจที่ดีว่า coding agents ทำงานอย่างไร: พวกมันดำเนินการค้นหา/ดึงข้อมูลโค้ดเบสอย่างไร พวกมันจัดการ context windows อย่างไร การดำเนินการต่างๆ (เช่น การเพิ่ม tool calls, MCP servers ฯลฯ) ส่งผลต่อ context อย่างไร agents และ subagents โต้ตอบกันอย่างไร และ agent ถูกสร้างขึ้นโดยการห่อ harness รอบ LLM อย่างไร สิ่งนี้ทำให้ agent ไม่ใช่กล่องดำอีกต่อไป และช่วยให้คุณรับรู้ถึงรูปแบบความล้มเหลว เช่น การออกแบบโซลูชันง่ายๆ ที่ซับซ้อนเกินจำเป็น การสูญเสียความเข้มงวดเนื่องจาก agent ขาดกระบวนการตรวจสอบที่ชัดเจน การหยุดก่อนถึงเป้าหมาย หรือการกระทำของ agent ที่เสี่ยงต่อการทำลายไฟล์หรือข้อมูลการผลิต นอกจากนี้ยังช่วยให้คุณใช้เหตุผลเกี่ยวกับสถานะของ agent และควบคุมมันโดยให้คำแนะนำหรือ context ที่ถูกต้อง และเมื่อตรวจสอบการรัน ความเข้าใจนี้ช่วยให้คุณสังเกตได้ดีขึ้นเมื่อ agent หลุดออกนอกเส้นทางและต้องการการแทรกแซงของคุณ

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

ทักษะการใช้ coding agents ของคุณจะทำให้คุณเป็นผู้สร้างที่มีประสิทธิภาพ สิ่งนี้ทำให้คุณอยู่ในตำแหน่งที่จะควบคุมการสร้างโดยรวมได้ด้วย ฉันจะพูดเพิ่มเติมเกี่ยวกับเรื่องนี้ในบทความหน้า

บันทึกในคลิกเดียว

อ่านบทความไวรัลเชิงลึกด้วย AI ใน YouMind

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

สำรวจ YouMind
สำหรับครีเอเตอร์

เปลี่ยน Markdown ของคุณให้เป็นบทความ 𝕏 ที่สะอาดตา

เวลาคุณเผยแพร่งานเขียนยาวของตัวเอง การจัดรูปแบบรูปภาพ ตาราง และบล็อกโค้ดให้เข้ากับ 𝕏 นั้นน่าปวดหัว YouMind เปลี่ยนร่าง Markdown ทั้งฉบับให้เป็นบทความ 𝕏 ที่สะอาดตาและพร้อมโพสต์ทันที

ลอง Markdown เป็น 𝕏

แพตเทิร์นให้ถอดรหัสเพิ่มเติม

บทความไวรัลล่าสุด

สำรวจบทความไวรัลเพิ่มเติม