Закажи экспресс-аудит своего дела онлайн всего за 199 ₽
и получи рекомендации по улучшению - Жми сюда !

Как писать надежный код с помощью Claude Code

Улучшить качество вывода кода Клода.

Делиться

c2e0001688552757ddc9f73d0abfdfe8
Создавайте более надежный код с помощью агентов кодирования. Изображение предоставлено ChatGPT.

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

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

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

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

Зачем нужен надежный код?

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

У меня есть два основных ответа на последний пункт:

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

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

Как создать изначально надежный код

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

Активное использование планового режима

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

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

Гораздо эффективнее, когда вопросы задают сами магистраны права, чем когда вопросы задают вы магистрам права.

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

Ведение файлов навыков

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

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

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

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

Избегайте запуска агента со слишком большим контекстным окном.

Еще одна очень распространенная причина, по которой я получаю ненадежный, уязвимый или содержащий ошибки код, заключается в том, что я запускаю своего агента со слишком большим контекстом. Например, Клод Код недавно выпустил свою модель с контекстом в 1 миллион токенов. Контекстное окно в 1 миллион токенов чрезвычайно велико и может содержать много информации. Однако, по моему опыту, производительность модели сильно снижается, как только вы превышаете 300-400 тысяч токенов, что составляет всего 30-40% от максимального контекстного окна модели.

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

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

Как проверить надежность кода с помощью агентов кодирования

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

Проверка кода агента кодирования

Первый и, пожалуй, самый простой способ создать более надежный код — это поручить агентам-программистам проверять код, созданный другими агентами. Для этого нужно создать нового агента-программиста с чистым контекстным окном, за исключением, конечно, его подсказки: проанализировать код в запросе на слияние и проверить наличие ошибок.

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

Полезный совет: используйте отдельную модель или другую модель для проверки кода. Например, если у вас код, написанный Клодом, пишите свой код. В целом, в некоторых сценариях может быть полезно, по крайней мере, чтобы код проверил другой агент, например, GPT 5.5 или Gemini 3. Это связано с тем, что разные агенты мыслят по-разному и, следовательно, в некоторых сценариях смогут лучше обнаруживать ошибки.

Предварительное обнаружение фиксации

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

По сути, это означает обращение к агенту со следующим вопросом:

Готов ли код к разработке?

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

Заключение

В этой статье я рассказал о том, как использовать агенты программирования для создания надежного кода и обеспечения его корректной работы. Конечно, с момента выхода ChatGPT в 2022 году агенты программирования значительно улучшились. Однако они по-прежнему подвержены ошибкам, особенно при неправильном использовании. Я рассмотрел две основные техники: создание изначально надежного кода и проверку кода после его внедрения на наличие потенциальных ошибок и проблем, которые могут возникнуть. В целом, я считаю, что оптимизация работы агентов программирования для достижения оптимальной производительности станет невероятно важной в будущем, и многие из описанных в этой статье методов останутся актуальными, даже если общая производительность LLM значительно возрастет. Я просто призываю вас учесть эти советы и оптимизировать работу ваших агентов программирования.

👋 Свяжитесь с нами

👉 Моя бесплатная электронная книга и вебинар:

🚀 Увеличьте свои инженерные знания в 10 раз с помощью магистратуры (бесплатный 3-дневный курс по электронной почте)

📚 Получите мою бесплатную электронную книгу «Модели визуального языка».

💻 Мой вебинар по языковым моделям зрения

👉 Найдите меня в социальных сетях:

💌 Substack

🔗 LinkedIn

🐦 X / Twitter

Эйвинд Кьосбаккен Посмотреть все Эйвинд Кьосбаккен

Источник: towardsdatascience.com

✅ Найденные теги: Claude, Как, Код, Надежный, новости, Писать, Помощью

Добавить комментарий

Нет других записей в этой рубрике.

Новости других рубрик

Архив рубрики ~Обо всем~: В магазинах Best Buy и Amazon значительно снизили цены на SSD-накопители — я нашел лучшие предложения по хранению данных. Архив рубрики ~Обо всем~: Премьер-лига по футболу: смотрите матч Тоттенхэм — Эвертон в прямом эфире из любой точки мира. Архив рубрики ~Обо всем~: Полное руководство для начинающих по созданию ИИ-агента на Python. Архив рубрики ~Обо всем~: Star Citizen: роль иностранных инвесторов в развитие игры, хотя и замедлилась, до сих пор continues Архив рубрики ~Обо всем~: Лучшие телевизоры ко Дню Памяти 2026 года: скидки на популярные модели от Samsung, LG и других производителей Архив рубрики ~Обо всем~: Внутри крупнейшей в мире ставки на термоядерную энергетику Архив рубрики ~Обо всем~: Как математически выбрать оптимальные интервалы для вашей гистограммы Архив рубрики ~Обо всем~: Программа IEEE TryEngineering OnCampus расширилась до 7 университетов.