Почему, казалось бы, простой запрос на русском языке порой выдает результат, напоминающий галлюцинации сумасшедшего художника или бред второгодника? С этим вопросом довольно часто сталкивается каждый, кто решил прикоснуться к миру искусственного интеллекта, будь то генерация картинок или написание кода. Многие считают, что нейросети — полиглоты, способные уловить тончайшие оттенки «великого и могучего», но на самом деле ситуация выглядит несколько иначе. Лингвистическая база большинства моделей строится именно на английском, и переводчик, встроенный «под капот», часто съедает контекст, превращая метафоры в кашу. А начать стоит с принятия того факта, что для получения шедевра придется говорить на родном языке машины.
Почему именно английский?
Справедливо ли это? Вопрос риторический. Просто так сложилось исторически и технологически. Львиная доля датасетов (обучающих материалов) изначально была на английском языке. Когда вы пишете запрос на русском, система тратит ресурсы на перевод, затем на интерпретацию, и только потом — на генерацию. В процессе этой цепочки теряются нюансы. Английский же позволяет общаться с алгоритмом напрямую, минуя «испорченный телефон». К тому же, сами токены — единицы смысла — в английском варианте расходуются экономнее, что позволяет вместить в промт больше деталей. Сложно ли перестроиться? Поначалу — да, но результат того стоит. Ведь даже базовые знания школьной программы в сочетании с онлайн-переводчиком (использовать его стоит только для отдельных слов) творят чудеса.
Анатомия идеального запроса
Из чего же состоит добротный промт? Фундамент здесь всегда один, будь то работа с текстом или изображением. Начать нужно с присвоения роли. Вы должны сказать машине, кем она является в данный момент. Конструкция «Act as a…» (Действуй как…) — это настоящий золотой ключик. Если вам нужен маркетинговый план, фраза «Act as a senior marketing specialist with 10 years of experience» (Действуй как старший маркетолог с 10-летним опытом) задаст правильный вектор. Без этого уточнения ответы часто получаются слишком общими, словно написанными для школьного реферата. Далее следует описание задачи, или «Task». Здесь важно использовать активные глаголы.
Обязательно ли расписывать всё до мелочей? Безусловно. Контекст — это то, что отличает ответ эксперта от отписки. Укажите целевую аудиторию, стиль, ограничения по объёму. Например, добавление фразы «Explain it to a 5-year-old» (Объясни это 5-летнему ребёнку) кардинально меняет структуру ответа, делая его максимально простым. Ну и, наконец, формат вывода. Хотите ли вы получить таблицу, список (хоть автор их и не любит, но нейросети — обожают), код или эссе? Укажите это прямо: «Present the result as a table» (Представь результат в виде таблицы).
Генерация изображений
С визуализацией дело обстоит сложнее, но и интереснее. Здесь каждое слово — это мазок кисти. Для Midjourney или Stable Diffusion порядок слов имеет колоссальное значение. То, что стоит в начале, алгоритм считает самым важным. Поэтому первым делом мы описываем главный объект. Допустим, это кот. Но не просто «Cat», а «A fluffy Siamese cat» (Пушистый сиамский кот). Далее мы нанизываем детали окружения. Где сидит этот кот? «Sitting on a cyberpunk neon roof» (Сидящий на киберпанковской неоновой крыше).
Особый интерес вызывает работа со светом и камерой. Обыватель часто забывает об этих параметрах, получая плоские картинки. А ведь стоит добавить «Cinematic lighting» (Кинематографичное освещение) или «Volumetric light» (Объёмный свет), как изображение приобретает глубину. Для любителей фотореализма спасательным кругом станут технические уточнения. Фразы вроде «Shot on 35mm lens» (Снято на 35-мм объектив), «f/1.8» (диафрагма для размытия фона) или «8k resolution» (разрешение 8k) заставляют нейросеть подтягивать текстуры высокого качества. Ну и, конечно же, стиль. Можно попросить нарисовать «In the style of Van Gogh» (В стиле Ван Гога) или использовать современные движки — «Unreal Engine 5 render». Это мощный современный инструмент для создания гиперреалистичности.
Примеры для текстовых задач
Перейдём к конкретике. Допустим, вам нужно написать продающий пост. Скупой запрос «Write a post about coffee» выдаст скуку. А вот расширенный вариант заставит читателя потянуться за чашкой. Попробуйте такую конструкцию:
«Act as a professional copywriter. Write an engaging Instagram post about a new coffee shop in Paris. Use sensory details to describe the aroma and taste. Tone: cozy and inviting. Include a call to action at the end» (Действуй как профессиональный копирайтер. Напиши вовлекающий пост в Инстаграм о новой кофейне в Париже. Используй сенсорные детали для описания аромата и вкуса. Тон: уютный и приглашающий. Включи призыв к действию в конце).
Для программистов английский — это вообще родная стихия. Если код не работает, поможет следующий промт:
«You are an expert Python developer. Review the following code for errors and inefficiencies. Explain what is wrong and provide a corrected version with comments» (Ты — эксперт-разработчик на Python. Проверь следующий код на ошибки и неэффективность. Объясни, что не так, и предоставь исправленную версию с комментариями).
Это сэкономит кучу времени. А если нужно изучить сложную тему, используйте технику «Фейнмана»: «Explain quantum entanglement using simple analogies accessible to a high school student» (Объясни квантовую запутанность, используя простые аналогии, доступные старшекласснику).
Стилизация и «художественный» текст
Нейросети часто грешат сухостью или, наоборот, излишним пафосом. Чтобы этого избежать, нужно управлять тональностью (Tone of Voice). Хотите добавить перчинки? Используйте прилагательные вроде «Sarcastic» (Саркастичный), «Witty» (Остроумный) или «Provocative» (Провокационный). Для деловой переписки идеально подойдет «Professional» (Профессиональный) или «Concise» (Краткий).
Вот пример промта для переписывания неудачного текста:
«Rewrite the following text to make it more punchy and persuasive. Remove passive voice. Aim for a confident and energetic tone suitable for a startup pitch» (Перепиши следующий текст, чтобы сделать его более хлёстким и убедительным. Убери пассивный залог. Стремись к уверенному и энергичному тону, подходящему для питча стартапа).
Кстати, фраза «Remove passive voice» — это настоящий лайфхак. Она делает текст динамичным. А если вы пишете рассказ, попробуйте задать атмосферу: «Write a mystery story opening set in a foggy London street. The mood should be ominous and suspenseful» (Напиши начало детективной истории, действие которой происходит на туманной улице Лондона. Настроение должно быть зловещим и напряженным).
Подводные камни
Чего делать не стоит? Во-первых, не скупитесь на слова, но избегайте воды. Вежливость — это прекрасно, но фразы вроде «Please» (Пожалуйста) и «I would be grateful» (Я был бы благодарен) для машины — лишь лишний шум. Они занимают место в контекстном окне, но не несут смысловой нагрузки. Во-вторых, избегайте отрицаний там, где это возможно. Нейросети плохо понимают частицу «не» (not). Вместо «Don’t make the image blurry» (Не делай изображение размытым) лучше написать «Make the image sharp and detailed» (Сделай изображение резким и детализированным). Позитивные формулировки работают гораздо точнее.
Ещё один нюанс — двусмысленность. Английский язык богат на омонимы. Слово «Bat» может означать и летучую мышь, и бейсбольную биту. Если контекст не задан, результат может вас удивить (и не всегда приятно). Поэтому уточнения в скобках или через дополнительные прилагательные — это необходимость. Например, «Bat (animal)» или «Baseball bat». Также не стоит пытаться впихнуть невпихуемое в один запрос. Если задача слишком сложная, лучше разбить её на цепочку промтов (Chain of Thought). Сначала попросите составить план, потом написать первую главу, затем вторую. Это надёжно. Потому что проверено. Практикой.
Улучшение качества изображений
Вернёмся к визуалу, ведь здесь есть свои специфические команды, настоящая «изюминка» для ценителей. Чтобы убрать дефекты лиц или рук (а это вечная проблема), в Stable Diffusion используют Negative Prompts (Негативные промты). В Midjourney это реализуется через параметр «–no». Например, добавление в конце промта конструкции «–no ugly, deformed hands, extra fingers, blurry, low quality» (без уродства, деформированных рук, лишних пальцев, размытости, низкого качества) значительно чистит результат.
Для повышения детализации стоит использовать слова-триггеры. «Intricate details» (Запутанные/сложные детали), «Hyper-realistic» (Гиперреалистичный), «Octane render» (рендер движка Octane). Интересный эффект дает упоминание материалов. Если вы генерируете портрет робота, добавьте «Made of polished chrome and matte black plastic» (Сделан из полированного хрома и матового чёрного пластика). Игра с текстурами придает изображению тактильность. А вот для создания эпичных пейзажей отлично подходят слова «Majestic» (Величественный), «Breathtaking» (Захватывающий дух) и «Wide angle shot» (Широкоугольный снимок).
Модификаторы для Midjourney
Отдельно стоит упомянуть технические параметры для Midjourney, которые пишутся через двойное тире. Это не совсем английский язык, скорее код, но знать его нужно. Параметр «–ar 16:9» задает соотношение сторон (широкий экран). Если хочется большего разнообразия и креативности, поможет «–c 50» (Chaos, хаос, значение от 0 до 100). Высокое значение хаоса даст очень непохожие друг на друга варианты генерации.
Ещё есть параметр стилизации «–s 750» (Stylize). По умолчанию он стоит на средних значениях, но если выкрутить его повыше (максимум 1000), нейросеть начнет добавлять очень много художественных деталей от себя, отходя от строгого следования промту. Это полезно, когда у вас творческий кризис и хочется увидеть неожиданное решение. А если нужен, наоборот, строгий фотореализм без самодеятельности, значение стоит понизить до «–s 50» или «–style raw». Тем более, что в последних версиях модели (V6) этот параметр работает особенно корректно.
Продвинутые техники промптинга
Для тех, кто уже освоил базу, открывается мир «Few-Shot Prompting». Суть метода проста, но эффективна. Вместо того чтобы просто просить сделать что-то, вы даете нейросети несколько примеров того, что хотите получить. Допустим, вам нужно сгенерировать названия для брендов. Не пишите просто «Generate brand names». Сделайте так:
«Task: Generate catchy brand names for sneakers.
Example 1: AirWalkers
Example 2: SpeedDemon
Example 3: UrbanStride
Task: Generate brand names for organic coffee.»
(Задача: Сгенерируй броские названия для кроссовок. Пример 1… Пример 2… Пример 3… Задача: Сгенерируй названия для органического кофе).
Получив примеры, модель улавливает паттерн — длину, стиль, настроение — и выдает результат, который максимально соответствует ожиданиям. Это работает безотказно.
Ещё один мощный приём — просьба действовать пошагово. Фраза «Let’s think step by step» (Давай подумаем шаг за шагом) творит чудеса при решении логических или математических задач. Она заставляет ИИ не прыгать сразу к ответу (часто ошибочному), а выстраивать логическую цепочку рассуждений. Это снижает количество галлюцинаций в разы. Казалось бы, такая мелочь, а точность повышается кардинально.
И, конечно, итеративность. Редко когда идеальный результат получается с первой попытки. Получили ответ, но он не совсем точен? Не начинайте заново. Продолжайте диалог. «Good, but make it shorter» (Хорошо, но сделай короче), «Add more drama» (Добавь больше драмы), «Change the background to a sunset» (Поменяй фон на закат). Нейросеть помнит контекст беседы (до определенного предела), и этим нужно пользоваться. Работа с промтами — это не написание кода, который либо работает, либо нет. Это скорее лепка из глины, где вы постепенно придаете форму бесформенной массе.
Пробуйте, экспериментируйте с формулировками, собирайте свою личную «библиотеку» удачных фраз. Английский язык здесь — лишь инструмент, молоток в руках скульптора, и чем увереннее вы его держите, тем изысканнее будет результат. Пусть ваши запросы всегда находят точный отклик в цифровых мозгах, а итоговая генерация превосходит даже самые смелые ожидания.