{"meta":{"title":"Инженерия подсказок для GitHub Copilot Chat","intro":"Следуйте этим стратегиям, чтобы улучшить Copilot результаты.","product":"GitHub Copilot","breadcrumbs":[{"href":"/ru/copilot","title":"GitHub Copilot"},{"href":"/ru/copilot/concepts","title":"Основные понятия"},{"href":"/ru/copilot/concepts/prompting","title":"Побуждение"},{"href":"/ru/copilot/concepts/prompting/prompt-engineering","title":"Техника подсказок"}],"documentType":"article"},"body":"# Инженерия подсказок для GitHub Copilot Chat\n\nСледуйте этим стратегиям, чтобы улучшить Copilot результаты.\n\nЗапрос — это запрос, который GitHub Copilotвы делаете. Например, вопрос, который вы задаетеCopilot ChatCopilot, или фрагмент кода, который требуется завершить. Помимо запроса, Copilot использует дополнительный контекст, например код в текущем файле и журнал чата, чтобы создать ответ.\n\nСледуйте советам, приведенным в этой статье, чтобы написать запросы, которые создают лучшие ответы Copilot.\n\n## Запустите общий, а затем получите конкретный\n\nПри написании запроса Copilotсначала предоставьте Copilot широкое описание цели или сценария. Затем укажите все определенные требования.\n\nНапример:\n\n```copilot copy prompt\nWrite a JavaScript function that tells me if a number is prime\n\nThe function should take an integer and return true if the integer is prime\n\nThe function should error if the input is not a positive integer\n```\n\n## Примеры\n\nИспользуйте примеры, чтобы понять Copilot , что вы хотите. Можно указать примеры входных данных, примеры выходных данных и примеры реализации.\n\nНапример:\n\n```copilot copy prompt\nWrite a Go function that finds all dates in a string and returns them in an array. Dates can be formatted like:\n\n* 05/02/24\n* 05/02/2024\n* 5/2/24\n* 5/2/2024\n* 05-02-24\n* 05-02-2024\n* 5-2-24\n* 5-2-2024\n\nExample:\n\nfindDates(\"I have a dentist appointment on 11/14/2023 and book club on 12-1-23\")\n\nReturns: [\"11/14/2023\", \"12-1-23\"]\n```\n\nМодульные тесты также могут служить примерами. Перед написанием функции можно использовать Copilot для записи модульных тестов для функции. Затем можно попросить Copilot написать функцию, описанную этими модульными тестами.\n\n## Разорвать сложные задачи на более простые задачи\n\nЕсли вы хотите Copilot выполнить сложную или большую задачу, разорвать задачу на несколько простых, небольших задач.\n\nНапример, вместо запроса Copilot создать головоломку поиска слов, разорвать процесс до небольших задач и попросить Copilot выполнить их по одному:\n\n* Напишите функцию для создания 10 к 10 сетке букв.\n* Напишите функцию, чтобы найти все слова в сетке букв, учитывая список допустимых слов.\n* Напишите функцию, которая использует предыдущие функции для создания 10 к 10 сетке букв, содержащих по крайней мере 10 слов.\n* Обновите предыдущую функцию, чтобы распечатать сетку букв и 10 случайных слов из сетки.\n\n## Избегайте неоднозначности\n\nИзбегайте неоднозначных терминов. Например, не спрашивайте \" что делает это\", если \"этот\" может быть текущим файлом, последним Copilot ответом или определенным блоком кода. Вместо этого будьте конкретными:\n\n* Что делает `createUser` функция?\n* Что делает код в последнем ответе?\n\nНеоднозначность также может применяться к библиотекам:\n\n* Если вы используете необычную библиотеку, опишите, что делает библиотека.\n* Если вы хотите использовать определенную библиотеку, задайте инструкции импорта в верхней части файла или укажите нужную библиотеку.\n\n## Указание соответствующего кода\n\nЕсли вы используете Copilot интегрированную среду разработки для получения предложений по мере кода, откройте все соответствующие файлы и закройте неуместные файлы.\nCopilot будет использовать открытые файлы для понимания запроса.\n\nЕсли вы используете Copilot Chat в интегрированной среде разработки, откройте файл или выделите код, на который вы хотите Copilot ссылаться. Вы также можете использовать ключевые слова для ручного предоставления контекста Copilot Chat. Например, вы можете добавить участника чата `@workspace` в VS Code или `@project` в IDE JetBrains. См. [Шпаргалка для чатов GitHub Copilot](/ru/copilot/reference/chat-cheat-sheet).\n\n## Эксперимент и итерацию\n\nЕсли вы не получите нужный результат, выполните итерацию в запросе и повторите попытку.\n\nЕсли вы используете Copilot для получения предложений в коде, вы можете полностью удалить предложение и начать работу. Кроме того, вы можете сохранить предложение и запросить изменения.\n\nПри использовании Copilot Chatможно ссылаться на предыдущий ответ в следующем запросе. Кроме того, можно удалить предыдущий ответ и начать работу.\n\n## Сохранение актуальности журнала\n\nCopilot Chat использует журнал чата для получения контекста о запросе. Чтобы дать Copilot только соответствующую историю, выполните следующие действия.\n\n* Использование потоков для запуска новой беседы для новой задачи\n* Удаление запросов, которые больше не актуальны или которые не дали нужный результат\n\n## Следуйте рекомендациям по написанию кода\n\nЕсли вы не получаете ответы, которые вы хотите получить при запросе Copilot предложений или объяснений в базе кода, убедитесь, что существующий код следует рекомендациям и легко читать. Например:\n\n* Использование согласованного стиля и шаблонов кода\n* Использование описательных имен для переменных и функций\n* Комментирование кода\n* Структурирование кода в модульные, ограниченные компоненты\n* Включение модульных тестов\n\n> \\[!Tip]\n> Используйте Copilot , чтобы помочь коду следовать рекомендациям. Например, попросите Copilot добавить комментарии или разбить большую функцию на небольшие функции.\n\n## Дополнительные материалы\n\n* [Использование GitHub Copilot: запросы, советы и варианты использования](https://github.blog/2023-06-20-how-to-write-better-prompts-for-github-copilot/?ref_product=copilot\\&ref_type=engagement\\&ref_style=text) в блоге GitHub\n* [Использование GitHub Copilot в интегрированной среде разработки: советы, рекомендации и рекомендации](https://github.blog/2024-03-25-how-to-use-github-copilot-in-your-ide-tips-tricks-and-best-practices/?ref_product=copilot\\&ref_type=engagement\\&ref_style=text) в блоге GitHub\n* [Руководство разработчика по запросу инженерии и LLM](https://github.blog/2023-07-17-prompt-engineering-guide-generative-ai-llms/) в блоге GitHub\n* [Запрос на Copilot Chat GitHub стать вашим личным помощником по искусственному интеллекту для специальных возможностей](https://github.blog/2023-10-09-prompting-github-copilot-chat-to-become-your-personal-ai-assistant-for-accessibility/?ref_product=copilot\\&ref_type=engagement\\&ref_style=text) в блоге GitHub"}