จาก Swift สู่ Java Script ลิงก์ไปยังหัวข้อ
จำโปรเจกต์เก่านั้นได้ไหม? โปรเจกต์ที่ผมใช้เวลาเล่นกับ Swift ในปี 2023 พยายามสร้างเกมง่ายๆ เกี่ยวกับสมดุลชีวิตการทำงาน? มันเป็นไอเดียที่สนุกเพื่อแสดงให้เห็นว่าสิ่งต่างๆ สามารถผิดพลาดได้ง่ายเพียงใดเมื่อมีตัวเลือกเพียงไม่กี่อย่าง แต่เหมือนกับโปรเจกต์ข้างเคียงหลายๆ โปรเจกต์ มันถูกทิ้งไปเพราะข้อจำกัดด้านเวลา และพูดตามตรงคือขาดเครื่องมือ GenAI ที่แข็งแกร่งในตอนนั้น
ข้ามมาถึงวันนี้ ผมตัดสินใจฟื้นฟูแนวคิดนั้นอีกครั้ง แต่มีการเปลี่ยนแปลงเล็กน้อย ครั้งนี้ผมจะใช้พลังของ Amazon Q CLI และตั้งเป้าหมายไปที่การใช้งาน Node.js/TypeScript ทำไมถึงเปลี่ยน? เพราะความเรียบง่ายและความสะดวกในการดีพลอยไปยัง AWS cloud เป้าหมายของผมคือ “ประสบการณ์การเขียนโค้ดที่เต็มไปด้วยบรรยากาศ 100%” – หมายความว่าผมจะปล่อยให้ Amazon Q ทำงานหนักแทน ไม่ต้องแก้ไขโค้ดด้วยมือ แค่สั่งงานกับ Q
ผมเริ่มโดยการป้อนโปรเจกต์ Swift เก่าและโน้ตต่างๆ ให้กับ Q ขอให้มันแปลงเกมเป็น JavaScript
ผลลัพธ์เริ่มแรกน่าประทับใจ Q สามารถพอร์ตตรรกะหลักไปยัง JavaScript ได้ มีแค่ไม่กี่บรรทัดโค้ดในโปรเจกต์ Swift นั้น แต่ Amazon Q สามารถเข้าใจงานและเตรียมแอปพลิเคชันที่แตกต่างอย่างสิ้นเชิง นี่ไม่ใช่แค่การอัปเกรด Java 8 เป็น Java 18 แบบ “มาตรฐาน” แต่เป็นการย้ายแพลตฟอร์มจาก macOS ไปยัง Web Application
ต่อไป ผมมอบหมายให้ Q เพิ่มการทดสอบ มันสำคัญที่ Q จะต้องสามารถรันโค้ด ตรวจจับปัญหา และแก้ไขได้ ผมมักจะแนะนำให้ปล่อยให้เครื่องมือ GenAI สามารถทดสอบโค้ดของตัวเองได้
และนี่คือการย้ายไปยัง JavaScript ที่เสร็จสมบูรณ์โดย Amazon Q ดูเหมือนจะพื้นฐาน แต่โค้ดทั้งหมดถูกย้าย และที่สำคัญกว่านั้นคือการบูตสแตรปโปรเจกต์ ผมไม่ต้องเสียเวลาเตรียมสภาพแวดล้อมการพัฒนา
เมื่อเกมพื้นฐานถูกพอร์ตแล้ว ก็ถึงเวลาสำหรับฟีเจอร์ใหม่ๆ
ToDo.md เป็นการสื่อสารสองทาง ลิงก์ไปยังหัวข้อ
ในขณะที่ Q กำลังประมวลผล ผมเริ่มไฟล์ todo.md
เพื่อจัดคิวคำสั่งและไอเดียเพิ่มเติม AI สามารถอ่านไฟล์ได้ใช่ไหม? ทั้งหมดนี้เป็นเพราะ MCP ที่ฝังอยู่ใน Q CLI
เราสามารถพบชุดเครื่องมือพื้นฐานได้ที่: https://github.com/aws/amazon-q-developer-cli/blob/main/crates/cli/src/cli/chat/tools/fs_read.rs
โอ้ ผมอาจลืมบอกไป แต่ใช่แล้ว Amazon Q Developer CLI เป็นโอเพนซอร์ส
อีกส่วนสำคัญคือชุดเซิร์ฟเวอร์ MCP ซึ่งถ้าคุณสนใจสามารถดูได้ที่ นี่
มันดีกว่าที่จะบอก Q CLI ให้ใช้ไฟล์ todo.md
นี้ เพราะเครื่องมือเหล่านี้เข้าใจยากว่าเนื้อหาใดในรีโพสิตอรีที่ต้องประมวลผล ฐานโค้ดอาจจะใหญ่
ช่วงเวลาที่น่าตื่นเต้น “อ้า-ฮ่า” Q เริ่มเสนอไอเดียของมันและเพิ่มลงในไฟล์ todo.md
นี่สร้างช่องทางการสื่อสารสองทางที่เจ๋งมาก ทั้งหมดอยู่ในไฟล์ markdown ง่ายๆ คุณรู้ไหม ตอนนี้เรายังไม่สามารถพูดคุยกับ CLI Tool ได้ แต่เราสามารถอ่านและเขียนไฟล์ข้อความได้ทั้งสองทาง
เรายังได้เช็คลิสต์ที่ทำงานในรายการสิ่งที่ต้องทำ และ Q ฉลาดพอที่จะเข้าใจและทำเครื่องหมายรายการที่เสร็จแล้ว การเขียนโค้ดแบบโต้ตอบแบบนี้น่าทึ่งมาก
การดีพลอยไปยัง AWS Amplify ลิงก์ไปยังหัวข้อ
เมื่อการพัฒนาดำเนินไปอย่างราบรื่น ขั้นตอนถัดไปที่สมเหตุสมผลคือการดีพลอย ผมตัดสินใจแกล้งทำเป็นไม่คุ้นเคยกับ AWS และถาม Q เพื่อขอคำแนะนำในการดีพลอยแอป
Q แนะนำ AWS Amplify และกระบวนการนั้นง่ายอย่างน่าประหลาดใจ การเชื่อมต่อกับ GitHub ง่ายมาก
การตั้งค่าพื้นฐานของแอปใน Amplify ก็แค่ไม่กี่คลิก
และแอปก็ถูกดีพลอยเรียบร้อย พร้อมฟีเจอร์ใหม่ๆ Amplify ดูแลกระบวนการ build ทั้งหมด จึงไม่ต้องตั้งค่า CI/CD ด้วยมือ
ส่วนที่น่าทึ่งที่สุด? แม้แต่ข้อความ commit ก็ถูกสร้างโดย AI!
ประสบการณ์ทั้งหมดนี้แสดงให้เห็นว่า Amazon Q CLI มากกว่าการเป็นแค่ส่วนติดต่อแชท มันสามารถเป็นพันธมิตรที่ทรงพลังในวงจรชีวิตการพัฒนา ตั้งแต่การเขียนโค้ด การทดสอบ การดีพลอย ไปจนถึงการจัดการโปรเจกต์ นี่คือภาพรวมของยุคใหม่ของการพัฒนาซอฟต์แวร์
เกมนั้นอยู่ที่นี่: https://timetectonic.cageyv.dev/
เป้าหมายหลักของผมคือการลองพฤติกรรมอัตโนมัติของ Q และความสามารถในการปฏิบัติตามคำสั่งและทำงานที่ไม่ได้อธิบายไว้อย่างชัดเจน
สรุป ลิงก์ไปยังหัวข้อ
- Amazon Q Developer CLI สามารถนำพฤติกรรมแบบ agentic มาสู่เทอร์มินัลอย่างอิสระจากแอปพลิเคชัน
- เป็นความก้าวหน้าครั้งใหญ่ตั้งแต่ยุค CodeWhisperer
- เครื่องมือที่ฝังมาในตัวช่วยได้มากและให้ agent สามารถรันคำสั่งได้หลายอย่าง
- Amazon Q Developer CLI ยังสามารถ: ดีบักปัญหาใน AWS, ตรวจสอบล็อก และ S3 buckets ด้วยการเข้าถึง AWS API ซึ่งเป็นเครื่องมือที่ทรงพลังมาก