В мире разработки программного обеспечения проверка и утверждение кода являются важными процессами для обеспечения качества, безопасности и функциональности разрабатываемого программного обеспечения. Однако менеджеры, которым поручено контролировать эти критически важные процессы, часто сталкиваются с многочисленными проблемами, такими как следующие:
- Отсутствие технических знаний – Менеджеры могут не иметь глубокого технического понимания используемого языка программирования или не заниматься разработкой программного обеспечения в течение длительного периода. Это приводит к пробелу в знаниях, из-за которого им может быть сложно точно оценить влияние и обоснованность предлагаемых изменений кода.
- Временные ограничения – Проверка и утверждение кода может занять много времени, особенно в более крупных и сложных проектах. Менеджерам необходимо балансировать между тщательностью проверки и необходимостью соблюдать сроки проекта.
- Объем запросов на изменение – Обработка большого количества запросов на изменения – обычная задача для менеджеров, особенно если они курируют несколько команд и проектов. Подобно проблеме нехватки времени, менеджеры должны иметь возможность эффективно обрабатывать эти запросы, чтобы не замедлять ход проекта.
- Ручное усилие – Проверка кода требует от менеджеров ручных усилий, а отсутствие автоматизации может затруднить масштабирование процесса.
- Документация – Надлежащая документация процесса проверки и утверждения кода важна для прозрачности и подотчетности.
С ростом генеративный искусственный интеллект (ИИ), менеджеры теперь могут использовать эту преобразующую технологию и интегрировать ее с набором инструментов и сервисов развертывания AWS, чтобы упростить процесс проверки и утверждения ранее невозможным способом. В этом посте мы исследуем решение, которое предлагает интегрированный сквозной рабочий процесс развертывания, включающий автоматический анализ и обобщение изменений вместе с функциональностью рабочего процесса утверждения. Мы используем Коренная порода Амазонки, полностью управляемый сервис, который делает базовые модели (FM) от ведущих стартапов в области искусственного интеллекта и Amazon доступными через API, поэтому вы можете выбирать из широкого спектра FM, чтобы найти модель, которая лучше всего подходит для вашего варианта использования. Благодаря бессерверному использованию Amazon Bedrock вы можете быстро приступить к работе, конфиденциально настроить FM с использованием собственных данных, а также интегрировать и развернуть их в своих приложениях с помощью инструментов AWS без необходимости управлять какой-либо инфраструктурой.
Обзор решения
Следующая диаграмма иллюстрирует архитектуру решения.
Рабочий процесс состоит из следующих шагов:
- Разработчик отправляет новые изменения кода в свой репозиторий кода (например, AWS CodeCommit), что автоматически запускает Кодовый конвейер AWS развертывание.
- Код приложения проходит процесс сборки кода, выполняет сканирование уязвимостей и модульные тесты с использованием предпочитаемых вами инструментов.
- Сборка кода AWS извлекает репозиторий и выполняет команду git show, чтобы извлечь различия кода между текущей версией фиксации и предыдущей версией фиксации. Это создает построчный вывод, показывающий изменения кода, внесенные в эту версию.
- CodeBuild сохраняет выходные данные в файл Amazon DynamoDB таблица с дополнительной справочной информацией:
- Идентификатор запуска CodePipeline
- AWS Регион
- Имя кодового конвейера
- Номер сборки CodeBuild
- Дата и время
- Статус:
- Потоки Amazon DynamoDB фиксирует изменения данных подали к столу.
- An AWS Lambda Функция запускается потоком DynamoDB для обработки захваченной записи.
- Функция вызывает модель Anthropic Claude v2 на Amazon Bedrock через Amazon Bedrock. API-интерфейс InvokeModel вызов. Различия в коде вместе с подсказкой предоставляются в качестве входных данных для анализа модели, а сводка изменений кода возвращается в качестве выходных данных.
- Выходные данные модели сохраняются обратно в ту же таблицу DynamoDB.
- Уведомление менеджера осуществляется через Простой почтовый сервис Amazon (Amazon SES) сводки изменений кода и того, что для развертывания требуется их одобрение.
- Менеджер просматривает электронное письмо и сообщает свое решение (одобрить или отклонить) вместе с комментариями по проверке через консоль CodePipeline.
- Решение об утверждении и комментарии по проверке фиксируются Amazon EventBridge, который запускает функцию Lambda для сохранения их обратно в DynamoDB.
- В случае одобрения конвейер развертывает код приложения с использованием предпочитаемых вами инструментов. В случае отклонения рабочий процесс завершается, и развертывание не продолжается дальше.
В следующих разделах вы развернете решение и проверите сквозной рабочий процесс.
Предпосылки
Чтобы следовать инструкциям в этом решении, необходимы следующие предварительные условия:
Разверните решение
Чтобы развернуть решение, выполните следующие действия:
- Выберите Стек запуска для запуска стека CloudFormation в
us-east-1
: - Что касается Адрес электронной почты, введите адрес электронной почты, к которому у вас есть доступ. Сводка изменений кода будет отправлена на этот адрес электронной почты.
- Что касается идентификатор модели, оставьте значение по умолчанию anthropic.claude-v2, которое является моделью Anthropic Claude v2.
Развертывание шаблона займет около 4 минут.
- Когда вы получите электронное письмо от Amazon SES для подтверждения вашего адреса электронной почты, выберите предоставленную ссылку для авторизации вашего адреса электронной почты.
- Вы получите электронное письмо с заголовком «Сводка изменений» для первоначальной фиксации образца репозитория в CodeCommit.
- В консоли AWS CloudFormation перейдите к Выходы вкладка развернутого стека.
- Скопируйте значение RepoCloneURL. Это необходимо для доступа к репозиторию примеров кода.
Проверить решение
Вы можете протестировать рабочий процесс от начала до конца, взяв на себя роль разработчика и внеся некоторые изменения в код. В CodeCommit для вас подготовлен набор примеров кода. К доступ к репозиторию CodeCommit, введите следующие команды в вашей IDE:
Вы найдете следующую структуру каталогов для Комплект для разработки облачных сервисов AWS (AWS CDK) приложение, которое создает лямбда-функцию для пузырьковой сортировки строки целых чисел. Доступ к функции Lambda осуществляется через общедоступный URL-адрес.
Вы вносите три изменения в коды приложений.
- Чтобы улучшить функцию для поддержки как быстрой сортировки, так и алгоритма пузырьковой сортировки, возьмите параметр, позволяющий выбрать используемый алгоритм, и верните как используемый алгоритм, так и отсортированный массив на выходе, замените все содержимое
lambda/index.py
со следующим кодом:
- Чтобы уменьшить время ожидания функции с 10 минут до 5 секунд (поскольку мы не ожидаем, что функция будет работать дольше нескольких секунд), обновите строку 47 в
my_sample_project/my_sample_project_stack.py
следующим образом:
- Чтобы ограничить вызов функции с помощью IAM для дополнительной безопасности, обновите строку 56 в
my_sample_project/my_sample_project_stack.py
следующим образом:
- Нажмите на изменения кода, введя следующие команды:
Это запустит рабочий процесс развертывания CodePipeline с шагов 1–9, как описано в обзоре решения. При вызове модели Amazon Bedrock мы предоставили следующую подсказку:
- SEO-контент и PR-распределение. Получите усиление сегодня.
- PlatoData.Network Вертикальный генеративный ИИ. Расширьте возможности себя. Доступ здесь.
- ПлатонАйСтрим. Интеллект Web3. Расширение знаний. Доступ здесь.
- ПлатонЭСГ. Углерод, чистые технологии, Энергия, Окружающая среда, Солнечная, Управление отходами. Доступ здесь.
- ПлатонЗдоровье. Биотехнологии и клинические исследования. Доступ здесь.
- Источник: https://aws.amazon.com/blogs/machine-learning/enhance-code-review-and-approval-efficiency-with-generative-ai-using-amazon-bedrock/
- :имеет
- :является
- :нет
- $UP
- 1
- 10
- 100
- 11
- 17
- 200
- 27
- 58
- 7
- 8
- 9
- a
- в состоянии
- О нас
- ускорять
- доступ
- доступной
- отчетность
- точно
- Достигать
- на самом деле
- добавленный
- дополнение
- дополнительный
- адрес
- Добавляет
- плюс
- AI
- алгоритм
- алгоритмы
- позволять
- вдоль
- Amazon
- Amazon Web Services
- an
- Анализ
- анализ
- анализировать
- и
- Антропный
- любой
- API
- приложение
- Применение
- Приложения
- утверждение
- утвердить
- утвержденный
- архитектура
- МЫ
- около
- массив
- искусственный
- AS
- оценить
- помощь
- помощник
- Атрибуты
- дополненная
- подлинности
- Аутентификация
- санкционировать
- Автоматизированный
- автоматически
- автоматизация
- доступен
- AWS
- AWS CloudFormation
- назад
- Баланс
- основанный
- BE
- , так как:
- было
- не являетесь
- ЛУЧШЕЕ
- между
- тело
- изоферменты печени
- приносить
- пузырь
- строить
- Строительство
- by
- призывают
- CAN
- Может получить
- захваченный
- случаев
- CD
- вызов
- проблемы
- изменение
- менялась
- изменения
- Выберите
- чистым
- облако
- код
- Обзор кода
- Коды
- Комментарии
- совершать
- Общий
- полный
- комплекс
- краткий
- Проводить
- дирижирует
- Последствия
- соображения
- состоит
- Консоли
- содержание
- контекст
- создали
- создает
- критической
- Текущий
- настроить
- данным
- дочь
- занимавшийся
- решение
- По умолчанию
- определенный
- развертывание
- развернуть
- развертывание
- развертывание
- развертывает
- Проект
- желанный
- Детализация
- Определять
- развитый
- Застройщик
- Развитие
- диаграмма
- Различия
- различный
- трудный
- каталог
- документации
- приносит
- Dont
- продолжительность
- простота
- затрат
- эффективно
- усилие
- или
- еще
- конец
- впритык
- окончания поездки
- Проект и
- повышать
- обеспечение
- Enter
- входящий
- Весь
- Окружающая среда
- особенно
- События
- пример
- Кроме
- ожидать
- опыт
- Эксперименты
- Больше
- исследует
- расширенная
- извлечение
- Face
- сталкиваются
- семья
- несколько
- финансовый
- Финансовые институты
- Найдите
- Трансформируемость
- следовать
- после
- следующим образом
- Что касается
- Год основания
- Бесплатно
- от
- полностью
- функция
- функциональная
- функциональность
- далее
- разрыв
- генерируется
- генеративный
- Генеративный ИИ
- получить
- получающий
- идти
- Go
- идет
- большой
- руководство
- обрабатывать
- упряжь
- Есть
- имеющий
- he
- High
- очень
- его
- держать
- Как
- Однако
- HTML
- HTTP
- HTTPS
- человек
- i
- ID
- if
- иллюстрирует
- Влияние
- реализация
- Осуществляющий
- последствия
- важную
- улучшать
- in
- углубленный
- включает в себя
- индекс
- указывает
- информация
- Инфраструктура
- начальный
- вход
- учреждения
- инструкции
- интегрировать
- интегрированный
- Интегрируется
- в
- Представляет
- Запускает
- вовлеченный
- IT
- JSON
- Знать
- знания
- Отсутствие
- язык
- больше
- запуск
- ведущий
- Оставлять
- Меньше
- позволять
- линия
- LINK
- Список
- дольше
- сделанный
- Главная
- основной
- сделать
- ДЕЛАЕТ
- управлять
- управляемого
- менеджер
- Менеджеры
- способ
- руководство
- Май..
- означает,
- Встречайте
- Метаданные
- может быть
- Минут
- модель
- Модели
- изменения
- БОЛЕЕ
- самых
- с разными
- Откройте
- Необходимость
- Новые
- следующий
- нет
- Ничто
- сейчас
- номера
- многочисленный
- of
- Предложения
- .
- on
- только
- or
- Другое
- в противном случае
- внешний
- изложенные
- выходной
- внешнюю
- общий
- контроль
- обзор
- собственный
- параметр
- в ожидании
- Выполнять
- выполняет
- период
- трубопровод
- Стержень
- Платон
- Платон Интеллектуальные данные
- ПлатонДанные
- возможное
- После
- потенциал
- мощностью
- привилегированный
- подготовленный
- предпосылки
- давление
- предыдущий
- предварительно
- продолжить
- процесс
- Процессы
- производит
- производит
- Профиль
- Программирование
- Прогресс
- Проект
- проектов
- наводящие
- правильный
- предложило
- обеспечивать
- при условии
- приводит
- публично
- цель
- выталкивает
- Нажимать
- запрос
- САЙТ
- быстро
- ассортимент
- Получать
- запись
- уменьшить
- Цена снижена
- снижает
- ссылка
- Отклоненный..
- освободить
- замещать
- хранилище
- Запросы
- обязательный
- Требования
- требуется
- Полезные ресурсы
- ответ
- ограничивать
- Итоги
- возвращают
- Возвращает
- обзоре
- Отзывы
- Рост
- Роли
- Run
- s
- то же
- образец
- Сохранить
- сохраняются
- масштабируемые
- Шкала
- сканирует
- секунды
- разделах
- безопасный
- безопасность
- выбор
- старший
- послать
- Serverless
- обслуживание
- Услуги
- набор
- установка
- должен
- показывать
- аналогичный
- просто
- Сингапур
- So
- Software
- разработка программного обеспечения
- разработка программного обеспечения
- Решение
- Решения
- некоторые
- Источник
- указанный
- скорость
- проводит
- стек
- Начало
- и политические лидеры
- начинается
- Стартапы
- Шаг
- Шаги
- поток
- упорядочить
- строка
- Структура
- такие
- suite
- подходящий
- РЕЗЮМЕ
- поддержка
- ТАБЛИЦЫ
- взять
- с
- команды
- Технический
- Технологии
- шаблон
- тестXNUMX
- тестов
- чем
- который
- Ассоциация
- мир
- их
- Их
- Там.
- Эти
- они
- этой
- те
- три
- Через
- затягивает
- время
- кропотливый
- сроки
- титулованный
- в
- вместе
- инструментом
- инструменты
- преобразующей
- Прозрачность
- срабатывает
- стараться
- два
- типичный
- понимание
- Ед. изм
- Обновление ПО
- обновление
- URL
- us
- использование
- прецедент
- используемый
- пользователей
- использования
- через
- v1
- ценностное
- различный
- проверить
- версия
- с помощью
- объем
- vs
- уязвимость
- законопроект
- we
- Web
- веб-сервисы
- ЧТО Ж
- были
- когда
- который
- широкий
- Широкий диапазон
- будете
- в
- без
- Работа
- рабочий
- работает
- работает
- Мир
- X
- YAML
- Ты
- ВАШЕ
- зефирнет