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

Безопасное использование агентов программирования: советы и подсказки по повышению производительности

Безопасное применение агентов кодирования к вашему домену.

Делиться

Безопасность кодирующего агента
Безопасное использование агентов кодирования повысит вашу производительность. Изображение предоставлено ChatGPT.

Программы-программисты, такие как Claude Code и Codex, значительно повысили мою эффективность в программировании, намного больше, чем приобретение более мощных компьютеров или изучение новых тем и методов.

Однако, распространённый случай при запуске агентов программирования на вашем компьютере выглядит следующим образом:

  1. Сколько прав доступа следует предоставить вашим агентам-программистам?
  2. Как безопасно запускать их, если предоставить им множество прав доступа?

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

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

Зачем запускать агенты кодирования?

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

Однако, как правило, указываются некоторые опасности, связанные с использованием агентов программирования, обычно упоминаются два следующих момента:

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

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

Безопасный запуск агентов кодирования

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

Почему вам не нужно вручную проверять весь код

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

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

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

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

Обеспечение того, чтобы агенты не совершали небезопасных действий.

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

Однако, исходя из моего опыта, у меня есть два контраргумента:

  1. Агенты-программисты очень, очень редко допускают подобные ошибки. Я обнаружил, что Claude Code и Codex почти всегда предупреждают меня перед принятием необратимого решения, или, по крайней мере, решения, которое трудно отменить. Они не просто совершают серьезные ошибки, которые очень сложно исправить.
  2. Если программист способен выполнить деструктивное действие, например, удалить производственную базу данных или что-то подобное, я бы сказал, что проблема не в программисте, а в структуре вашего кода. Очевидно, что ИИ или человек не должны иметь возможность полностью удалить производственную таблицу. Если это так, то, во-первых, вы предоставили им слишком широкие права доступа. Технически, человек тоже мог бы совершить эту ошибку. И, во-вторых, вы недостаточно хорошо структурировали свой код. Например, если таблица удалена, вы должны убедиться, что у вас есть резервная копия.

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

Сколько разрешений вы можете предоставить своим агентам?

Теперь давайте разберемся, сколько разрешений следует предоставлять вашим агентам программирования. При запуске агентов я использую Claude с --dangerously-skip-permissions и Codex в режиме YOLO. Это означает, что я прошу его практически никогда не запрашивать у меня разрешения при выполнении действий. Единственное исключение — это, например, команда rm , при рекурсивном удалении, как показано ниже:

 rm -rf

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

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

В целом, я думаю, ваше правило должно быть таким:

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

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

Методы безопасного запуска агентов кодирования

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

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

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

  • Создайте код
  • Проведите проверку кода.
  • Проведите итерации по коду с учетом результатов проверки кода.
  • Проведите еще одну проверку кода.

и так далее, пока и рецензент, и разработчик кода не будут довольны.

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

Заключение

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

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

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

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

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

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

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

💌 Substack

🔗 LinkedIn

🐦 X / Twitter

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

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

✅ Найденные теги: Агентов, Безопасное, Использование, новости, Программирования, Советы

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

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

Архив рубрики ~Обо всем~: Это мои любимые гаджеты для создания уютной атмосферы в доме, и все они сейчас продаются со скидкой. Архив рубрики ~Обо всем~: Лучшие телевизоры 2026 года: тестирование и обзоры экспертов. Архив рубрики ~Обо всем~: Переход к эффективным токенам: решение проблемы агентского сжигания токенов Архив рубрики ~Обо всем~: Обзор Ultrahuman Ring Pro: будущее умных колец очень похоже на настоящее. Архив рубрики ~Обо всем~: 5 аксессуаров для iPad, о покупке которых я никогда не пожалею (включая альтернативу Apple Pencil за 35 долларов) Архив рубрики ~Обо всем~: Sony выплатит 7,85 млн долларов в виде подарочных сертификатов для PlayStation Store в рамках урегулирования спора по поводу игровых ваучеров. Архив рубрики ~Обо всем~: Гибридный ИИ: сочетание детерминированного анализа с логическим мышлением на основе логики LLM. Архив рубрики ~Обо всем~: Компания Ayaneo анонсировала очередной ремейк для Game Boy, но на этот раз с искусственным интеллектом.