Поделиться через


Лучшие практики для GitHub Copilot в SQL Server Management Studio (Предварительный просмотр)

GitHub Copilot в SQL Server Management Studio (SSMS) повышает вашу продуктивность внутри рабочего процесса SSMS, включая написание и редактирование Transact-SQL (T-SQL). Чтобы получить большую часть от GitHub Copilot в SSMS, вы должны узнать, как эффективно работать с ним. Как и любой партнер, GitHub Copilot в SSMS лучше функционирует, если заданы четкое направление и соответствующий контекст. Оптимальное использование окна чата также повышает качество работы с GitHub Copilot в SSMS.

Окно чата

Значки и возможности окна чата описаны в разделе "Использование интерфейса чата GitHub Copilot" в SQL Server Management Studio (предварительная версия), но существуют и другие рекомендации, связанные с запросами.

В первую очередь не рассматривайте окно чата как окно результатов. Когда вы задаёте GitHub Copilot вопросы о схеме или данных, он может напрямую выполнить запрос для возврата информации в окне чата. GitHub Copilot в SSMS не определяет количество строк, возвращаемых запросом перед его выполнением, и если запрос возвращает 1000 строк, он пытается отобразить эти сведения в чате. Большие результирующие наборы не легко читаются и не могут управляться в окне чата.

Запрос к GitHub Copilot в SSMS, чтобы составить запрос для получения информации, часто предпочитается, так как создает лучшее взаимодействие и опыт работы с GitHub Copilot.

Согласованность

Общее разочарование среди пользователей сопилотов — непоследовательность ответов. Ответы искусственного интеллекта могут быть несогласованными, так как они создаются вероятностно, а не детерминированно. Это означает, что даже при появлении того же вопроса модель может выбрать другую, но по-прежнему правдоподобную, набор слов или структуру предложений на основе тонких вариаций в контексте, конфигурации или внутренней случайности. Кроме того, модели искусственного интеллекта весят множество потенциальных интерпретаций запроса, поэтому небольшие изменения в фразе или времени могут привести к разным результатам. Эта изменчивость является частью того, что делает ИИ таким гибким и мощным, но также может привести к непредсказуемым результатам, если запросы не создаются оптимально.

Написание запроса

Работа с ИИ подразумевает написание запросов, и, как настройка производительности, это искусство и наука. Вам не нужно быть инженером запросов, чтобы написать хорошие запросы. Но при взаимодействии с ИИ необходимо учитывать общие рекомендации.

Например, если вы спросите Find the hottest tables in the database, GitHub Copilot в SSMS может не понять, что в контексте этого запроса самые горячие таблицы — это те таблицы, которые являются самыми загруженными или наиболее активными. Вместо этого попробуйте List the top 10 tables in the database that have the most reads.

Общие рекомендации по написанию запросов:

Recommendation Сведения
Использование естественного языка Вам не нужно использовать специализированный словарь, но старайтесь избежать неофициальных фраз, сленга и жаргона.
Будьте четкими и конкретными Предоставьте достаточно подробных сведений, чтобы GitHub Copilot ясно понимал, о чем вы спрашиваете.
Предоставление контекста GitHub Copilot в SSMS имеет контекст подключения и базы данных на основе подключения редактора запросов, но вы можете предоставить дополнительный контекст, например интервал времени или определенные объекты базы данных.
Использование примеров Строить на предыдущих ответах, таких как Modify the last query to order the results by CustomerID.
Определение формата выходных данных GitHub Copilot может предоставлять сведения в формате текста, таблицы или списка. Он выбирает за вас, но вы можете специально запросить возврат информации в нужном формате.

Примеры запросов:

Recommendation Избегайте Пробное использование
Использование естественного языка Yo cook me up something cool for grabbing sales data Write a SQL query that selects the top 10 most recent orders from the Sales.Orders table
Будьте четкими и конкретными Okay, so I've got this thing where I need to maybe get some kind of report or output or whatever for yesterday's stuff but like only for users that are new but not too new, if that makes sense Write a query to return users who registered yesterday and have not yet made a purchase
Предоставление контекста List western schools with no language reqs List schools in the US-West geo that have a lang_req value of 0
Использование примеров Write a query to get recent customer info Write a query to get customer ID, name, and total number of orders for the last 10 business days ordered by total desc
Определение формата выходных данных Give me hospital locations and size with the busiest emergency rooms List the hospitals with the busiest emergency rooms in table format and include city state and size