Посты
От 8 часов до 47 минут - 12 проверенных стратегий кодирования с ИИ
3 декабря 2025 г. • 10 мин чтения
ИИ создал функцию за 47 минут, что несколько лет назад заняло бы 8 часов работы. Но вот что никто вам не скажет: без правильных стратегий этот же ИИ потратит три часа на создание неправильного решения.
Привет, я Чак, и я пишу код уже 30 лет. В 2023 году я понял, что мне либо нужно принять ИИ, либо найти новую профессию. Я выбрал первый вариант. С тех пор я создал дюжину приложений, используя кодирующих агентов, и сегодня я делюсь с вами всеми изученными стратегиями.
ИИ меняет всё, в первую очередь ускоряя процесс. То, что раньше занимало день, теперь занимает час.

Эта скорость означает несколько вещей:
Во-первых, цикл обратной связи намного быстрее, ошибки и неправильные направления выявляются быстрее, и путь к успеху становится короче.
Во-вторых, большая часть кода теперь одноразовая. Экономически целесообразнее писать и отбрасывать код, чем писать и переделывать.
В-третьих, проблемы разработки программного обеспечения, на которые раньше уходили годы, теперь появляются за недели или месяцы.
В-четвёртых, без руководства ИИ быстро сбивается с пути и падает в пропасть.
За время использования кодирующих агентов, таких как Cursor, я открыл для себя 12 стратегий, которые помогают ИИ не упасть в пропасть. Они были изучены тяжелым путём, методом проб и ошибок.
1. Используйте Agent.md
Одна из многих вещей, которые я заметил в отношении LLM, это то, что они все хотят добавлять “fallbacks” (резервные варианты).
Fallbacks — это условный код, который выполняется, когда первое условие не срабатывает. Это отлично, когда ваш код отправляется на Марс, но большинство кода туда не отправляется, уж точно не мой. Кроме того, fallbacks по своей природе содержат ошибки и в большинстве случаев не нужны.
Здесь на помощь приходит файл Agent.md. Вы можете указать LLM не использовать fallbacks. На самом деле, вы можете приказать ему делать что угодно. Всё, что вы добавили бы в подсказку, можно добавить в Agent.md. Файл автоматически добавляется в каждый новый контекст.
На данный момент каждый кодирующий агент имеет свой собственный файл agent.md. Cursor называет его .cursorrules, Claude Code называет его claude.md. Я подозреваю, что в ближайшем будущем кодирующие агенты стандартизируют общее имя.
В моём Agent.md я определяю паттерны программного обеспечения, стратегию тестирования и архитектуру, которую я хочу использовать. Всё, что я обнаруживаю, что агент делает повторно из-за отсутствия контекста или направления, я добавляю в файл.
Вот ссылка на репозиторий с правилами для агентов.
После настройки файла Agent.md вы захотите использовать ИИ без ограничений.
2. На полную мощность
Как Claude Code, так и Cursor AI по умолчанию запускаются в “безопасном режиме”. Безопасный режим требует разрешения для каждого вызова инструмента. После нескольких минут одобрения КАЖДОГО вызова инструмента я отказался от безопасного режима.
К счастью, каждый кодирующий агент позволяет вам отказаться от “безопасного режима”. Риск в том, что ИИ может сделать нежелательные вещи, но за время использования кодирующих агентов я никогда не видел, чтобы он делал что-то необратимое.
Я слежу за тем, что делает LLM, но я не чувствую себя комфортно, оставляя кодирующего агента без присмотра.
Честно говоря, если вы не просите LLM работать с живым production кодом, а я не знаю, почему вы бы это хотели, то безопасный режим вам не нужен.
Теперь, когда вы освободили своего кодирующего агента, нам нужно определить проблему.
3. Определение вашей проблемы
ИИ — буквалист. Вы получаете то, что просите, что означает, что расплывчатые подсказки дают расплывчатые результаты.
Я обнаружил, что предоставление ИИ подробных требований и просьба об “оценке” дают лучшие результаты. Это позволяет ИИ искать пробелы в дизайне и отвечать уточняющими вопросами. После пары обменов у вас будет твёрдый план.
В последних версиях как Cursor, так и Claude Code добавили “Plan Mode”, который формализует вышеописанный процесс.
Я иду дальше и прошу другой LLM проверить план. Например, я использую ChatGPT для первой оценки ИИ. Он генерирует markdown документ со всеми требованиями. Затем я даю этот документ Claude для обратной связи, и второй обзор Claude всегда находит упущенные пробелы.
Это дело вкуса, но ИИ, похоже, переусложняет для меня. Опять же, ИИ, похоже, думает, что код отправляется на Марс.
После того как вы согласовали план, попросите ИИ сохранить его в документ в вашем проекте.
Что подводит меня к следующему пункту.
4. Создайте поэтапный план
Разбиение больших функций на управляемые этапы и задачи
После создания плана попросите ИИ разбить работу на этапы. Вам нужны небольшие единицы работы; чем меньше, тем лучше. Чем меньше единица, тем выше вероятность успеха.
Некоторые кодирующие агенты делают это из коробки, но если нет, попросите их.
Даже лучший план потерпит неудачу, если вы не сможете отслеживать прогресс. Здесь на помощь приходят контрольные списки.
5. Попросите контрольный список
Попросите ИИ составить контрольный список и скажите, что он вам нужен для отслеживания прогресса. Многие кодирующие агенты добавили контрольный список в подсказку агента и интерфейс, но иногда мне всё ещё нужен контрольный список для отслеживания прогресса или долгосрочной работы.
Контрольный список также даёт ИИ что-то, против чего можно измерить себя, поэтому он знает, когда закончить.
Контрольные списки отлично работают, но как мы переносим контрольные списки между контекстами? Здесь на помощь приходит наш документ передачи.
6. Создайте документ передачи
Что такое документ передачи?
Документ передачи — это высокоуровневое описание приложения. Его цель — привести пустой контекст в курс дела относительно домена, кода и архитектуры вашего приложения.
В идеале агент продолжает работу там, где остановился предыдущий контекст.
В моём Agents.MD я инструктирую агента обновлять мой документ передачи с высокоуровневыми изменениями. Мы не хотим, чтобы в документе было каждое деталь; мне нужна высокоуровневая сводка, и я позволяю ИИ определить, что это.

Мой рабочий процесс выглядит примерно так:
Каждый раз, когда я начинал новый контекст, я включал мой документ передачи и инструктировал ИИ по новой функции. ИИ берёт задачу и начинает работать, как будто он в проекте уже 6 месяцев.
Документ передачи отлично работает для меньших приложений, но в больших приложениях он потребляет слишком много токенов и непрактичен. Я рассматриваю другие варианты, такие как векторная база данных или граф-база данных.
Но я всё ещё экспериментирую.
Я хотел бы услышать, как вы подходите к этой проблеме. Оставьте комментарий ниже.
Даже с контрольными списками и документом передачи ИИ делает ошибки. Здесь на помощь приходят коммиты.
7. Часто коммитьте
Делайте небольшие коммиты. Небольшие коммиты позволяют вам вернуться в известное хорошее состояние. Я обнаружил, что иногда ИИ идёт по кроличьей норе, и нет возможности восстановления.
Просто сбросьте.
8. Сбросьте контекст
Будьте беспощадны при сбросе контекста.
Иногда ИИ идёт по неправильному пути или делает ошибку, выходите и начните заново. Когда все ваши документы в порядке, начать новый контекст — это легко. Это блеск документа передачи.
Но буду честен, работая с ИИ — я очеловечиваю ИИ, потому что кажется, что я работаю с другим человеком, и нажатие кнопки сброса иногда трогает мою человечность.
Один из способов ограничить кроличьи норы — это тестирование.
9. Тестирование
Когда я был инженером-программистом, тестирование было ужасно. Написание кода тестов — одна из самых скучных работ для инженера-программиста.
С ИИ нет причины, по которой вы не должны тестировать свой код. ИИ напишет все тесты для вас. На самом деле, вы можете указать 80% покрытие тестами в agent.md, и кодирующий агент волшебным образом добавит тесты.
Я обнаружил, что тестирование полезно; помимо компонента качества, оно даёт ИИ структуру для проверки своей работы. Это приводит к коду более высокого качества и лучшему использованию ИИ.
Слово предостережения: я часто прошу ИИ вносить изменения в код без обновления тестов. После того как код работает, я прошу ИИ обновить тесты. Иногда ИИ относится к тестам слишком серьёзно и изменяет production код, чтобы он соответствовал тестам, отменяя все изменения, которые мы только что сделали.
Ещё один способ, которым я улучшил качество, — это автоматизация.
10. Автоматизируйте, автоматизируйте, автоматизируйте
Делайте всё как можно проще.
До ИИ я часто слышал: “Развёртывание в один клик, это было бы здорово, но у нас нет времени.” Теперь нет оправданий, ИИ автоматизирует всё для вас.
Моя цель — чтобы каждое действие было одной командой. Например:
- Если я хочу запустить приложение? ./start.sh.
- Я хочу запустить тесты. ./test.sh.
- Развернуть приложение? Вы угадали ./deploy.sh
Автоматизация служит двум целям:
- Во-первых, она экономит ваше время.
- Во-вторых, она устраняет человеческую ошибку из процесса.
Везде, где есть трение и несколько шагов, я хочу автоматизировать это. Но для решения более сложных проблем мне иногда нужны более мощные LLM.
11. Используйте лучший LLM
Не экономьте на производительности модели. Последние модели дорогие, но в попытке сэкономить деньги они могут вам стоить дороже.
Иногда Cursor рекомендует использовать режим Auto для экономии токенов. Хорошо, это звучит хорошо, что может пойти не так? Я всегда открыт для экономии денег. Поэтому я включил его и реализовал функцию. Это превратилось в катастрофу. Я потратил следующие 3 часа на распутывание беспорядка, используя последние модели, и это стоило в два раза больше, чем я бы заплатил, если бы не использовал режим auto. Моя точка зрения не в том, что режим auto плохой; это то, что работа над сложными проблемами требует лучших моделей.
Но иногда даже лучшие модели недостаточны; вам нужны правильные инструменты.
12. Инструменты
Думайте об ИИ как о мозге; он думает, но не может ничего делать. В этом сила инструмента. Он даёт ИИ возможность действовать.
Я разделяю инструменты кодирующего агента на два класса:
Два класса инструментов, которые улучшают кодирующих агентов ИИ
Первые — это инструменты, предназначенные для улучшения разработки программного обеспечения. Подумайте о MCP GitHub или Sequential Thinking MCP от Anthropic; эти инструменты обычно делают кодирующих агентов более способными.
Вторые — это инструменты, которые взаимодействуют с проектом. Например, MCP базы данных или инструмент командной строки. Эти инструменты дают кодирующим агентам возможность писать код, запускать его и тестировать результаты, завершая полный цикл обратной связи.
Блестящая вещь в ИИ в том, что если вам нужен инструмент и его нет, ИИ может создать его для вас.
Вот инструменты, которые я использую с Cursor:
Первый инструмент называется Serena. Serena пытается перенести задачи, такие как чтение файлов и сохранение данных в памяти, которые обычно требуют от ИИ генерирования команд для выполнения операции. Цель этого проекта — уменьшить количество используемых токенов и сохранить общие операции локальными.
Следующий инструмент, который я использую, называется Sequential Thinking от Anthropic. Если это от Anthropic, это почти гарантированно хорошо. Что делает этот инструмент, так это разбивает сложные проблемы на управляемые шаги. Он добавляет динамическое и рефлексивное решение проблем через структурированный процесс мышления.
Попробуйте, я поместил ссылку в описание.
Последний инструмент, который я использую, специфичен для проекта; он называется Neo4j MCP, и ИИ его создал. Это было неоценимо при работе с Neo4j. Раньше ИИ просил меня запустить запросы, а затем вставить результаты в чат. Это очень быстро стало обременительным. С инструментом ИИ запускает свои собственные запросы, и человеческое вмешательство не требуется.
Это красиво, и это быстрее. Если вы обнаружите трение в своем процессе разработки, попросите помощь у ИИ; вы можете быть удивлены, что получится.
В заключение
Давайте будем честны, работа с кодирующими агентами очень похожа на парное программирование с блестящим младшим программистом, который иногда забывает всё, что мы ему только что сказали. Эти 12 стратегий — это то, как я управляю этими отношениями. И они могут не работать для всех, или для вас, и это нормально. Найдите то, что работает для вас. Поэтому мой вопрос к вам: Что работает для вас? Оставьте комментарий ниже и дайте мне знать.
Автор: Chuck Conway — инженер AI с почти 30-летним опытом разработки программного обеспечения. Он создает практические системы AI — конвейеры контента, агенты инфраструктуры и инструменты, которые решают реальные проблемы — и делится тем, что он узнает на этом пути. Свяжитесь с ним в социальных сетях: X (@chuckconway) или посетите его на YouTube и на SubStack.