Мало кто сегодня спорит с тем, что GitHub Copilot — это не просто «автокомплит 2.0», а полноценный помощник. Но давайте честно: часто Copilot — это не волшебная палочка, а нерадивый стажёр, которому надо всё разжёвывать. И дело здесь не в самом Copilot, а в нас — тех, кто пишет промты.
Мы привыкли говорить про промты в контексте больших языковых моделей. Но в мире Copilot промт — это не вопрос в чатике, а контекст, который даёт Copilot понять, чего вы хотите. И вот тут начинается магия (или бедлам).
Вот семь способов, как сделать промты для Copilot умнее — и при этом остаться у руля.
1. Пишите как для человека
Copilot отлично понимает человеческий язык. В комментариях к коду или названиях функций старайтесь писать ясно и подробно, словно объясняете задачу коллеге.
Плохо: // todo: implement
Хорошо: // generate a function to validate user input based on these rules: …
Copilot не читает ваши мысли. Он читает текст. Чем подробнее и понятнее объясните — тем выше шанс получить результат, который вас не разочарует.
2. Давайте контекст
Copilot учится на всём, что видит в вашем файле и проекте. Если вы просите «добавь функцию для логирования», а в коде нет примеров логирования, Copilot придумает свою версию.
Хотите результат в стиле проекта? Дайте Copilot достаточно контекста — примеры похожих функций, формат комментариев, даже стиль написания кода. Это как общение с новым сотрудником: сначала он смотрит, как принято, а потом предлагает что-то своё.
3. Не бойтесь быть избыточными
В промтах для Copilot избыточность — это не баг, а фича. Лучше дать больше пояснений, чем потом мучиться с исправлением. Например, если просите сгенерировать запрос к базе, укажите не только структуру, но и ограничения, формат возвращаемых данных, типы ошибок.
Copilot не устанет от подробностей — это не ваш коллега с перерывом на кофе.
4. Уточняйте стиль и язык
Copilot умеет подстраиваться. Если вы работаете на Python, но хотите код в стиле функционального программирования, напишите это явно в комментарии. То же касается тестов, паттернов проектирования и прочих деталей — Copilot не догадывается сам, пока вы не скажете.
Пример:
Так себе: // add a function to process data
Лучше: // add a pure function to process data in a functional programming style
5. Не стесняйтесь экспериментировать
Промтинг для Copilot — это не линейная штука. Один и тот же запрос, переформулированный иначе, даёт другой результат. Если вас не устраивает предложение Copilot — попробуйте изменить формулировку, уточнить детали, поменять порядок слов.
Это почти как разговор с роботом-редактором: ищем общий язык и баланс между «что нужно» и «как сказать».
6. Учитесь на его ответах
Copilot не всегда даёт идеальный результат. Но именно в этих несовершенствах кроется ваша подсказка: где недоговорили, что забыли, какие детали надо уточнить в промте.
Используйте неудачные подсказки Copilot как зеркало: что в вашем промте осталось неясным?
7. Перепроверьте и адаптируйте
Copilot — это помощник, а не судья. После генерации кода не стесняйтесь менять его руками, а ещё — сохранять удачные формулировки для будущих промтов.
Промтинг — это ремесло, и как любая ремесленная штука, со временем обрастает своим репертуаром.
Что почитать по теме
- Building Better Prompts for GitHub Copilot — практические советы от самой команды GitHub
- Copilot Labs: Enhance your prompting — эксперименты и расширения для Copilot
- Prompt Engineering Guide — общий справочник по промт-инжинирингу