ソフトウェア開発の世界では、コードのレビューと承認は、開発中のソフトウェアの品質、セキュリティ、機能を保証するための重要なプロセスです。ただし、これらの重要なプロセスを監督する任務を負ったマネージャーは、次のような多くの課題に直面することがよくあります。
- 技術的専門知識の欠如 – マネージャーは、使用されているプログラミング言語について技術的に深く理解していないか、ソフトウェア エンジニアリングに長期間携わっていない可能性があります。その結果、知識のギャップが生じ、提案されたコード変更の影響と健全性を正確に評価することが困難になる可能性があります。
- 時間の制約 – コードのレビューと承認は、特に大規模またはより複雑なプロジェクトの場合、時間のかかるプロセスになる可能性があります。マネージャーは、レビューの徹底性とプロジェクトのスケジュールを遵守するというプレッシャーの間でバランスを取る必要があります。
- 変更リクエストの量 – 大量の変更リクエストに対処することは、特に複数のチームやプロジェクトを監督しているマネージャーにとって共通の課題です。時間の制約という課題と同様に、マネージャーはプロジェクトの進行を妨げないように、これらの要求を効率的に処理できる必要があります。
- 手作業による作業 – コードレビューには管理者による手動の作業が必要であり、自動化されていないためプロセスの拡張が困難になる可能性があります。
- ドキュメンテーション – コードのレビューと承認のプロセスを適切に文書化することは、透明性と説明責任のために重要です。
の上昇と 生成人工知能 (AI) により、管理者はこの革新的なテクノロジーを活用し、AWS の導入ツールおよびサービスのスイートと統合して、以前は不可能だった方法でレビューと承認のプロセスを合理化できるようになりました。この投稿では、自動化された変更分析と要約を承認ワークフロー機能とともに組み込んだ、統合されたエンドツーエンドの展開ワークフローを提供するソリューションを検討します。を使用しております アマゾンの岩盤は、主要な AI スタートアップ企業や Amazon の基盤モデル (FM) を API 経由で利用できるようにするフルマネージド サービスです。そのため、幅広い FM から選択して、ユースケースに最適なモデルを見つけることができます。 Amazon Bedrock サーバーレスエクスペリエンスを使用すると、インフラストラクチャを管理することなく、すぐに開始し、独自のデータで FM をプライベートにカスタマイズし、AWS ツールを使用してアプリケーションに統合してデプロイできます。
ソリューションの概要
次の図は、ソリューションのアーキテクチャを示しています。
ワークフローは次の手順で構成されます。
- 開発者は、新しいコードの変更をコード リポジトリにプッシュします (例: AWS コードコミット)、これにより自動的に開始がトリガーされます。 AWS コードパイプライン 配備
- アプリケーション コードはコード構築プロセスを経て、脆弱性スキャンを実行し、好みのツールを使用して単体テストを実施します。
- AWS コードビルド リポジトリを取得し、 git show コマンドを実行して、現在のコミット バージョンと以前のコミット バージョンのコードの差異を抽出します。これにより、このリリースで行われたコードの変更を示す行ごとの出力が生成されます。
- CodeBuild は出力を Amazon DynamoDB 追加の参照情報を含む表:
- CodePipeline 実行 ID
- AWSリージョン
- コードパイプライン名
- CodeBuild のビルド番号
- 日時
- Status:
- AmazonDynamoDBストリーム データの変更をキャプチャします テーブルに作られました。
- An AWSラムダ この関数は DynamoDB ストリームによってトリガーされ、キャプチャされたレコードを処理します。
- この関数は、Amazon Bedrock 経由で Amazon Bedrock 上の Anthropic Claude v2 モデルを呼び出します。 InvokeModel API 電話。コードの相違点はプロンプトとともに、分析用のモデルへの入力として提供され、コード変更の概要が出力として返されます。
- モデルからの出力は同じ DynamoDB テーブルに保存されます。
- マネージャーには次の方法で通知されます。 AmazonシンプルEメールサービス (Amazon SES) コード変更の概要と、デプロイには承認が必要であることを説明します。
- マネージャーは電子メールをレビューし、CodePipeline コンソールを介してレビュー コメントとともに決定 (承認または拒否) を提供します。
- 承認決定とレビューコメントは次のように取得されます。 アマゾンイベントブリッジこれにより、Lambda 関数がトリガーされ、DynamoDB に保存されます。
- 承認されると、パイプラインは好みのツールを使用してアプリケーション コードをデプロイします。拒否された場合、ワークフローは終了し、展開はそれ以上続行されません。
次のセクションでは、ソリューションをデプロイし、エンドツーエンドのワークフローを検証します。
前提条件
このソリューションの手順に従うには、次の前提条件が必要です。
ソリューションを展開する
ソリューションを展開するには、次の手順を実行します。
- 選択する 発射スタック CloudFormation スタックを起動するには
us-east-1
: - 電子メールアドレス、アクセスできる電子メール アドレスを入力します。コード変更の概要は、この電子メール アドレスに送信されます。
- モデルIDは、デフォルトの anthropic.claude-v2 (Anthropic Claude v2 モデル) のままにしておきます。
テンプレートのデプロイには約 4 分かかります。
- Amazon SES から E メールアドレスを確認するための E メールを受信したら、提供されるリンクを選択して E メールアドレスを認証します。
- CodeCommit へのサンプル リポジトリの最初のコミットに関する「変更の概要」というタイトルの電子メールが届きます。
- AWS CloudFormationコンソールで、に移動します 出力 デプロイされたスタックのタブ。
- RepoCloneURL の値をコピーします。これはサンプル コード リポジトリにアクセスするために必要です。
ソリューションをテストする
開発者の役割を引き受けてコードの変更をプッシュすることで、ワークフローをエンドツーエンドでテストできます。 CodeCommit にはサンプル コードのセットが用意されています。に CodeCommit リポジトリにアクセスする、IDE で次のコマンドを入力します。
次のディレクトリ構造が見つかります。 AWSクラウド開発キット 整数の文字列に対してバブルソートを実行する Lambda 関数を作成する (AWS CDK) アプリケーション。 Lambda 関数には、公開されている URL からアクセスできます。
アプリケーション コードに 3 つの変更を加えます。
- クイック ソート アルゴリズムとバブル ソート アルゴリズムの両方をサポートするように関数を強化するには、使用するアルゴリズムを選択できるようにパラメーターを取り込み、使用されるアルゴリズムとソートされた配列の両方を出力で返し、次の内容全体を置き換えます。
lambda/index.py
次のコードで:
- 関数のタイムアウト設定を 10 分から 5 秒に減らすには (関数の実行時間が数秒を超えることは想定されていないため)、次の行 47 を更新します。
my_sample_project/my_sample_project_stack.py
次のように:
- セキュリティを強化するために IAM を使用した関数の呼び出しを制限するには、次の行 56 を更新します。
my_sample_project/my_sample_project_stack.py
次のように:
- 次のコマンドを入力して、コードの変更をプッシュします。
これにより、ソリューションの概要で説明したステップ 1 ~ 9 の CodePipeline デプロイ ワークフローが開始されます。 Amazon Bedrock モデルを呼び出すときに、次のプロンプトが表示されました。
- SEO を活用したコンテンツと PR 配信。 今日増幅されます。
- PlatoData.Network 垂直生成 Ai。 自分自身に力を与えましょう。 こちらからアクセスしてください。
- プラトアイストリーム。 Web3 インテリジェンス。 知識増幅。 こちらからアクセスしてください。
- プラトンESG。 カーボン、 クリーンテック、 エネルギー、 環境、 太陽、 廃棄物管理。 こちらからアクセスしてください。
- プラトンヘルス。 バイオテクノロジーと臨床試験のインテリジェンス。 こちらからアクセスしてください。
- 情報源: https://aws.amazon.com/blogs/machine-learning/enhance-code-review-and-approval-efficiency-with-generative-ai-using-amazon-bedrock/
- :持っている
- :は
- :not
- $UP
- 1
- 10
- 100
- 11
- 17
- 200
- 27
- 58
- 7
- 8
- 9
- a
- できる
- 私たちについて
- 加速する
- アクセス
- アクセス可能な
- 説明責任
- 正確にデジタル化
- 達成する
- 実際に
- 追加されました
- 添加
- NEW
- 住所
- 追加
- 利点
- AI
- アルゴリズム
- アルゴリズム
- 許す
- 沿って
- Amazon
- Amazon Webサービス
- an
- 分析
- 分析
- 分析します
- および
- 人間原理
- どれか
- API
- アプリ
- 申し込み
- 承認
- 承認する
- 承認された
- 建築
- です
- 周りに
- 配列
- 人工の
- AS
- 評価する
- アシスト
- アシスタント
- 属性
- 増強された
- 認証された
- 認証
- 認める
- 自動化
- 自動的に
- オートメーション
- 利用できます
- AWS
- AWS CloudFormation
- バック
- ベース
- BE
- なぜなら
- き
- さ
- BEST
- の間に
- ボディ
- 両言語で
- 持って来る
- バブル
- ビルド
- 建物
- by
- コール
- 缶
- 取得することができます
- 捕捉した
- 場合
- CD
- 挑戦する
- 課題
- 変化する
- 変更
- 変更
- 選択する
- クラウド
- コード
- コードレビュー
- コード
- 注釈
- コミット
- コマンドと
- コンプリート
- 複雑な
- 特徴
- プロフェッショナルな方法で
- 行動する
- 結果
- 検討事項
- からなる
- 領事
- コンテンツ
- コンテキスト
- 作成した
- 作成します。
- 重大な
- 電流プローブ
- カスタマイズ
- データ
- 娘
- 取引
- 決定
- デフォルト
- 定義済みの
- 展開します
- 展開
- 展開する
- 展開
- 配備する
- 設計
- 希望
- ディテール
- 決定する
- 発展した
- Developer
- 開発
- ダイアグラム
- の違い
- 異なります
- 難しい
- ディレクトリにジョブを開始します。
- ドキュメント
- ありません
- ドント
- デュレーション
- 緩和する
- 効率
- 効率良く
- 努力
- どちら
- ほかに
- end
- 端から端まで
- 終了
- エンジニアリング
- 高めます
- 確保する
- 入力します
- 入る
- 全体
- 環境
- 特に
- イベント
- 例
- 除く
- 期待する
- 体験
- 実験
- 探る
- 探検する
- で
- エキス
- 顔
- 直面して
- 家族
- 少数の
- ファイナンシャル
- 金融機関
- もう完成させ、ワークスペースに掲示しましたか?
- 柔軟性
- フォロー中
- 次
- Foundation
- 無料版
- から
- 完全に
- function
- 機能的な
- 機能性
- さらに
- ギャップ
- 生成された
- 生々しい
- 生成AI
- 取得する
- 受け
- Gitの
- Go
- ゴエス
- 大きい
- ガイダンス
- ハンドル
- ハーネス
- 持ってる
- 持って
- he
- ハイ
- 非常に
- 彼の
- 認定条件
- しかしながら
- HTML
- HTTP
- HTTPS
- 人間
- i
- ID
- if
- 説明する
- 影響
- 実装
- 実装
- 意義
- 重要
- 改善します
- in
- 綿密な
- 組み込む
- index
- を示し
- 情報
- インフラ関連事業
- 初期
- 機関
- 説明書
- 統合する
- 統合された
- 統合する
- に
- 紹介します
- 呼び出す
- 関係する
- IT
- JSON
- 知っている
- 知識
- 欠如
- 言語
- より大きい
- 起動する
- 主要な
- コメントを残す
- less
- う
- LINE
- LINK
- リスト
- より長いです
- 製
- メイン
- 主要な
- make
- 作る
- 管理します
- マネージド
- マネージャー
- マネージャー
- 方法
- マニュアル
- 五月..
- 意味した
- 大会
- かもしれない
- 分
- モデル
- 修正
- 他には?
- 最も
- の試合に
- ナビゲート
- 必要
- 新作
- 次の
- いいえ
- なし
- 今
- 番号
- 多数の
- of
- オファー
- 頻繁に
- on
- の
- or
- その他
- さもないと
- でる
- 概説
- 出力
- 外側
- 全体
- 監督
- 概要
- 自分の
- パラメーター
- ペンディング
- 実行する
- 実行する
- 期間
- パイプライン
- 枢軸
- プラトン
- プラトンデータインテリジェンス
- プラトデータ
- 可能
- ポスト
- 潜在的な
- 電力
- 優先
- 準備
- 前提条件
- 圧力
- 前
- 前に
- 進む
- プロセス
- ラボレーション
- 作り出す
- 生産する
- プロフィール
- プログラミング
- 進捗
- プロジェクト
- プロジェクト(実績作品)
- プロンプト
- 適切な
- 提案された
- 提供します
- 提供
- は、大阪で
- 公然と
- 目的
- プッシュ
- 押す
- 品質
- クエリー
- クイック
- すぐに
- 範囲
- 受け取ります
- 記録
- 減らします
- 電話代などの費用を削減
- 軽減
- 参照
- 拒否されました..
- リリース
- replace
- 倉庫
- リクエスト
- の提出が必要です
- 要件
- 必要
- リソース
- 応答
- 制限する
- 結果
- return
- 収益
- レビュー
- レビュー
- 上昇
- 職種
- ラン
- s
- 同じ
- サンプル
- Save
- 保存されました
- ド電源のデ
- 規模
- スキャン
- 秒
- セクション
- 安全に
- セキュリティ
- 選択
- シニア
- 送信
- サーバレス
- サービス
- サービス
- セッションに
- 設定
- すべき
- 表示する
- 同様の
- 簡単な拡張で
- シンガポール
- So
- ソフトウェア
- ソフトウェア開発
- ソフトウェア工学
- 溶液
- ソリューション
- 一部
- ソース
- 指定の
- スピード
- 支出
- スタック
- start
- 開始
- 開始
- スタートアップ
- 手順
- ステップ
- 流れ
- 流線
- 文字列
- 構造
- そのような
- スイート
- 適した
- 概要
- サポート
- テーブル
- 取る
- 取得
- チーム
- 技術的
- テクノロジー
- template
- test
- テスト
- より
- それ
- 世界
- アプリ環境に合わせて
- それら
- そこ。
- ボーマン
- 彼ら
- この
- それらの
- 三
- 介して
- 引き締める
- 時間
- 時間がかかる
- タイムライン
- タイトル
- 〜へ
- 一緒に
- ツール
- 豊富なツール群
- 変形させる
- 透明性
- トリガ
- 試します
- 2
- 典型的な
- 理解する
- 単位
- アップデイト
- 更新しました
- URL
- us
- つかいます
- 使用事例
- 中古
- users
- 使用されます
- v1
- 値
- さまざまな
- 確認する
- バージョン
- 、
- ボリューム
- vs
- 脆弱性
- ました
- we
- ウェブ
- Webサービス
- WELL
- した
- いつ
- which
- ワイド
- 広い範囲
- 意志
- 以内
- 無し
- 仕事
- ワークフロー
- ワーキング
- 作品
- 世界
- X
- ヤムル
- You
- あなたの
- ゼファーネット