การแนะนำ Model Context Protocol (MCP)
ในขอบเขตของการพัฒนาซอฟต์แวร์ที่มีการพัฒนาอย่างต่อเนื่อง เครื่องมือและเทคโนโลยีที่ปรับปรุงขั้นตอนการทำงานและปลดล็อกความสามารถใหม่ ๆ เป็นที่ต้องการอย่างมาก การเพิ่มการสนับสนุน Model Context Protocol (MCP) เมื่อเร็ว ๆ นี้ในอินเทอร์เฟซบรรทัดคำสั่ง Amazon Q Developer (CLI) เป็นการพัฒนาที่มีแนวโน้มอย่างมาก MCP เป็นโปรโตคอลแบบเปิดที่กำหนดมาตรฐานว่าแอปพลิเคชันผสานรวมกับ Large Language Models (LLMs) ได้อย่างราบรื่นอย่างไร โดยจัดหาเฟรมเวิร์กทั่วไปสำหรับการแบ่งปันบริบท การเข้าถึงแหล่งข้อมูลที่หลากหลาย และการเปิดใช้งานฟังก์ชันการทำงานที่ขับเคลื่อนด้วย AI ที่มีประสิทธิภาพ MCP ทำหน้าที่เป็นสะพานเชื่อมระหว่างแอปพลิเคชันและ LLMs ทำให้สามารถสื่อสารและทำงานร่วมกันได้อย่างมีประสิทธิภาพ ช่วยให้แอปพลิเคชันให้บริบทที่ LLMs ต้องการเพื่อทำงานได้อย่างแม่นยำและมีประสิทธิภาพ ขณะเดียวกันก็อนุญาตให้ LLMs เข้าถึงและใช้ข้อมูลจากแหล่งต่าง ๆ
MCP สร้างขึ้นจากความสามารถที่มีอยู่ของ Q Developer ซึ่งมีความสามารถในการใช้เครื่องมืออยู่แล้ว ก่อนหน้านี้ Q Developer นำเสนอฟังก์ชันการทำงาน เช่น การเรียกใช้คำสั่ง CLI และการอธิบายทรัพยากร AWS ด้วยการรวมเครื่องมือและพรอมต์ MCP ทำให้ Q Developer CLI สามารถรวมเครื่องมือเพิ่มเติมได้ ซึ่งเป็นการขยายความสามารถมากยิ่งขึ้น ตัวอย่างเช่น ในขณะที่ Q Developer สามารถอธิบายทรัพยากร AWS ได้ก่อนหน้านี้ ความสามารถในการอธิบายสคีมาฐานข้อมูลและรูปแบบข้อความเป็นสิ่งจำเป็นสำหรับการสร้างแอปพลิเคชันที่ครอบคลุม เมื่อกำหนดค่า MCP นักพัฒนาสามารถให้บริบทเพิ่มเติมนี้แก่ Q Developer ทำให้สามารถทำงานได้อย่างมีประสิทธิภาพมากขึ้น
ในส่วนต่อไปนี้ เราจะสำรวจวิธีการกำหนดค่าเซิร์ฟเวอร์ MCP เพื่อให้ Q Developer มีสคีมาฐานข้อมูลสำหรับ Learning Management System (LMS) อย่างง่ายที่กำลังอยู่ระหว่างการพัฒนา ในขณะที่ Q Developer มีความสามารถในการเขียนคิวรี SQL ที่ยอดเยี่ยม แต่ขาดความรู้โดยธรรมชาติเกี่ยวกับสคีมาฐานข้อมูล โครงสร้างตารางและความสัมพันธ์จะถูกจัดเก็บไว้ในฐานข้อมูลเองและไม่สามารถเข้าถึงได้โดยตรงภายในซอร์สโค้ดของโปรเจ็กต์ เพื่อแก้ไขข้อจำกัดนี้ เราจะใช้เซิร์ฟเวอร์ MCP ที่สามารถสอบถามสคีมาฐานข้อมูลได้ โดยเฉพาะอย่างยิ่ง เราจะใช้ประโยชน์จากการใช้งานอ้างอิง PostgreSQL อย่างเป็นทางการเพื่อเชื่อมต่อกับอินสแตนซ์ Amazon Relational Database Service (RDS)
ภูมิทัศน์ก่อน Model Context Protocol
ก่อนที่จะมีการสนับสนุน MCP นั้น Q Developer CLI ได้ให้ชุดเครื่องมือดั้งเดิมที่จำกัด รวมถึงความสามารถในการรันคำสั่ง bash โต้ตอบกับไฟล์และระบบไฟล์ และทำการเรียกไปยังบริการ AWS อย่างไรก็ตาม เมื่อพูดถึงการสืบค้นฐานข้อมูล ความสามารถของ CLI ถูกจำกัด
ตัวอย่างเช่น ก่อนที่จะกำหนดค่าเซิร์ฟเวอร์ MCP มีการร้องขอไปยัง Q Developer เพื่อ “เขียนคิวรีที่แสดงรายชื่อนักเรียนและจำนวนหน่วยกิตที่นักเรียนแต่ละคนกำลังเรียนอยู่” ในสถานการณ์นี้ Q Developer สามารถให้คิวรี SQL ทั่วไปได้เท่านั้น เนื่องจากขาดความรู้เฉพาะเกี่ยวกับสคีมาฐานข้อมูลสำหรับ LMS
แม้ว่าคิวรีทั่วไปนี้จะเป็นจุดเริ่มต้น แต่ก็เห็นได้ชัดว่า Q Developer สามารถให้ผลลัพธ์ที่ปรับแต่งและแม่นยำยิ่งขึ้นได้ด้วยการเข้าถึงสคีมาฐานข้อมูล
การกำหนดค่า Model Context Protocol: คู่มือทีละขั้นตอน
การแนะนำการสนับสนุน MCP ใน Q Developer CLI ทำให้การกำหนดค่าเซิร์ฟเวอร์ MCP ง่ายขึ้น เซิร์ฟเวอร์ MCP ได้รับการกำหนดค่าภายในไฟล์ที่ชื่อ mcp.json
ไฟล์การกำหนดค่านี้สามารถจัดเก็บได้ทั้งในไดเร็กทอรีบ้าน (เช่น ~/.aws/amazonq/mcp.json
) โดยใช้การกำหนดค่ากับทุกโปรเจ็กต์บนเครื่อง หรือในรูทของพื้นที่ทำงาน (เช่น .amazonq/mcp.json
) ทำให้สมาชิกโปรเจ็กต์สามารถแบ่งปันการกำหนดค่าได้ ด้านล่างนี้คือตัวอย่างการกำหนดค่าสำหรับเซิร์ฟเวอร์ PostgreSQL MCP: