Google-инженеры меняют подход к проверке кода с помощью ИИ
...
Искусственный интеллект
Чтение занимает время?
Вы можете слушать статьиНовый взгляд на проверку кода с искусственным интеллектом
Команда Google Cloud, работающая с разработчиками, опросила десять инженеров о самом важном запросе (prompt), который они используют при работе с искусственным интеллектом. Специалисты предпочитают не просто использовать ИИ как помощника, а рассматривать его как оппонента и источник альтернативных идей. Такой подход открывает новые возможности для повышения качества программного обеспечения.
Разные методы инженеров
Мая Билич задаёт модели скептическую роль, запрещая ей писать код напрямую и требуя критического анализа технических, UX и архитектурных аспектов. Эндрю Бродгон уделяет приоритетное внимание проверке тестов и созданию тест-планов. Ая Хаммерли очищает код с помощью двух отдельных запросов — один выявляет недостатки тестов, другой — неиспользуемый код и ошибки. Рич Хиндман проводит специализированный аудит соответствия разрешений Android.
Шир Меир Ладор строго оценивает код по шкале от A до F, а Джеймс О’Рейли требует от модели объяснений по компромиссам между производительностью, стоимостью, безопасностью и устойчивостью предложенного плана. Эмма Тверски создаёт чек-листы на основе внешних исследований, а Фред Саур применяет специфичные запросы для разных этапов работы.
Автоматизация проверки и интеграция с GitHub Actions
Ремигиуш Самборски разработал скрипт для автоматизированной проверки кода. Он требует Python 3.9+ и библиотеки Anthropic. Скрипт анализирует изменения через git diff, оценивает их и интегрируется с GitHub Actions, позволяя автоматически проверять каждый pull request.
Вопросы безопасности и качества ПО
Исследование GitHub Copilot 2022 года показало, что примерно в 40% программ из 1689 проектов и 89 сценариев безопасности обнаружены реальные уязвимости. Это подчёркивает важность использования ИИ в проверке кода.
Новая эра сотрудничества человека и технологии
Такой подход демонстрирует новый этап в разработке ПО, где опыт инженера и возможности ИИ работают вместе. Использование ИИ не только как помощника, но и как критика и соперника помогает создавать более надёжный и чистый код. Это облегчает работу программистов и повышает безопасность программ.
Эти инновации влияют на жизнь как разработчиков, так и пользователей, способствуя появлению более качественных и надёжных продуктов.