Узнайте, как использование ИИ-ассистентов и собственного языка программирования помогает вернуть радость от кодинга. Попробуйте прямо сейчас!
Считается, что с ростом количества кода, написанного ИИ, у новичков становится меньше возможностей получить навыки, необходимые для профессиональной разработки. Опытные же программисты жалуются, что ИИ постепенно лишает их навыков, которые они так долго и упорно нарабатывали.
Программирование, как математика или музыка, находится на стыке науки и искусства. Как наука, оно заключается в сборе и организации знаний, как искусство — в применении творчества для решения задач. Удовольствие — глубокое удовлетворение или эмоциональный подъём — можно получить от обеих сторон. Но ИИ лишает нас возможности учиться и творить.
Код, написанный человеком, многое говорит о программисте: глубина знания языка, творческое использование имён переменных и функций, визуальное оформление. Часто с первого взгляда видно, заботился ли автор о коде или это было лишь средством для получения зарплаты.
По мере улучшения ИИ он делает меньше ошибок, но генерирует код, который человеку всё труднее читать и понимать. Поскольку задача человека в цикле разработки всё чаще сводится не к написанию, а к проверке кода, это становится проблемой. Вот моя недавняя история — череда счастливых случайностей.
Я использую агентный ИИ около года. Сначала Copilot в VS Code, затем Claude Code в командной строке. Поначалу Copilot делал много ошибок и генерировал повторяющийся, плохо структурированный код. Но, оглядываясь назад, я понимаю, что во многом это было связано с моим незнанием того, как управлять процессом.
Самая большая проблема заключалась в проверке JS или Python-кода. Его было слишком много, часто с использованием возможностей языков, которые я никогда до конца не осваивал. Я никогда не был программистом высокого уровня, и мой собственный код — это чистый ванильный JavaScript. Проект, над которым я работал, назывался AllSpeak — скриптовый язык, похожий на английский, который я написал годы назад, чтобы создавать продукты, не будучи экспертом в кодинге. ИИ дал мне шанс обновить его. Но именно когда Copilot начал предлагать фрагменты AllScript без моего запроса, я полностью переосмыслил подход.
Обычно предполагается, что код должен писаться на современном высокоуровневом языке, таком как JS или Python. Это справедливо, когда пишет человек, но совершенно не подходит для ИИ. Проблема в том, что эти языки слишком сложны и содержат несоответствия, которые ИИ с трудом замечает. Документация часто устаревает, новые версии ломают старый код. Кроме того, многие возможности этих языков — защитные механизмы, предотвращающие ошибки человека (утечки памяти, скрытые баги). ИИ не делает таких ошибок, поэтому эти механизмы ему не нужны; наоборот, они усложняют работу ИИ.
Очевидный путь открылся сам собой. Если агент пытается писать код на AllSpeak, почему бы не позволить ему закончить? Я создал файл AGENT.md, в котором предписал агенту писать код на моём языке везде, где возможно, и дал ссылки на репозиторий и документацию, чтобы помочь избежать ошибок.
Выгода была немедленной. Вместо того чтобы продираться через огромные куски JS и Python, я мог видеть, как приложение строится на языке, гораздо более близком к английскому. Но это пошло гораздо дальше. Время от времени агент угадывал конструкцию, которой не существовало, используя свои знания других языков. Обычно это было связано с ограничениями документации. Я решил: если агент хочет использовать такую конструкцию, и она синтаксически корректна и согласуется с остальным языком — её стоит добавить. Так я создал постоянную вторую сессию для изменений и дополнений AllSpeak и правило: если агент может предложить улучшение, он должен это сделать.
Поскольку AllSpeak растёт таким образом, это можно считать препятствием для кодинга, ведь изначально он создавался для упрощения. Но ситуация меняется, когда код пишет ИИ. Задача человека — не писать код, а читать его. А поскольку язык близок к английскому, смысл нового синтаксиса становится очевидным. Я могу добавить кучу нового синтаксиса, сокращающего повторяющийся шаблонный код до нескольких слов. Мне больше не нужно помнить весь синтаксис, достаточно его узнавать. Это большая разница.
Последняя часть этой истории (возможно, будет продолжение): я всего лишь человек с ограниченным бюджетом. Claude Code работает отлично, но дорого. Ценообразование нелинейное: чем больше тратишь, тем экспоненциально больше токенов, но я не использовал свой лимит. Уменьшение стоимости приводило к перерасходу, и приходилось пополнять счёт.
Затем я увидел упоминание, что DeepSeek стоит примерно в 50 раз дешевле (да, всего 2% от стоимости Claude Code), и решил попробовать. И это правда: после пары недель ежедневной, но не интенсивной работы, я потратил 0,46 доллара. Однако DeepSeek не так хорош в кодинге, как Claude. Он быстр, но делает больше ошибок, и по многословному выводу видно, что иногда он испытывает трудности. Насколько это связано с моей всё ещё неидеальной документацией, сказать сложно, но вмешиваться приходится чаще. Я понимаю, что deepseek-v4-flash оптимизирован больше для управления огромными наборами данных, чем для кодинга — это может быть объяснением.
Но это ограничение принесло неожиданную пользу. При работе с Claude Code я часто чувствовал себя статистом: я давал запросы, но почти не участвовал в процессе, так как ошибок было мало. С DeepSeek я чувствую себя более равноправным партнёром. У нас разные роли: DS пишет код, я его проверяю. А поскольку код написан на языке, близком к английскому, я могу следить за ним гораздо легче, чем если бы это был JS или Python. Я замечаю ошибки и предлагаю улучшения. Я снова начал чувствовать себя программистом, у меня есть реальная роль в процессе кодинга. И именно это вернуло удовольствие.
То, что началось как череда случайностей и попытка сэкономить, превратилось в равноправное партнёрство, вернувшее мне радость от процесса. Один из выводов: возможно, вместо того чтобы всегда выбирать самую новую модель, стоит задуматься, оставляет ли она вам реальную роль в процессе. Возможно, вы получите больше удовольствия, взяв на себя роль учителя и помогая менее совершенной модели выполнять свою работу, экономя при этом деньги. Не забывайте: счастливые люди достигают лучших результатов.
Попробуйте прямо сегодня: создайте свой мини-язык для ИИ-агента или возьмите более дешёвую модель, чтобы активнее участвовать в проверке кода. Верните себе удовольствие от программирования!
Хочешь закрепить знания на практике?
Решай задачи на Algolit — интерактивная платформа для обучения
Начать бесплатно →