Узнайте, как писать надежный код с помощью агентов программирования.
Делиться

Агенты для разработки кода могут быстро генерировать большие объемы кода. Используя такие инструменты, как Cursor или Claude Code, вы можете быстро разрабатывать мощные и эффективные приложения. Однако во многих случаях исходный код, сгенерированный этими моделями, не полностью готов к использованию в производственной среде.
В коде много особенностей и недостатков, которые могут иметь серьезные последствия при попытке развертывания кода в продакшене. Поэтому необходимо применять специальные методы, чтобы убедиться, что код, сгенерированный с помощью Claude Code, готов к использованию в продакшене.
В этой статье я расскажу, как убедиться, что код, сгенерированный Claude Code, готов к использованию в производственной среде и обеспечивает бесперебойную работу нашего бизнеса в разработанном приложении.

Почему стоит использовать Claude Code для генерации кода?
Прежде всего, нам нужно обсудить, почему вам следует генерировать код с помощью программистов-агентов, таких как Claude Code. Главная причина заключается в том, что это экономит вам много времени. Написание кода вручную, конечно же, крайне медленно. Следующий уровень программирования с помощью агентов — это автодополнение, когда вы начинаете писать части кода, а ИИ дополняет его за вас.
Однако даже время выполнения кажется медленным, когда начинаешь разрабатывать системы с полностью агентным управлением. Причина в том, что ты можешь просто описать, что хочешь создать или чего хочешь достичь, и программист сможет это сделать за тебя.
Конечно, вы получаете меньший контроль над самим кодом, но с новейшими моделями программирования, такими как Claude Opus 4.6, эти модели способны генерировать код, который соответствует тому, что может написать человек.
Генерация кода с помощью агентов кодирования необходима, поскольку это значительно экономит время, а также потому, что агенты кодирования достаточно эффективны для создания качественного кода, который будет хорошо работать при развертывании в продакшене, при условии принятия необходимых мер предосторожности, о которых я расскажу в следующем разделе.
Как убедиться, что сгенерированный вами код готов к использованию в производственной среде
Для обеспечения готовности кода к использованию в производственной среде необходимо учитывать два основных аспекта. Первый — это предоставление корректных входных данных и подсказок для Claude Code при первой итерации кода, чтобы гарантировать его максимальную надежность и готовность к использованию в производственной среде.
Второй шаг — это наличие функции проверки, которая позволяет просмотреть первоначально разработанный код, оценить его и определить, что необходимо исправить для развертывания кода в производственной среде.
Для каждого шага я напишу отдельный подраздел:
Повышение надежности исходного кода.
Этот шаг важен, потому что именно здесь генерируется начальная версия кода, и, конечно же, вы хотите, чтобы сгенерированный код был как можно лучше. Теперь нам нужно убедиться, что сгенерированный агентом начальный код корректен и готов к использованию в производственной среде, насколько это возможно. Также важно учитывать, что разработанный начальный код будет сильно влиять на архитектуру. Трудно полностью изменить архитектуру путем итераций кода. Структура архитектуры обычно создается на первой итерации сгенерированного кода. Если вы хотите изменить архитектуру позже, вам, как правило, нужно просто начать с нуля, сгенерировав совершенно новый код.
Основной принцип, по которому я повышаю надежность и готовность к использованию в производственной среде на начальном этапе разработки кода, заключается в следующем:
- Я обновил файлы Claude.md и Agents.md во всех своих репозиториях, указав Claude Code, как генерировать код и на что следует обращать внимание.
- Я активный пользователь режима планирования, в котором я обязательно уделяю достаточно времени планированию с помощью своего агента по программированию, прежде чем начинать реализацию. Это важно для того, чтобы убедиться, что агент по программированию действительно реализует приложение, которое я задумал.
- Вы даете агенту четкие инструкции и убеждаетесь, что понимаете проблему, с которой имеете дело. Также вы предоставляете агенту всю необходимую информацию для принятия обоснованных решений.
Что касается файлов Claude.md и Agents.md, то обычно этого можно добиться, всегда обновляя эти файлы при каждом изменении кода в репозитории. Так, если вы внедряете новую функцию или исправляете ошибку, вы выполняете эту задачу, а затем указываете агенту обобщить знания из ветки обсуждения, где была реализована функция/исправлена ошибка, и записать это в файлы Claude.md или Agents.md.
Что касается второго пункта об использовании режима планирования, это невероятно важно, потому что вам нужно убедиться, что агент понимает вашу идею. Одна из сложностей написания подсказок на естественном языке вместо набора кода заключается в том, что вы менее явно указываете, что хотите создать. Конечно, написание кода — это высший уровень явности, потому что вы буквально пишете логику. Однако это недостаточно эффективно, поэтому мы используем естественный язык. Но при использовании естественного языка нам снова приходится сталкиваться с проблемой четкого изложения того, что мы хотим создать. Вот где режим планирования оказывается полезным, поскольку он позволяет агенту задавать вам уточняющие вопросы, чтобы убедиться, что он понимает поставленную задачу.
Наконец, крайне важно давать агенту четкие инструкции, и вы должны убедиться, что сами достаточно хорошо понимаете задачу. Если вы сами недостаточно хорошо понимаете задачу, вам будет очень сложно объяснить агенту, как эффективно ее решить. Кроме того, крайне важно, чтобы у агента было достаточно контекста. Если ему нужно читать сообщения в Linear или Slack, важно предоставить агенту доступ к этой информации, чтобы он мог самостоятельно принять наилучшие возможные решения.
Повышение надежности посредством итераций
Если вы дошли до этого момента, значит, вы уже реализовали начальную часть кода, и теперь вам нужно внести несколько итераций, чтобы убедиться, что код готов к использованию в производственной среде и работает должным образом.
На данном этапе разработки я хочу выделить два момента. Первый, конечно же, это тщательное тестирование реализации. Я трачу значительно больше времени на тестирование кода, созданного моими агентами, по сравнению с тем, что было раньше. Это, конечно, связано с тем, что реализация кода стала общедоступной благодаря программистам, в то время как тестирование по-прежнему важно для участия людей, чтобы убедиться, что реализация работает должным образом.
Таким образом, даже если вам кажется, что вы тратите много времени на тестирование кода, я обычно считаю, что это того стоит, потому что процесс разработки по-прежнему намного эффективнее, чем раньше. Мы просто тратим больше времени на тестирование кода, потому что этап реализации стал намного эффективнее.
Во-вторых, хочу отметить, что у меня на компьютере настроен отдельный навык для проверки запросов на слияние (PR). Я могу просто попросить свой Claude Code использовать этот навык, и он прочитает любой созданный мной запрос на слияние или код и убедится, что он готов к использованию в продакшене. Ещё более мощным этот навык делает то, что я явно указал ему информацию о репозитории, где раньше допускались ошибки, и код работал не так, как предполагалось.
Это могут быть конкретные случаи, когда при внедрении чего-либо в продакшн возникли ошибки, или конкретные меры предосторожности, которые необходимо соблюдать при написании кода в определенном репозитории.
Заключение
В этой статье я рассказал, как создавать готовый к продакшену код с помощью Claude Code. Я затронул два основных момента, которые помогают мне убедиться в готовности кода, генерируемого моими агентами по кодированию, к продакшену. Во-первых, я тщательно подхожу к созданию начальных версий кода, активно используя файлы Claude.md, режим планирования и предоставляя агенту четкие инструкции. Во-вторых, я повышаю готовность кода к продакшену, постоянно совершенствуя его с помощью тестирования и проверки запросов на слияние (pull request). Это позволяет выявить множество проблем, избегая развертывания ошибок в продакшене. В дальнейшем, я думаю, наличие описанных в этой статье инструментов для обеспечения готовности сгенерированного кода к продакшену будет невероятно важным. У каждого разработчика нет достаточно времени для полной проверки запросов на слияние, учитывая скорость разработки кода с помощью агентов по кодированию. Нам необходимо активно использовать агентов по кодированию не только для генерации кода, но и для его проверки.
👉 Моя бесплатная электронная книга и вебинар:
🚀 Десять раз повысьте свой инженерный уровень с помощью магистратуры (бесплатный 3-дневный курс по электронной почте)
📚 Получите мою бесплатную электронную книгу «Модели визуального языка».
💻 Мой вебинар по языковым моделям зрения
👉 Найдите меня в социальных сетях:
💌 Substack
🐦 X / Twitter
Эйвинд Кьосбаккен Посмотреть все Эйвинд Кьосбаккен
Источник: towardsdatascience.com




















