Как AI пишет код
Теперь мы знаем, что AI может и не может. Но как это на самом деле работает? Не технические детали — они тебе не нужны. А понимание принципа.
Токены как буквы для AI
Помнишь K01 (Текст)? Там мы узнали, что AI не может «понимать предложения». AI предсказывает, какой текст идёт дальше. Она делает это, разбивая каждый текст на маленькие кусочки — так называемые «токены».
Токен — это не слово. Это скорее слог или даже буква. Когда ты говоришь AI «hello world», она разбивает это примерно на 4 токена: «hel», «lo», «_world». Точное разбиение технически сложно, но идея в том: AI видит твой текст не как целые предложения, а как последовательности паттернов.
С кодом это же самое — с одной оговоркой. Код имеет намного более строгие правила. «hello world» можно написать 1000 способами. Но x = x + 1 можно написать только несколькими способами без ошибок.
Это значит: AI намного точнее с кодом, чем с текстом. Структура строже. Это большая сила AI в коде, потому что AI любит правила.
Почему AI знает код из GitHub
AI обучена на миллиардах строк кода. GitHub, StackOverflow, открытые проекты — это всё учебный материал. AI видела, как называть функции, как ловить ошибки, как строить структуры данных.
Поэтому AI может писать правильный, структурированный код, который выглядит как настоящий профессиональный код. Не потому что AI «понимает», что делает код, а потому что она видела паттерн столько раз, что воспроизводит наиболее вероятный паттерн.
Это как композитор, который слышал миллионы симфоний и потом сочиняет новую. Композитор понимает музыку — но AI НЕ понимает код. AI просто воспроизводит самые частые структуры.
Это объясняет, почему AI часто над-проектирует код. GitHub полон над-спроектированного кода, потому что профессиональные программисты склонны к защите. AI это выучила.
Три типа задач для кода
В K01 (Текст) мы узнали три типа задач: Мультипликатор, Enabler, Границы. С кодом это точно то же самое.
1. Мультипликатор: Код для стандартных задач
Это типичные задачи, где AI блистает:
- «Напиши мне HTTP-сервер на Python»
- «Создай скрипт, который обрабатывает CSV-файлы»
- «Генерируй код для обзора картинок»
Почему это работает? Потому что AI знает структуру. Эти задачи делались тысячу раз, и AI видела все паттерны. Шанс, что код будет работать, высок.
Правило Мультипликатора: Чем чаще задача встречается в обучении, тем лучше код.
2. Enabler: Код для твоих специфических требований
Это задачи, где ты должен уточнить свою идею:
- «Напиши скрипт, который обрабатывает мою конкретную структуру файлов»
- «Создай скрейпер для этого конкретного сайта»
- «Построй систему, которая реализует мою бизнес-логику»
Здесь AI должна не только понять твои требования, но и экстраполировать их. Это работает — но с ограничениями. AI сделает предположения и часто будет неправа.
Правило Enabler: Ты должен перевести своё требование в знания AI. Чем больше ты описываешь, тем лучше.
3. Границы: То, что AI (ещё) не может
Это задачи, где AI достигает своих пределов:
- «Оптимизируй мой код для максимальной производительности»
- «Найди дыру в безопасности моей системы»
- «Поймите, почему этот код не работает» (когда ошибки тонкие)
Почему это не работает? Потому что нужно понимание. Оптимизация производительности нужна контекст — где узкие места? Безопасность нужна креативность — какие неожиданные векторы атак? Отладка нужна методология — какую гипотезу ты сначала тестируешь?
AI может это, но с намного ниже успехом. И ты не всегда заметишь, когда это неправильно.
Два вопроса перед каждым код-промптом
Перед тем как спросить AI писать код, задай себе два вопроса:
1. Это стандартная задача? Её решали миллионы раз? Если да → Мультипликатор, AI будет отличной. Если нет → сложнее, AI сделает предположения.
2. Я могу проверить результат? Я могу видеть, работает ли код? Если да → я могу найти и исправить баги. Если нет → я должен кому-то верить.
Эти два вопроса решают, доверять ли AI.
Почему код сложнее текста
Текст: AI пишет слова, которые хорошо подходят. Неправильное не работает — это просто звучит странно.
Код: AI пишет символы, которые подходят и имеют значение. Неправильное значит программа не запускается или делает не то. Это большая ошибка.
Поэтому код-промпты должны быть точнее. С текстом AI может больше «угадывать». С кодом контекст должен быть ясным.
Будущее: Лучше код-AI
Будет ли AI лучше в коде в будущем? Определённо. Уже есть системы, которые не только пишут код, но и могут его понять — распознают ошибки, тестируют варианты, и даже находят свои ошибки.
Но даже они не будут «понимать» в настоящем смысле. Они просто будут иметь ещё лучше паттерны. И поэтому тебе всё равно нужен человек для проверки системы.
Это не ограничение AI. Это реальность любого ПО: код сложен, и вторая пара глаз всегда полезна.
AI пишет код как текст — через предсказание токенов. Структурные правила помогают AI. Стандартные задачи хорошо работают. Пользовательские требования нуждаются в точности. Твоё понимание все ещё нужно.