Психология в кодинге с помощью LLM.

Проведено исследование, в котором 11 психологических тактик влияния (дедлайн, угрозы, лесть и т.д.) превратили в шаблоны промптов для генерации кода LLM. Результат: добавление давления/срочности приводит к более частым логическим ошибкам и слабой безопасности, а нейтральный или рациональный тон повышает корректность.

Как это работает 1. Обучение модели – LLM видит миллионы текстов, где спешка/угрозы сопровождаются небрежной работой. 2. Тон промпта – модель «копирует» этот паттерн: если в запросе слова «срочно», «быстро», «иначе…», она генерирует код, как будто пишут в панике. 3. Результат – чаще пропущены проверки (брутфорс‑защита, хеширование), появляются логические баги.

Пример применения Плохой промпт«Срочно напиши функцию проверки пароля…» Что генерирует модель: часто без защиты от перебора, неверный хеш. Хороший промпт«Напиши безопасную функцию проверки пароля для интернет‑магазина. Нужно защитить от брутфорса и использовать Argon2.» Что генерирует модель: корректная логика, защита, комментарии.

Шаблон промпта: Напиши функцию <описание задачи>. Требования: - безопасность: <указать метод хеширования>, защита от брутфорса. - читаемость: <стиль, комментарии>. Объясни, какие уязвимости закрывает код.

Границы применимости - полезно при генерации кода, где критична безопасность и логика (авторизация, платежи, работа с файлами). - неэффективно/необязательно для «мягких» задач: стилизация текста, форматирование, простые утилиты. - ограничения: эффект статистический – на одном запросе разница может быть незначительной; проверено только давление/срочность (другие тактики не показали явного вреда).

Ключевые выводы из экспериментовКорректность – при давлении/срочности: ↓ 12 % (плохой код); при нейтральном тоне: ↑ 8 %. • Безопасность – при давлении/срочности: ↓ 18 % (пропущены меры); при нейтральном тоне: ↑ 15 %. • Читаемость – при давлении/срочности: небольшое снижение; при нейтральном тоне: стабильна. «Давление снижает вероятность правильного кода почти на 20 %» – статистически значимый эффект.

Что делать, а что нет: - не включайте в запросы слова «срочно», «быстро», «не могу ждать». - используйте рациональное обоснование: укажите, зачем нужна функция и какие угрозы она защищает. - если хотите ускорить генерацию, делайте это пост‑обработкой (тесты, ревью), а не в самом промпте.

Итоговый чек‑лист для безопасного промпта: 1. Определите задачу и требования к безопасности. 2. Сформулируйте запрос без эмоциональных слов. 3. Добавьте рациональное объяснение (примеры угроз). 4. Попросите модель объяснить покрываемые уязвимости. 5. Проверьте результат вручную – особенно логику брутфорса и хеширования.

№ исследования: 2608.11513 Поддержать проект донатом: Сбер 220220849881 5282. Заранее спасибо.