Вайбкодинг для начинающих: как формулировать задачи для ИИ

Вайбкодинг для начинающих: как формулировать задачи для ИИ

Работа с кодом кажется сложной из-за языка и синтаксиса. ИИ немного упрощает обучение и расшифровку кода — на помощь приходит вайбкодинг.

Что такое вайбкодинг

Вайбкодинг — это способ работать с кодом через формулировку задачи, а не через знание языка программирования.

Если сказать просто, при вайбкодинге человек не пишет код вручную, а описывает, что нужно сделать, обычным человеческим языком. Искусственный интеллект переводит это описание в код, предлагает решения и помогает их доработать.

Ключевой навык здесь — ясно объяснить задачу, а не знать синтаксис.

Любая программа состоит из трёх частей.
Сначала есть данные, с которыми нужно работать.
Затем есть правила обработки этих данных.
В конце есть результат, который требуется получить.

Когда эти части описаны последовательно и понятно, код становится техническим продолжением мысли.

Вводные данные: с чем именно работает программа

Любая задача начинается с описания данных, c которыми потом нужно что-то сделать. Это может быть файл, текст, таблица или что-то другое.

Представим, что требуется обработать текст. Формулировка «почистить текст» выглядит понятной для человека, но остаётся слишком общей для ИИ. Совсем иначе работает описание, в котором указан источник данных и формат.

Например: текст находится в файле input.txt, написан на русском языке и сохранён в кодировке UTF-8.

Такое уточнение сразу задаёт контекст и снижает вероятность ошибок.

При описании вводных данных полезно ответить на несколько вопросов: откуда берутся данные, в каком они формате и есть ли ограничения по языку или кодировке.

Пример формулировки для ИИ:

У меня есть текстовый файл input.txt. В нём обычный русский текст в кодировке UTF-8. Этот файл нужно обработать с помощью скрипта.

Как ИИ заменил нам программиста и аналитика

Обработка данных: какие действия нужно выполнить

Теперь пора сказать ИИ, что нужно делать с данными.

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

Например: заменить все двойные пробелы на один, заменить дефис с пробелами на длинное тире и сократить количество пустых строк до одной подряд.

Как формулировать запрос

При описании обработки полезно писать правила полными предложениями, каждое из которых описывает одно действие.

Пример формулировки:

Нужно выполнить несколько шагов. Скрипт должен заменить двойные и тройные пробелы на один пробел. Также требуется заменить сочетание «пробел-дефис-пробел» на длинное тире. После этого нужно убрать лишние пустые строки, оставив не больше одной подряд.

Как выглядит итог работы

В одном случае результат может выводиться в консоль (текстовое окно, через которое вы общаетесь с программой напрямую), в другом — сохраняться в файл. Иногда требуется и то и другое. Лучше указать это заранее.

Например: сохранить обработанный текст в файл cleaned.txt и вывести сообщение об успешном завершении работы.

Как формулировать запрос

Описание результата обычно занимает одно-два предложения и отвечает на вопрос, где именно появится итог.

Пример формулировки:

В результате обработки нужно сохранить новый текст в файл cleaned.txt. После выполнения скрипт должен вывести сообщение «Готово».

Полный пример задачи целиком

Когда вводные данные, обработка и результат описаны последовательно, задача начинает напоминать небольшое техническое задание, написанное простым языком.

Пример цельного описания:

У меня есть текстовый файл input.txt с русским текстом в кодировке UTF-8. Нужно заменить двойные пробелы на один, заменить дефисы на длинные тире и убрать лишние пустые строки. Результат требуется сохранить в файл cleaned.txt и вывести сообщение об успешном завершении.

Такое описание обычно даёт предсказуемый и понятный результат.

Пример кода с пояснениями

Ниже приведён простой пример на Python. Его можно воспринимать как последовательность шагов, а не как набор синтаксических конструкций.

# clean_text.py
# Скрипт читает текст из input.txt,
# применяет описанные правила
# и сохраняет результат в cleaned.txt

import re

with open("input.txt", "r", encoding="utf-8") as f:
    text = f.read()

text = re.sub(r"[ \t]{2,}", " ", text)
text = text.replace(" - ", " — ")
text = re.sub(r"(\n\s*\n)+", "\n\n", text)

with open("cleaned.txt", "w", encoding="utf-8") as f:
    f.write(text)

print("Готово")

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

Как просить ИИ написать такой код

Сначала попросите ИИ описать словами, что нужно сделать, а потом перевести всё в код.

Сначала опиши решение простым языком, шаг за шагом. Затем напишите код. Добавьте комментарии к каждому этапу и короткий пример «было — стало».

Какие инструменты использовать

Для начала достаточно одного инструмента, который умеет объяснять код человеческим языком.

ChatGPT хорошо подходит для формулировки задач и пояснения логики. Claude полезен при доработке формулировок и упрощении решений. Редактор кода с автодополнением становится удобным, когда задачи становятся сложнее (например, вы собираетесь написать приложение).

Что будет дальше

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

Что ещё почитать

Поделиться: