שיפור Amazon Q CLI עם MCP

הנוף של פיתוח תוכנה מתפתח כל הזמן, כאשר מפתחים מחפשים כלים שלא רק מייעלים את זרימות העבודה שלהם אלא גם מגדילים את היכולות שלהם. בסביבה דינמית זו, Amazon Web Services (AWS) הציגה שיפור משמעותי לכלי Amazon Q Developer שלה: תמיכה בפרוטוקול הקשר מודל (MCP) בממשק שורת הפקודה (CLI). שילוב זה מעצים מפתחים לחבר מקורות נתונים חיצוניים ל-Amazon Q Developer CLI, ומאפשר תגובות מודעות הקשר וחכמות יותר. על ידי שילוב חלק של כלי MCP והנחיות לתוך ה-Q Developer CLI, מפתחים מקבלים גישה למערכת אקולוגית עצומה של שילובים מובנים מראש ושרתי MCP התומכים ב-stdio. הקשר עשיר זה מאפשר ל-Q Developer ליצור קוד מדויק יותר, להבין מבני נתונים מורכבים, ליצור בדיקות יחידות רלוונטיות, להפיק תיעוד מקיף למסד נתונים ולהפעיל שאילתות מדויקות, והכל ללא הנטל של פיתוח קוד שילוב מותאם אישית. על ידי הרחבת Q Developer עם כלי MCP והנחיות, מפתחים יכולים להאיץ משימות פיתוח ולשפר משמעותית את חוויית המפתח הכוללת. AWS מחויבת לתמוך בפרוטוקולים בקוד פתוח עבור סוכנים, כגון פרוטוקול הקשר מודל (MCP) שאותו מובילה Anthropic. מחויבות זו באה לידי ביטוי בהרחבה המתמשכת של פונקציונליות בתוך תוספי Amazon Q Developer IDE.

מבוא לפרוטוקול הקשר מודל (MCP)

בתחום המתפתח תמיד של פיתוח תוכנה, כלים וטכנולוגיות המייעלים את זרימות העבודה ופותחים יכולות חדשות מבוקשים מאוד. התוספת האחרונה של תמיכה בפרוטוקול הקשר מודל (MCP) בממשק שורת הפקודה (CLI) של Amazon Q Developer היא פיתוח הטומן בחובו הבטחה עצומה. MCP הוא פרוטוקול פתוח המתקנן כיצד יישומים משתלבים בצורה חלקה עם מודלי שפה גדולים (LLMs), ומספק מסגרת משותפת לשיתוף הקשר, גישה למקורות נתונים מגוונים ומאפשר פונקציונליות חזקה המונעת על ידי בינה מלאכותית. MCP משמש כגשר בין יישומים לבין LLMs, ומאפשר להם לתקשר ולשתף פעולה ביעילות. הוא מאפשר ליישומים לספק ל-LLMs את ההקשר שהם צריכים כדי לבצע משימות בצורה מדויקת ויעילה, ובמקביל מאפשר ל-LLMs לגשת ולהשתמש בנתונים ממקורות שונים.

MCP נבנה על היכולות הקיימות של Q Developer, שכבר יש לו את היכולת להשתמש בכלים. בעבר, Q Developer הציע פונקציות כגון הפעלת פקודות CLI ותיאור משאבי AWS. עם השילוב של כלי MCP והנחיות, ה-Q Developer CLI מקבל את היכולת לשלב כלים נוספים, ולהרחיב עוד יותר את היכולות שלו. לדוגמה, בעוד ש-Q Developer יכול היה בעבר לתאר משאבי AWS, היכולת לתאר סכימות מסד נתונים ופורמטי הודעות חיונית לבניית יישומים מקיפים. על ידי הגדרת MCP, מפתחים יכולים לספק הקשר נוסף זה ל-Q Developer, ולאפשר לו לבצע משימות בצורה יעילה יותר.

בסעיפים הבאים, נחקור כיצד להגדיר שרת MCP כדי לספק ל-Q Developer את סכימת מסד הנתונים עבור מערכת ניהול למידה (LMS) פשוטה שנמצאת כעת בפיתוח. בעוד ש-Q Developer מצטיין בכתיבת שאילתות SQL, אין לו ידע מובנה בסכימת מסד הנתונים. מבנה הטבלה והקשרים מאוחסנים בתוך מסד הנתונים עצמו ואינם נגישים ישירות בתוך קוד המקור של הפרויקט. כדי לטפל במגבלה זו, נשתמש בשרת MCP המסוגל לשאול את סכימת מסד הנתונים. באופן ספציפי, נמנף את יישום ההפניה הרשמי של PostgreSQL כדי להתחבר למופע Amazon Relational Database Service (RDS).

הנוף לפני פרוטוקול הקשר מודל

לפני הופעתה של תמיכת MCP, ה-Q Developer CLI סיפק קבוצה מוגבלת של כלים מקוריים, כולל היכולת לבצע פקודות bash, ליצור אינטראקציה עם קבצים ומערכת הקבצים ולבצע קריאות לשירותי AWS. עם זאת, בכל הנוגע לשאילתת מסדי נתונים, היכולות של ה-CLI היו מוגבלות.

כדוגמה, לפני הגדרת שרת ה-MCP, הוגשה בקשה ל-Q Developer ל’כתוב שאילתה המפרטת את הסטודנטים ואת מספר הנקודות זכות שכל סטודנט לוקח’. בתרחיש זה, Q Developer יכול היה לספק רק שאילתת SQL גנרית, מכיוון שלא היה לו ידע ספציפי על סכימת מסד הנתונים עבור ה-LMS.