Если у LLM «аутизм», пишет ли она код лучше?

от автора

Как сильно влияет персона в промпте на качество генерации кода большими языковыми моделями? Не классическое «You are a senior developer», а что-то характеризующее с личностной точки зрения. 

В этой статье мое небольшое исследование и ответ на кликбейтный заголовок (спойлер: иногда).

Привет. Меня зовут Белов Вадим и я AI Lead в Voximplant. Я решил выяснить, сильно ли будет отличаться код, написанный LLM c промптом «You are a senior python developer» от кода, написанного с промптом «You are a senior python developer with autism». Необычный вопрос тянет за собой череду более серьезных и технических. Но сначала отвечу на вопрос, который, наверное, возник у читающих первым.

При чем тут вообще аутизм?

Разумеется, у LLM аутизма быть не может, хотя некоторые признаки имеются у Gemini. Добавляя аутизм в role prompting, мы, по сути, влияем лишь на распределение генерации. И это распределение будет сильно зависеть от того, как аутизм воспринимается LLM. Что в свою очередь будет зависеть не только от того, что модель видела во время pretrain, но и от того, как аутизм был представлен во время этапа RL. 

Неоднозначность восприятия термина здесь может сыграть злую шутку. Так, например, ассоциация Nerdy персональности с фэнтези привела к нашествию гоблинов в chatgpt. В итоге это пришлось исправлять специальными промптами

Аутизм — тоже черта, не имеющая прямого отношения к профессии. Поэтому интересно проверить, как это повлияет на работу LLM, ведь слово имеет сложный социальный контекст.

Распространено мнение, что аутизм может иметь свои преимущества. Доходит до того, что иногда людей с аутизмом характеризуют, как «всемогущих повелителей технологий». Сформировались определенные стереотипы, охарактеризовать которые лучше всего примером «Мой меч выкован гномами с аутизмом, так что ты знаешь, что он хорош».

Так что ожидания, что код, написанный LLM с «аутизмом», будет лучше обычного, основаны не на пустом месте.

А что думают по этому поводу сами LLM?

Спросим напрямую, какой код окажется лучше. Будет особенно интересно, если ответ будет противоречить результатам бенчмарков.

Если вкратце — мнения разделились. Да, они по своей природе зависят от температуры (и немного от фазы Луны), но такие результаты как минимум существуют, в чем легко убедиться.

Я выбрал 4 LLM из разных семейств. Они были у одного провайдера и по приемлемой цене. Версия моделей в данном случае не имеет большого значения, так как сравнивать промпты будем в рамках одной версии.

Полные ответы делятся на «в зависимости от обстоятельств», «с аутизмом», «обычный». Поэтому в промпте было добавлено требование однозначно выбрать один вариант. Хитрый Qwen вплоть до последней правки вопроса пытался ответить «тот, который лучше». 

Короткий ответ на вопрос «Какой код пройдет больше тестов» представлен в таблице ниже.

LLM

Chosen prompt

gemini-3.1-flash-lite-preview

Regular

gpt-5.4-mini

Regular

GLM-4.7

Autistic

Qwen3-Coder-Next

Regular

Эксперимент

Не хотелось бы отвечать субъективно на вопрос, какой код лучше. К счастью, этого не требуется — для этого есть специальные бенчмарки. Первым приходит в голову HumanEval — 164 задачи для проверки навыков программирования. Чем больше решенных задач с первой попытки, тем лучше навыки программирования. А что еще лучше, добрые люди создали фреймворк DeepEval, чтобы пришлось писать меньше кода для работы с этим бенчмарком!

Хотя кого я обманываю. Никто уже не пишет код сам, иначе не было бы и этой статьи. Две минуты вайбкодинга спустя у нас есть скрипт для того, чтобы получить 2 важные метрики: Pass@1 (процент задач, решенных правильно с первого раза) и число выходных токенов, потраченных на решение задачи. А вот и 2 промпта, являющихся сердцем этого эксперимента.

prompts = {

   "Regular": "You are a senior python developer. Complete the following code:\n{task}",

   "Autistic": "You are a senior python developer with autism. Complete the following code:\n{task}"

}

Запускаем скрипт для проверки на двух моделях, доступных через провайдера бесплатно, и…

Ах, да. Современные модели проходят HumanEval почти идеально.

Возьмем другой бенчмарк. MBPP имеет недостатки: задач многовато (долго ждать) и они не всегда сформулированы однозначно. А вот MBPP+ этих недостатков не имеет — 378 задач с выверенными формулировками для реализации единственной функции и расширенным списком тест-кейсов. Тесты на краевых случаях — отличная возможность проверить, помогает ли предполагаемый перфекционизм LLM с аутизмом писать код лучше. Код, соответственно, немного нужно изменить. А результат…

Результат довольно неожиданный. 

Быстрый анализ выявил проблему: LLM пишет функции с условно-произвольной сигнатурой, а тест-кейсы ожидают вполне конкретную. Проблема распространенная: LLM пытаются угадать API, хотя этого от нее не требуется. Для решения этой проблемы создаются специализированные инструменты (например, этот), позволяющие LLM получать актуальный API в удобном формате. В нашем случае достаточно просто добавить сигнатуру тестов в наши промпты.

prompts = {

   "Regular": "You are a senior python developer. Write a python function to solve the following task:\n{task}\n\nYour code must pass these tests:\n{tests}\n\nReturn only the code block.",

   "Autistic": "You are a senior python developer with autism. Write a python function to solve the following task:\n{task}\n\nYour code must pass these tests:\n{tests}\n\nReturn only the code block."

}

Теперь можно выполнить скрипт для всех выбранных LLM.

Анализ результатов

Число пройденных тестов при разных промптах отличаются на уровне процентного пункта. «Аутизм» оказывает негативное влияние на GLM-4.7, gemini-3.1-flash и gpt-5.4-mini, но позитивное на Qwen3-Coder-Next. 

LLM

Chosen prompt

Better results

gemini-3.1-flash-lite-preview

Regular

Regular

gpt-5.4-mini

Regular

Regular

GLM-4.7

Autistic

Regular

Qwen3-Coder-Next

Regular

Autistic

Qwen и GLM ошиблись в своих предсказаниях. При этом LLM китайского происхождения более оптимистично оценивают «преимущества аутизма». Возможно, отличается alignment/RLHF. Возможно, различаются культурные стереотипы в данных. Кто знает. В целом, советы, которые дает LLM, сильно отличаются для людей, заявившем о наличии у них аутизма, но любопытно, что в данном эксперименте разница коррелирует со страной происхождения LLM. Отдельно стоит отметить, что GLM и Gemini тратили заметно больше токенов в роли разработчика с аутизмом. 

Вместо выводов

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

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

ссылка на оригинал статьи https://habr.com/ru/articles/1041088/