AI ในการเขียนโปรแกรมคืออะไร
AI ในการเขียนโปรแกรมคือการใช้ปัญญาประดิษฐ์ทำงานโดยตรงกับซอร์สโค้ดและเครื่องมือของนักพัฒนา นักพัฒนาจะให้คำสั่งที่ชัดเจนแก่ระบบ พร้อมไฟล์ในรีโพซิทอรีหรือข้อมูลจากการทำงานจริงที่เกี่ยวข้อง ระบบจะวิเคราะห์งานและส่งคืนโค้ด ชุดทดสอบ คำอธิบาย หรือผลการวิเคราะห์ทางเทคนิคให้ตรวจสอบ นี่คือส่วนที่เน้นเรื่องโค้ดของ AI ในการพัฒนาซอฟต์แวร์ ซึ่งเป็นคำที่ครอบคลุมกว้างกว่านั้น รวมถึงการวางแผน งานปล่อยเวอร์ชัน และงานบำรุงรักษาที่เกี่ยวข้องกับโค้ดด้วย
เครื่องมือเขียนโค้ดด้วย AI ทำงานอย่างไร
เครื่องมือเขียนโค้ดด้วย AI ผสานโมเดลภาษาเข้ากับบริบทที่มีอยู่ในงานพัฒนา การเติมโค้ดสั้นๆ อาจใช้เพียงไฟล์ปัจจุบันและตำแหน่งเคอร์เซอร์ ในขณะที่ agent สำหรับเขียนโค้ดสามารถตรวจสอบไฟล์ในรีโพซิทอรี รันคำสั่ง และใช้ผลการทดสอบเพื่อกำหนดขั้นตอนต่อไป
ขั้นตอนการทำงานทั่วไปของ AI ในการเขียนโค้ดมี 4 ขั้นตอน:
ตีความงาน: เครื่องมือจะอ่านคำสั่งของนักพัฒนาและระบุผลลัพธ์ที่ต้องการ ข้อจำกัด และพฤติกรรมที่คาดหวัง
รวบรวมบริบท: ตรวจสอบโค้ดที่เกี่ยวข้อง แนวทางของโปรเจกต์ เวอร์ชันของ dependency ข้อมูลจากการทำงานจริง หรือการดำเนินการที่คล้ายกันซึ่งมีอยู่แล้วในรีโพซิทอรี
สร้างหรือดำเนินการ: โมเดลจะเสนอโค้ดหรือคำอธิบาย ส่วน agent สามารถทำได้มากกว่านั้นโดยแก้ไขไฟล์และรันเครื่องมือพัฒนา
ส่งคืนหลักฐาน: ผลลัพธ์อาจรวมถึง diff ผลการทดสอบ ผลลัพธ์ของคำสั่ง หรือสรุปข้อสมมติฐานให้นักพัฒนาตรวจสอบ
คุณภาพของผลลัพธ์ขึ้นอยู่กับทั้งตัวโมเดลและบริบทที่ได้รับ คำขอที่กว้างเกินไปมักให้คำตอบที่กว้างและไม่เจาะจง ในขณะที่งานที่มีขอบเขตชัดเจน พร้อมไฟล์ที่เกี่ยวข้องและเกณฑ์การยอมรับที่ชัดเจน มีแนวโน้มที่จะได้ผลลัพธ์ที่เข้ากับรีโพซิทอรีได้ดีกว่า
ประเภทของเครื่องมือเขียนโปรแกรมด้วย AI
เครื่องมือเขียนโปรแกรมด้วย AI แตกต่างกันตรงปริมาณบริบทที่เข้าถึงได้และขอบเขตของงานที่สามารถทำได้ บางเครื่องมือแนะนำโค้ดเฉพาะในตัวแก้ไขปัจจุบันเท่านั้น ในขณะที่บางเครื่องมือสามารถทำงานทั่วทั้งรีโพซิทอรีและใช้เครื่องมือพัฒนาต่างๆ ได้
| ประเภทเครื่องมือ | บทบาทหลัก | บริบทการใช้งานทั่วไป | ผลลัพธ์ที่พบทั่วไป |
|---|---|---|---|
| การเติมโค้ดอัตโนมัติ | คาดการณ์บรรทัดถัดไปหรือเติมฟังก์ชันให้สมบูรณ์ในขณะที่นักพัฒนากำลังพิมพ์ | ไฟล์ปัจจุบัน โค้ดที่อยู่ใกล้เคียง และตำแหน่งเคอร์เซอร์ | คำแนะนำโค้ดแบบแทรกในบรรทัด |
| ผู้ช่วยเขียนโค้ดด้วย AI | ตอบคำถามด้านเทคนิค อธิบายโค้ด และร่างการเขียนโค้ดจากคำขอที่เป็นภาษาธรรมชาติ | prompt โค้ดที่วาง และไฟล์ที่เลือก | คำอธิบาย บล็อกโค้ด หรือร่างชุดทดสอบ |
| coding agent | ดำเนินงานที่มีหลายขั้นตอนโดยตรวจสอบ repository และใช้เครื่องมือพัฒนาซอฟต์แวร์ | ไฟล์ใน repository แนวทางของโปรเจกต์ ผลลัพธ์จากคำสั่ง และประวัติการทำงาน | การแก้ไขไฟล์ แผนการดำเนินงาน diff และผลการทดสอบ |
| เครื่องมือตรวจสอบและความปลอดภัย | วิเคราะห์การเปลี่ยนแปลงที่เสนอเพื่อหาข้อบกพร่อง รูปแบบที่ไม่ปลอดภัย หรือการละเมิดนโยบาย | diff กฎของ repository ข้อมูล dependency และการควบคุมความปลอดภัย | ความคิดเห็นจากการตรวจสอบ ข้อค้นพบ หรือรายงานความเสี่ยง |
การใช้ AI ในการเขียนโปรแกรม
AI สามารถช่วยได้ทั้งงานแก้ไขเล็กๆ น้อยๆ และการตรวจสอบทั่วทั้งรีโพซิทอรี หน่วยงานที่มีประโยชน์คือการทำงานพัฒนาที่เจาะจงชัดเจน ซึ่งมีหลักฐานเพียงพอที่จะเชื่อมโยงคำขอเข้ากับโค้ดเบส
| งานพัฒนา | สิ่งที่ AI ทำได้ | ตัวอย่างที่เป็นรูปธรรม |
|---|---|---|
| พัฒนาฟีเจอร์ | ร่างการเปลี่ยนแปลงในไฟล์ต่าง ๆ ที่เกี่ยวข้องกับพฤติกรรมนั้น โดยยึดตามอินเทอร์เฟซและรูปแบบการตั้งชื่อที่มีอยู่เดิม | เพิ่มฟิลด์ API ด้วยการอัปเดต schema ตัวจัดการ (handler) และชุดทดสอบที่เกี่ยวข้อง แทนที่จะส่งคืนเพียงโค้ดชิ้นเล็ก ๆ ที่แยกออกมา |
| ทำความเข้าใจโค้ดที่ไม่คุ้นเคย | ตรวจสอบสัญลักษณ์ในโค้ด การกำหนดค่า และพาธที่ใช้งานจริง เพื่ออธิบายว่าพฤติกรรมหนึ่งๆ ถูกประกอบขึ้นมาอย่างไร | ตามรอยคำขอตั้งแต่ route เข้าสู่ business logic แล้วระบุจุดที่เรียกใช้การบันทึกข้อมูล (persistence) และการจัดการข้อผิดพลาด |
| ตรวจสอบข้อบกพร่อง | เชื่อมโยง stack trace อินพุตที่ทำให้เกิดข้อผิดพลาด หรือลำดับล็อก เข้ากับโค้ดที่อาจเป็นต้นเหตุ | เปลี่ยนความล้มเหลวของการลองใหม่ (retry) ที่เกิดขึ้นเป็นครั้งคราว ให้กลายเป็นสมมติฐานที่ทำซ้ำได้และแผนการติดตั้งเครื่องมือวัดผลแบบเจาะจง |
| ออกแบบและสร้างเทสต์ | แปลงเกณฑ์การยอมรับ (acceptance criteria) ให้เป็นเคสทดสอบที่ใช้เฟรมเวิร์ก fixture และ helper ที่มีอยู่แล้วในโค้ดฐาน | ครอบคลุมช่วงค่าที่ถูกต้องและจุดเปลี่ยนขอบเขต (boundary) ของกฎการตั้งราคา โดยไม่ต้องสร้างการตั้งค่าเทสต์ใหม่ทั้งหมด |
| รีวิวการเปลี่ยนแปลงที่เสนอ | ตรวจ diff เทียบกับข้อตกลงในโค้ดของโปรเจกต์ ขอบเขตสิทธิ์การเข้าถึง และพาธข้อมูลที่เกี่ยวข้อง | ชี้ให้เห็นสาขาการตรวจสอบสิทธิ์ (authorization) ใหม่ที่ข้ามการใช้ helper ควบคุมการเข้าถึงส่วนกลาง |
| รีแฟกเตอร์หรือปรับปรุงประสิทธิภาพ | ค้นหาจุดเรียกใช้งาน จัดลำดับการอัปเดตที่พึ่งพากัน และใช้ผลการวัดเพื่อตรวจสอบผลลัพธ์ | ย้ายไคลเอนต์ที่ใช้งานร่วมกันตามลำดับ dependency หรือเปรียบเทียบเวิร์กโหลดเป้าหมายก่อนและหลังการแพตช์ |
AI สนับสนุนวงจรการพัฒนาซอฟต์แวร์อย่างไร
วงจรการพัฒนาซอฟต์แวร์ (SDLC) คือกระบวนการทั้งหมดตั้งแต่การกำหนดข้อกำหนดไปจนถึงการปล่อยเวอร์ชัน การดำเนินงาน และการบำรุงรักษาซอฟต์แวร์ AI ในการเขียนโปรแกรมสนับสนุนงานด้านโค้ดภายในกระบวนการนั้นเป็นหลัก เครื่องมือ AI ยังช่วยให้ทีมงานเตรียมการตัดสินใจก่อนเริ่มเขียนโค้ด และนำข้อมูลที่ตรวจสอบแล้วเข้าสู่งานปล่อยเวอร์ชันและบำรุงรักษาในภายหลังได้อีกด้วย
| ขั้นตอนของ SDLC | การสนับสนุนจาก AI ที่มีประโยชน์ | ความรับผิดชอบของมนุษย์ |
|---|---|---|
| การนิยามและออกแบบ | ทำความเข้าใจข้อกำหนดให้ชัดเจน ชี้ข้อจำกัดที่ยังไม่ได้แก้ไข เปรียบเทียบตัวเลือกการออกแบบ และวางแผนความสัมพันธ์ของระบบที่อาจเกิดขึ้น | เลือกขอบเขตของผลิตภัณฑ์และอนุมัติข้อแลกเปลี่ยนทางเทคนิค |
| การพัฒนาและการรวมระบบ | แปลงแนวทางที่อนุมัติแล้วให้เป็นแผนระดับไฟล์ ดำเนินการเปลี่ยนแปลงในขอบเขตที่กำหนด และอัปเดตเทสต์ที่เกี่ยวข้อง | ยืนยันว่าการออกแบบถูกนำมาใช้อย่างถูกต้อง และรักษาขอบเขตความเป็นเจ้าของงานให้ชัดเจน |
| การตรวจสอบและปล่อยเวอร์ชัน | จัดระเบียบการตรวจสอบตามข้อกำหนด ตรวจสอบความล้มเหลว เตรียมขั้นตอนการปล่อยเวอร์ชัน และระบุเงื่อนไขในการย้อนกลับ (rollback) | ตัดสินใจว่าหลักฐานเพียงพอหรือไม่ และอนุมัติการดำเนินการที่ส่งผลต่อระบบจริง |
| การดำเนินงานและบำรุงรักษา | เชื่อมโยงเหตุการณ์ผิดปกติกับการเปลี่ยนแปลงล่าสุด สรุปหลักฐานของบริการ อัปเดตคำแนะนำทางเทคนิค และวางแผนงานบำรุงรักษาที่สะสมไว้ | วินิจฉัยผลกระทบทางธุรกิจ จัดลำดับความสำคัญของการติดตามผล และตรวจสอบความถูกต้องของการเปลี่ยนแปลงภายใต้สภาวะการใช้งานจริง |
ความเชื่อมโยงระหว่างขั้นตอนเหล่านี้สำคัญกว่าการใช้ AI ในทุกจุด ข้อกำหนดควรยังคงมองเห็นได้เมื่อออกแบบชุดทดสอบ แผนงานระดับไฟล์ควรอธิบายได้ว่าทำไมจึงต้องมีการเปลี่ยนแปลงแต่ละอย่างเมื่อผู้รีวิวเปิดดู diff ผลการปล่อยเวอร์ชันควรยังคงพร้อมให้ผู้ดูแลระบบเข้าถึงได้ ความต่อเนื่องนี้ช่วยลดการสร้างข้อมูลซ้ำโดยไม่ต้องมอบการตัดสินใจทางวิศวกรรมให้เครื่องมือ
ประโยชน์ของ AI ในการเขียนโปรแกรม
ประโยชน์หลักไม่ได้จำกัดอยู่แค่การสร้างโค้ดได้เร็วขึ้น แต่ยังปรากฏชัดเมื่อการทำงานที่มี AI ช่วยเหลือรักษาความสัมพันธ์ต่างๆ ทั่วทั้งรีโพซิทอรีไว้ และทิ้งหลักฐานที่คนถัดไปสามารถนำไปใช้ได้
ความสอดคล้องข้ามไฟล์ที่แข็งแกร่งขึ้น: ฟีเจอร์หนึ่งแทบไม่เคยอยู่แค่ในไฟล์เดียว AI สามารถตรวจสอบ interface จุดเรียกใช้ การตั้งค่า และชุดทดสอบก่อนใช้การเปลี่ยนแปลงที่ต้องทำซ้ำ มุมมองที่กว้างขึ้นนี้ช่วยให้ signature สอดคล้องกันและลดการย้ายระบบแบบไม่สมบูรณ์ที่ทิ้งพฤติกรรมเดิมไว้
สูญเสียบริบทน้อยลงเมื่อส่งต่องาน: แผนผังรีโพซิทอรีและแผนงานที่กำหนดขอบเขตชัดเจนสามารถอธิบายได้ทั้งว่าอะไรเปลี่ยนแปลงและเพราะอะไร เมื่อข้อมูลนั้นติดไปกับงานด้วย นักพัฒนาหรือผู้รีวิวคนอื่นจะใช้เวลาน้อยลงในการปะติดปะต่อการตัดสินใจก่อนหน้าจากประวัติแชทและบันทึกที่กระจัดกระจาย
การตรวจสอบที่นำกลับมาใช้ซ้ำได้: การเปรียบเทียบระดับพร็อพเพอร์ตี้ คำสั่งทดสอบที่กำหนดเป้าหมายไว้ หรือผลการรีวิวที่มีโครงสร้าง สามารถบันทึกไว้และรันซ้ำได้ การตรวจสอบเหล่านี้จึงกลายเป็นส่วนหนึ่งของเวิร์กโฟลว์ แทนที่จะเป็นความเห็นที่ใช้แล้วทิ้งซึ่งผูกอยู่กับคำตอบเพียงครั้งเดียว
เวลามากขึ้นสำหรับการตัดสินใจเชิงวิศวกรรม: การไล่ตามโค้ดและการเปรียบเทียบครั้งแรกแบบเครื่องจักรอาจใช้ความสนใจไปโดยไม่ได้ช่วยตัดสินใจในเรื่องสำคัญ การมอบหมายงานพื้นฐานเหล่านี้ออกไปช่วยให้นักพัฒนามีเวลามากขึ้นในการประเมินข้อแลกเปลี่ยน ตรวจสอบขอบเขตด้านความปลอดภัย และตัดสินว่าหลักฐานที่มีเพียงพอสำหรับการปล่อยใช้งานหรือไม่
ประโยชน์เหล่านี้จะทวีคูณขึ้นเมื่อทีมงานเก็บแผนผัง การตรวจสอบ และการตัดสินใจที่เป็นประโยชน์ไว้ใกล้กับโค้ด แต่จะหายไปหากทุกการโต้ตอบเริ่มต้นจากศูนย์ หรือหากยอมรับผลลัพธ์ที่สร้างขึ้นโดยไม่มีการตรวจสอบ
นำ AI ในการเขียนโปรแกรมไปใช้จริงด้วย Kimi Code
Kimi Code คือ AI Agent สำหรับการเขียนโค้ดที่ช่วยให้นักพัฒนาเขียน ดีบัก และจัดการโค้ดได้อย่างมีประสิทธิภาพมากขึ้นผ่านสภาพแวดล้อมแบบเทอร์มินัลและ IDE ต่างจากผู้ช่วยเขียนโค้ดพื้นฐานทั่วไป Kimi Code สามารถเข้าใจโค้ดเบสทั้งหมด วางแผนงาน สั่งรันคำสั่ง และจัดการเวิร์กโฟลว์ที่ซับซ้อนได้ ขับเคลื่อนด้วย Kimi K3 รองรับฟีเจอร์ต่างๆ เช่น การรีแฟกเตอร์หลายไฟล์ การดีบัก และระบบอัตโนมัติ เพื่อให้การพัฒนาซอฟต์แวร์ยุคใหม่ง่ายขึ้น
ฟีเจอร์หลักของ Kimi Code
การเขียนโค้ดด้วยภาษาธรรมชาติ: Kimi Code เปลี่ยนคำขอที่เขียนด้วยภาษาธรรมดาให้กลายเป็นการดำเนินการที่มีขอบเขตชัดเจน สามารถอัปเดตโค้ดที่มีอยู่ หรืออธิบายว่าตรรกะปัจจุบันทำงานอย่างไร สำหรับการเปลี่ยนแปลงที่กว้างขึ้น สามารถดำเนินการรีแฟกเตอร์ครอบคลุมไฟล์ที่เกี่ยวข้องได้
ความเข้าใจแบบรู้จักโค้ดเบส: Kimi Code อ่านไฟล์ในโปรเจกต์และติดตามการพึ่งพากันระหว่างโมดูลต่างๆ บริบทระดับรีพอสิทอรีนี้ช่วยให้ระบุเส้นทางการพัฒนาที่ถูกต้อง และหลีกเลี่ยงการสร้างโค้ดที่ไม่เชื่อมโยงกับสถาปัตยกรรมที่มีอยู่
ความเข้าใจบริบทแบบมัลติโมดัล: งานพัฒนาสามารถเริ่มต้นได้จากมากกว่าข้อกำหนดที่เป็นข้อความ Kimi Code สามารถใช้ภาพหน้าจอหรือข้อมูลอ้างอิงด้านการออกแบบเป็นบริบทของงาน ทำให้เชื่อมโยงปัญหาที่มองเห็นได้และข้อกำหนดของอินเทอร์เฟซเข้ากับโค้ดที่เกี่ยวข้องได้ง่ายขึ้น
การดีบักและตรวจสอบอย่างชาญฉลาด: Kimi Code เชื่อมโยงข้อความแสดงข้อผิดพลาดเข้ากับโค้ดที่อาจเป็นสาเหตุ สามารถตั้งสมมติฐานที่ทดสอบได้ รันการตรวจสอบที่เกี่ยวข้องในโปรเจกต์ และปรับปรุงการดำเนินการตามผลลัพธ์จริงของคำสั่ง
เวิร์กโฟลว์ของนักพัฒนาที่ปรับเปลี่ยนได้: Kimi Code ทำงานในเทอร์มินัลและรองรับการพัฒนาบน IDE ทีมงานสามารถบันทึกกระบวนการที่ทำซ้ำได้เป็น Skills เรียกใช้สคริปต์ภายในผ่าน Hooks หรือเชื่อมต่อบริการของโปรเจกต์ผ่าน MCP ปลั๊กอินช่วยให้การตั้งค่าทั้งหมดติดตั้งและแชร์ได้ง่ายขึ้น
รองรับงานระยะยาว: โหมด Plan ช่วยให้ Kimi Code เข้าใจงานที่ซับซ้อนก่อนที่ไฟล์จะถูกเปลี่ยนแปลง เวิร์กโฟลว์ที่อิงตามเป้าหมายช่วยให้ความคืบหน้าผูกติดกับผลลัพธ์ที่กำหนดไว้ ทำให้ Agent ดำเนินงานต่อไปได้ในหลายขั้นตอนโดยไม่หลุดจากเกณฑ์ความสำเร็จ
ประสิทธิภาพการพัฒนาที่สูงขึ้น: Kimi Code มีตัวเลือกโมเดลความเร็วสูงสำหรับงานที่เวลาตอบสนองมีความสำคัญ เมื่องานสามารถแบ่งออกเป็นสายงานที่เป็นอิสระจากกันได้ โหมด Swarm จะประสานงาน Sub-agent ให้ทำงานพร้อมกันและนำผลลัพธ์กลับมารวมในเวิร์กโฟลว์หลัก ช่วยลดเวลารอในงานเขียนโค้ดปกติ และเร่งการสำรวจโค้ดในโปรเจกต์ขนาดใหญ่
สิ่งที่ควรตรวจสอบก่อนยอมรับโค้ดที่สร้างโดย AI
โค้ดที่สร้างขึ้นอาจดูสมบูรณ์ก่อนที่จะพิสูจน์ได้ว่าถูกต้อง การควบคุมสี่ประการช่วยจับช่องว่างที่สำคัญที่สุดได้ โดยไม่ต้องเปลี่ยนทุกการแก้ไขที่ใช้ AI ให้กลายเป็นกระบวนการพิเศษ
ข้อกำหนดและขอบเขต: เปรียบเทียบ diff กับเกณฑ์การยอมรับที่เป็นอิสระ ยืนยันว่าพฤติกรรมที่ร้องขอปรากฏอยู่จริง และพฤติกรรมที่ไม่เกี่ยวข้องไม่ได้ถูกเปลี่ยนแปลง
ความเข้ากันได้กับรีพอสิทอรีและความปลอดภัย: ตรวจสอบเวอร์ชันที่ติดตั้ง กฎทางธุรกิจ การจัดการข้อมูล และขอบเขตสิทธิ์การเข้าถึง ตรวจสอบว่าล็อกและการตั้งค่าไม่เปิดเผยรายละเอียดที่ละเอียดอ่อน
หลักฐานที่เป็นอิสระ: รันการทดสอบและการตรวจสอบแบบสแตติกที่โปรเจกต์กำหนดไว้ เพิ่มกรณีทดสอบเฉพาะสำหรับขอบเขตที่อนุมานได้ และใช้การวัดผลสำหรับงานด้านประสิทธิภาพ
สิทธิ์การเข้าถึงและการควบคุมการปล่อยใช้งาน: ให้สิทธิ์การเข้าถึงแก่ Agent เท่าที่จำเป็นสำหรับงานนั้นๆ กำหนดให้ต้องขออนุมัติสำหรับคำสั่งที่มีผลกระทบสำคัญ และคงมาตรการป้องกันการดีพลอยตามปกติไว้
ความละเอียดในการตรวจสอบควรสอดคล้องกับต้นทุนของความล้มเหลว โปรโตไทป์ภายในขนาดเล็กกับการเปลี่ยนแปลงระบบยืนยันตัวตนไม่จำเป็นต้องใช้หลักฐานระดับเดียวกัน ผลลัพธ์ที่สร้างขึ้นจะกลายเป็นซอฟต์แวร์ได้ก็ต่อเมื่อนักพัฒนาที่รับผิดชอบตรวจสอบและการตรวจสอบที่เกี่ยวข้องผ่านแล้วเท่านั้น
บทสรุป
AI ในการเขียนโปรแกรมสามารถทำให้การทำงานของซอฟต์แวร์สอดคล้องกันมากขึ้น เมื่อมันเชื่อมโยงคำขอที่มีขอบเขตชัดเจนเข้ากับรีพอสิทอรีจริงและการตรวจสอบของมัน วงจรการพัฒนาซอฟต์แวร์ในภาพรวมก็ได้ประโยชน์เช่นกัน เมื่อข้อกำหนด แผนงาน และการตรวจสอบยังคงพร้อมใช้งานตลอดการส่งต่องาน นักพัฒนายังคงเป็นผู้ตัดสินใจว่าอะไรควรปล่อยใช้งานและหลักฐานใดเพียงพอ Kimi Code นำแนวทางที่ให้ความสำคัญกับการตรวจสอบก่อนนี้มาปฏิบัติจริงในเวิร์กโฟลว์ ผ่านเครื่องมือระดับรีพอสิทอรี การอนุมัติ โหมด Plan และจุดเริ่มต้นการใช้งานที่เหมาะกับทั้งเทอร์มินัลและตัวแก้ไขโค้ด
คำถามที่พบบ่อย
kimi ใช้ /init เพื่อสร้างไฟล์ AGENTS.md จากนั้นปรับปรุงไฟล์ด้วยแนวทางที่ตรงกับโปรเจกต์จริง เริ่มการเปลี่ยนแปลงขนาดใหญ่ในโหมด Plan ตรวจสอบการดำเนินการที่ร้องขอ และตรวจสอบ diff และผลลัพธ์ของคำสั่งทุกรายการก่อนยอมรับงาน