Как сильно влияет персона в промпте на качество генерации кода большими языковыми моделями? Не классическое «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 в этой ситуации показывают, что праздный интерес может дать неожиданный результат.

Комментарии (4)


  1. Sap_ru
    29.05.2026 11:09

    Неправильно эксперимент ставите.
    Сранивать нужно не с этим баловством, а со случаем, когда опыт не указывается.
    То есть не "делает ли указание персонажа ИИ глупее?", а "делает ли указание персонажа ИИ умнее?". Что "senior python developper", что "python developper" - однохренственно.
    И откуда только эта массовая дурь взялась? Нужели вы серьёзно думаете, что от указания "senior" в роли модель умнее становится? Или, что указание "10 years experience" делает её умнее? На смом деле это только размывает её цели и увеличивает галлюцинации!
    Более того, указание языка в такой форме тоже увеличивает галлюцинации. Язык нужно указывать, как часть задния, а не как персонаж: "the program must be written on Python". Иначе у вас там встретится взаимодействие с другим языком (или в обучающей выборке был нужные аглоритм на редком языке), а вы ей зачем-то указываете, что она сугубо "python developper", и у неё конфликт случится. И это тоже повод для увеличения числа галлюцинаций.


  1. supercargo
    29.05.2026 11:09

    спасибо за статью, в доте теперь буду оправдываться, что я нейродивергент


  1. nakesreong
    29.05.2026 11:09

    извините, но ролевые промпты сами по себе клиника, а считать что "аутисты" пишут код лучше это вообще отдельный пздц

    тогда уж надо по-другому ) надо взять именитого разраба с кучей примеров кода его, что были в обучающих данных, и задать как ролевую модель

    "пиши код как Линус Торвальдс", во )

    "придумай мне идей для стартапа как Паша Дуров", тоже норм заход ))


  1. DimSimd
    29.05.2026 11:09

    Чтож. Давайте вторую часть. "будет ли LLM писать код лучше, если заставить его матерится" ибо есть исследование что код с матами в комментариях качественнее чем код без них.