Amazon Q คืออะไร? ลองให้ AI ช่วย Platform Engineer เขียนโค้ดดู แล้วผลลัพธ์ก็เกินคาด!

ไทย

generate by AI

ในยุคนี้ที่ AI กลายเป็นส่วนหนึ่งของชีวิตประจำวันของทุกคน คงไม่แปลกใจที่คำว่า “AI” จะถูกพูดถึงบ่อยครั้ง ซึ่งเจ้า AI อัจฉริยะเหล่านี้ช่วยเพิ่มประสิทธิภาพและลดเวลาในการทำงานได้ และหนึ่งในเครื่องมือที่น่าสนใจในตอนนี้คือ Amazon Q Developer ซึ่งเป็น Generative AI ที่พัฒนาโดย AWS (Amazon Web Services) เพื่อตอบโจทย์ Developer โดยเฉพาะ

Amazon Q Developer คืออะไร?

Amazon Q Developer หรือที่เราเรียกกันสั้น ๆ ว่า Amazon Q เป็นเครื่องมือ Generative AI ที่พัฒนาโดย Amazon Web Services (AWS) ซึ่งทำหน้าที่เสมือน AI-Powered Code Assistant เพื่อช่วยให้การพัฒนาโพรเจกต์ต่าง ๆ เป็นไปอย่างราบรื่นและมีประสิทธิภาพมากยิ่งขึ้น โดยสามารถใช้งานร่วมกับ Code Editor ชั้นนำต่าง ๆ เช่น Visual Studio Code (VS Code) และ JetBrains IDEs (เช่น IntelliJ, PyCharm) ได้ง่าย ๆ ผ่านการติดตั้ง Plugin เพียงไม่กี่ขั้นตอน

สิ่งที่สำคัญคือ ผู้ใช้งานจะต้องมี บัญชี AWS Builder ID เพื่อใช้ในการ ล็อกอินผ่านโหมด Personal Profile ซึ่งเป็นขั้นตอนหลักในการเปิดใช้งาน Amazon Q Developer บนเครื่องของเรา

 

Amazon Q Developer มาพร้อมฟีเจอร์ที่ออกแบบมาเพื่อช่วยเหลือ Developer โดยเฉพาะ เช่น:

    • 🔍 Code Explanation: อธิบายโค้ดที่ซับซ้อนให้เข้าใจง่ายขึ้น
    • 🧪 Unit Test Generation: สร้าง unit test ให้โค้ดอัตโนมัติ
    • 🛠️ Bug Detection & Fix: ตรวจหาข้อผิดพลาดในโค้ดและเสนอแนวทางแก้ไข
    • 📚 Documentation Assistant: สร้างหรือแนะนำเอกสารประกอบโค้ด
    •  🔄 Code Refactoring: ช่วยปรับปรุงโครงสร้างโค้ดให้ดีขึ้นโดยไม่เปลี่ยน logic
    • 🤖 AI Chat: ถาม-ตอบแบบ Chatbot ที่เข้าใจบริบทของโค้ด

ซึ่งเราสามารถเรียกใช้งานได้ง่าย ๆ เพียงพิมพ์เครื่องหมาย / ในช่องแชตของ Amazon Q หรือจะใช้งานแบบ inline ภายใน IDE ก็ได้เช่นกัน เพื่อเข้าถึงฟีเจอร์ต่าง ๆ ระหว่างการเขียน code ได้อย่างสะดวกและรวดเร็ว

หลังจากที่ได้ลองใช้งาน Amazon Q มาซักระยะ ก็พบว่ามันสามารถทำหน้าที่เป็นเหมือนแหล่งค้นหาความรู้เกี่ยวกับบริการของ AWS ไม่ว่าจะเป็นเรื่องของ IAMVPC หรือบริการอื่น ๆ ที่เกี่ยวข้องกับงานในสาย Platform Engineering ได้อย่างรวดเร็วและเข้าใจง่าย
นอกจากนี้ Amazon Q ยังช่วยให้การเขียนโค้ดเป็นเรื่องง่ายขึ้นมาก ไม่ว่าจะเป็นการใช้ AWS SDK หรือการเขียน Infrastructure as Code ด้วย Terraform ก็ตาม

และในฐานะที่เป็น Platform Engineer คนหนึ่ง เราเองก็มีความสงสัยและอยากรู้ว่าเครื่องมือที่ออกแบบมาช่วยเหลือ Developer อย่าง Amazon Q จะนำมาปรับใช้กับงานในสาย Platform ได้มากน้อยแค่ไหน และจะช่วยในด้านใดได้บ้าง?

ประสบการณ์ใช้งาน: Amazon Q กับสายงาน Platform Engineering

เราต้องการทำ POC ในการ Integrate Azure AD กับ Jenkins ซึ่งอาจต้องมีการลบและสร้างเครื่องใหม่หลายครั้ง ทำให้เสียเวลาไปกับการติดตั้ง Jenkins และ Plugin ที่ต้องใช้งานทุกครั้ง ดังนั้น จึงอยากให้ Amazon Q ช่วย generate โค้ด Ansible สำหรับติดตั้ง Jenkins พร้อมกับ Plugin ที่ระบุเวอร์ชันที่ต้องการได้เอง เพื่อนำไปติดตั้งซ้ำได้อย่างรวดเร็วและมีประสิทธิภาพ

How we Tested

 

  1. เนื่องจากเราได้เรียนรู้และใช้งาน AI Code Assistant มาก่อน เลยจะทราบดีว่า สิ่งที่จะช่วยให้การทำงานง่ายขึ้นและตรงตามความต้องการมากที่สุด คือการเขียนไฟล์ markdown เพื่อใช้ในการสร้าง Prompt ที่ชัดเจน และนี่คือไฟล์ requirement-amazonq.md ซึ่งใช้ระบุสิ่งที่ต้องการให้ Amazon Q ช่วย Generate ให้

2. ใช้ Amazon Q ในการ generate โค้ด จาก markdownนี้ โดย Amazon Q จะสร้างโค้ดให้เรา พร้อมแนะนำวิธีการ รัน Ansible อย่างถูกต้อง

3. เราจะต้องปรับค่าบางอย่าง เช่น IP ของเครื่อง EC2, เวอร์ชันของ Jenkins และเวอร์ชันของ Plugin ที่ต้องการ จากนั้นจึงทดลองรัน Ansible

How it all turned out

ในการทดสอบครั้งแรกนั้น Ansible รันไม่สำเร็จ พบ Error: Unsupported parameters ใน Task Install Jenkins (ใช้โค้ดที่ได้จากการ Generate ของ Amazon Q โดยยังไม่ได้ปรับแก้ใด ๆ) สิ่งที่เราทำต่อมาคือ คัดลอก Error ที่พบไปถาม Amazon Q เพื่อให้ช่วย Troubleshoot และแก้ไขโค้ดให้

หลังจากแก้ไขโค้ดแล้ว เราได้ทำการรัน Ansible อีกครั้ง แต่พบปัญหาใหม่คือ Unzip: Command Not Found จึงนำ Error ดังกล่าวไปสอบถาม Amazon Q อีกครั้ง เพื่อให้ช่วย Generate โค้ดเพิ่มเติมให้

และเมื่อรันอีกครั้งก็พบว่า Ansible ทำงานสำเร็จในที่สุด! เราสามารถ ติดตั้ง Jenkins พร้อม Plugin ได้อย่างง่ายดาย ด้วย Ansible ที่ Amazon Q ช่วยเขียน แต่เมื่อเข้าไปตรวจสอบความถูกต้องที่หน้า Jenkins ก็พบว่าเอ่..🤔 ทำไม Plugin Version ที่ติดตั้งไม่ตรงกับที่เราระบุเอาไว้ โดย Version ที่ได้เป็น Version ล่าสุดของ Plugin ซึ่ง Ansible ที่เราใช้ก็มีโค้ดส่วนที่ให้ระบุ Version ของ Plugin แล้ว แต่ผลลัพธ์ยังไม่ถูกต้องตามที่เราต้องการ จึงนำสิ่งนี้ไปสอบถาม Amazon Q ให้ช่วย Review และ Update โค้ดส่วนที่ระบุ Version อีกครั้ง หลังจากนั้นจึงทำการรัน Ansible จนกระทั่งใช้งานได้ตรงตามที่ต้องการในที่สุด🥳

Amazon Q กับบทบาทของ AI ที่เป็นมากกว่าแค่ผู้ช่วย

จากการทดลองใช้ Amazon Q ในครั้งนี้ ทุกคนคงจะเห็นถึงความสามารถของ Amazon Q ไม่ว่าจะเป็นการช่วย Generate โค้ดเบื้องต้นได้อย่างรวดเร็ว การปรับแต่งและแก้ไขโค้ด เพื่อให้บรรลุวัตถุประสงค์ของเราได้ พร้อมทั้งให้คำแนะนำในด้านต่าง ๆ ได้เป็นอย่างดี และที่สำคัญคือสามารถเป็นคู่หูในการทำงานสาย DevOps หรือ Platform ได้อย่างมีประสิทธิภาพอีกด้วย

 

นอกจากนี้ หากเราเขียน Prompt ที่มีความละเอียดและชัดเจนมากขึ้น Amazon Q ก็จะช่วยทำงานได้ อย่างแม่นยำและตรงตามความต้องการได้มากยิ่งขึ้น

Amazon Q จึงไม่ได้เป็นเพียงผู้ช่วยด้านโค้ด แต่คือ “AI partner” อีกคน ที่พร้อมช่วยเราทำงานได้เร็วและง่ายขึ้นด้วย

หวังว่าบทความนี้ จะทำให้ทุกคนรู้จักเพื่อนใหม่อย่าง Amazon Q ก่อนที่จะไปเจอกันในงาน AWS Summit Bangkok 2025 นะ!

สุดท้ายนี้หากองค์กรท่านกำลังมองหาโซลูชันด้าน DevOps ที่ช่วยปรับรูปแบบการทำงานให้เป็นอัตโนมัติ ลดต้นทุนการทำธุรกิจ SCB TechX พร้อมเป็นโซลูชันที่ช่วยพัฒนา และ Deliver ผลิตภัณฑ์และบริการออกสู่ตลาด ต่อยอดองค์กรของท่านให้เติบโตอย่างยั่งยืน โปรดติดต่อเราที่ https://forms.office.com/r/P14E9tNGFD

Reference:

  • https://docs.aws.amazon.com/signin/latest/userguide/sign-in-aws_builder_id.html
  • https://aws.amazon.com/q/developer/
  • https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/what-is.html

Related Content

  • ทั้งหมด
  • Blogs
  • Insights
  • News
  • Uncategorized
    •   Back
    • Careers
    • Data Science
    • Lifestyle
    • Product
    • Strategy
    • Technology
    • User Experience
    • xPlatform
    • DevOps
    •   Back
    • PointX Products
    • Events
    • Others
    • Leadership
    • Partnership
    • Services & Products
    • Joint ventures
    •   Back
    • Blockchain
    • Finance
    • Tech innovation

Your consent required

If you want to message us, please give your consent to SCB TechX to collect, use, and/or disclose your personal data.

| การเพิกถอนความยินยอม

หากคุณต้องการเพิกถอนการให้ความยินยอมในการเก็บรวบรวม ใช้ และ/หรือเปิดเผยข้อมูลส่วนบุคคล กรุณาส่งคำร้องหาเรา

Vector

Message sent

We have receive your message and We will get back to you shortly.