Tăng Cường Amazon Q Developer CLI với MCP

Tăng Cường Amazon Q Developer CLI với Giao Thức Ngữ Cảnh Mô Hình (MCP) để Hiểu Ngữ Cảnh Nâng Cao

Bối cảnh phát triển phần mềm không ngừng phát triển, với các nhà phát triển tìm kiếm các công cụ không chỉ hợp lý hóa quy trình làm việc của họ mà còn tăng cường khả năng của họ. Trong môi trường năng động này, Amazon Web Services (AWS) đã giới thiệu một cải tiến đáng kể cho công cụ Amazon Q Developer của mình: Hỗ trợ Giao Thức Ngữ Cảnh Mô Hình (MCP) trong giao diện dòng lệnh (CLI). Sự tích hợp này cho phép các nhà phát triển kết nối các nguồn dữ liệu bên ngoài với Amazon Q Developer CLI, cho phép các phản hồi nhận biết ngữ cảnh và thông minh hơn. Bằng cách tích hợp liền mạch các công cụ và lời nhắc MCP vào Q Developer CLI, các nhà phát triển có được quyền truy cập vào một hệ sinh thái rộng lớn gồm các tích hợp dựng sẵn và Máy chủ MCP hỗ trợ stdio. Ngữ cảnh phong phú này cho phép Q Developer tạo ra mã chính xác hơn, hiểu các cấu trúc dữ liệu phức tạp, tạo các bài kiểm tra đơn vị phù hợp, tạo ra tài liệu cơ sở dữ liệu toàn diện và thực hiện các truy vấn chính xác, tất cả mà không cần gánh nặng phát triển mã tích hợp tùy chỉnh. Bằng cách mở rộng Q Developer với các công cụ và lời nhắc MCP, các nhà phát triển có thể tăng tốc các tác vụ phát triển và nâng cao đáng kể trải nghiệm nhà phát triển tổng thể. AWS cam kết hỗ trợ các giao thức nguồn mở cho các tác nhân, chẳng hạn như Giao Thức Ngữ Cảnh Mô Hình (MCP) do Anthropic đề xuất. Cam kết này được phản ánh trong việc liên tục mở rộng chức năng trong các plugin Amazon Q Developer IDE.

Giới Thiệu về Giao Thức Ngữ Cảnh Mô Hình (MCP)

Trong lĩnh vực phát triển phần mềm không ngừng phát triển, các công cụ và công nghệ hợp lý hóa quy trình làm việc và mở khóa các khả năng mới được tìm kiếm rất nhiều. Việc bổ sung gần đây hỗ trợ Giao Thức Ngữ Cảnh Mô Hình (MCP) trong giao diện dòng lệnh (CLI) của Amazon Q Developer là một sự phát triển đầy hứa hẹn. MCP là một giao thức mở tiêu chuẩn hóa cách các ứng dụng tích hợp liền mạch với Mô hình Ngôn Ngữ Lớn (LLM), cung cấp một khung chung để chia sẻ ngữ cảnh, truy cập các nguồn dữ liệu đa dạng và cho phép chức năng hỗ trợ AI mạnh mẽ. MCP đóng vai trò là cầu nối giữa các ứng dụng và LLM, cho phép chúng giao tiếp và cộng tác hiệu quả. Nó cho phép các ứng dụng cung cấp cho LLM ngữ cảnh mà chúng cần để thực hiện các tác vụ một cách chính xác và hiệu quả, đồng thời cho phép LLM truy cập và sử dụng dữ liệu từ nhiều nguồn khác nhau.

MCP xây dựng dựa trên các khả năng hiện có của Q Developer, vốn đã có khả năng sử dụng các công cụ. Trước đây, Q Developer cung cấp các chức năng như chạy các lệnh CLI và mô tả các tài nguyên AWS. Với việc tích hợp các công cụ và lời nhắc MCP, Q Developer CLI có được khả năng kết hợp các công cụ bổ sung, mở rộng hơn nữa các khả năng của nó. Ví dụ: trong khi Q Developer trước đây có thể mô tả các tài nguyên AWS, thì khả năng mô tả lược đồ cơ sở dữ liệu và định dạng tin nhắn là rất cần thiết để xây dựng các ứng dụng toàn diện. Bằng cách định cấu hình MCP, các nhà phát triển có thể cung cấp ngữ cảnh bổ sung này cho Q Developer, cho phép nó thực hiện các tác vụ hiệu quả hơn.

Trong các phần sau, chúng ta sẽ khám phá cách định cấu hình máy chủ MCP để cung cấp cho Q Developer lược đồ cơ sở dữ liệu cho một Hệ Thống Quản Lý Học Tập (LMS) đơn giản hiện đang được phát triển. Mặc dù Q Developer vượt trội trong việc viết các truy vấn SQL, nhưng nó thiếu kiến thức vốn có về lược đồ cơ sở dữ liệu. Cấu trúc bảng và các mối quan hệ được lưu trữ bên trong chính cơ sở dữ liệu và không thể truy cập trực tiếp trong mã nguồn của dự án. Để giải quyết hạn chế này, chúng ta sẽ sử dụng một máy chủ MCP có khả năng truy vấn lược đồ cơ sở dữ liệu. Cụ thể, chúng ta sẽ tận dụng triển khai tham chiếu PostgreSQL chính thức để kết nối với một phiên bản Amazon Relational Database Service (RDS).

Bối Cảnh Trước Giao Thức Ngữ Cảnh Mô Hình

Trước khi có sự ra đời của hỗ trợ MCP, Q Developer CLI cung cấp một tập hợp các công cụ gốc hạn chế, bao gồm khả năng thực thi các lệnh bash, tương tác với các tệp và hệ thống tệp và thực hiện các lệnh gọi đến các dịch vụ AWS. Tuy nhiên, khi nói đến việc truy vấn cơ sở dữ liệu, khả năng của CLI bị hạn chế.

Ví dụ: trước khi định cấu hình máy chủ MCP, một yêu cầu đã được gửi đến Q Developer để “Viết một truy vấn liệt kê các sinh viên và số lượng tín chỉ mà mỗi sinh viên đang học”. Trong kịch bản này, Q Developer chỉ có thể cung cấp một truy vấn SQL chung, vì nó thiếu kiến thức cụ thể về lược đồ cơ sở dữ liệu cho LMS.

Mặc dù truy vấn chung này đóng vai trò là điểm khởi đầu, nhưng rõ ràng là Q Developer có thể cung cấp các kết quả phù hợp và chính xác hơn nhiều với quyền truy cập vào lược đồ cơ sở dữ liệu.

Định Cấu Hình Giao Thức Ngữ Cảnh Mô Hình: Hướng Dẫn Từng Bước

Việc giới thiệu hỗ trợ MCP trong Q Developer CLI giúp đơn giản hóa việc định cấu hình các máy chủ MCP. Các máy chủ MCP được định cấu hình trong một tệp có tên mcp.json. Tệp cấu hình này có thể được lưu trữ trong thư mục chính (ví dụ: ~/.aws/amazonq/mcp.json), áp dụng cấu hình cho tất cả các dự án trên máy hoặc trong thư mục gốc của không gian làm việc (ví dụ: .amazonq/mcp.json), cho phép các thành viên dự án chia sẻ cấu hình. Dưới đây là một ví dụ về cấu hình cho máy chủ PostgreSQL MCP: