00:00:00GitHubが非常に興味深いツールをリリースしました。「Agentic Workflows」という名前で、
00:00:05自然言語プログラミングを使って、CI/CDパイプラインの管理を簡素化することを目的としています。
00:00:12これは素晴らしいアイデアで、リポジトリの維持やモデレートの方法を近代化するかもしれません。
00:00:18この動画では、GitHub Agentic Workflowsがどのように機能するのかを詳しく見ていき、
00:00:24自分のリポジトリに設定する方法を紹介します。とても楽しい内容になるはずです。
00:00:28それでは始めていきましょう。
00:00:30GitHub Agentic Workflowsは、GitHub NextとMicrosoft Researchによる新しいプロジェクトで、
00:00:40彼らが「Continuous AI」と呼ぶ広範なビジョンの一環です。目標は単純な自動化を超えて、
00:00:47「Productive Ambiguity(生産的な曖昧さ)」という概念に移行することです。従来のGitHub Actionsは決定論的です。
00:00:54「もしXが起きたらYをする」という形です。しかし、バグのトリアージやドキュメントの更新、
00:01:00設計上の欠陥の発見などは、ある程度の判断力を必要とします。Agentic Workflowsを使えば、
00:01:06その判断基準をプレーンなMarkdownで記述し、実行に移すことができます。しかし、それは同時に
00:01:11ガードレールが必要であることを意味しており、そのため「Actions-first」のアプローチを採用しています。
00:01:16基本的には、チームで閲覧可能なログ、シークレット管理、監査可能な権限など、
00:01:23GitHub Actionsのエコシステムをすべて継承しています。つまり、エージェントの知能と、
00:01:29標準的なCI/CDパイプラインのガードレールを両立できるのです。エージェントはデフォルトで最小限の権限で動作し、
00:01:35コードを分析して改善案を提示することはできますが、
00:01:41事前定義され、検証済みの経路を通じた明示的な承認なしに書き込み操作を行うことはできません。
00:01:46要するに、セキュリティのガードレールを備えたAI DevOpsアシスタントを作るというアイデアです。設定は
00:01:52非常に簡単です。GitHub CLI拡張機能を使って追加するだけで、準備は完了です。
00:01:57ワークフロー自体は2つのステップで進みます。まず、エージェントへの指示を記述したMarkdownファイルを作成し、
00:02:03そのファイルに対して `gh-aw-compile` を実行します。すると、システムが自然言語の指示を読み取り、
00:02:10堅牢で制限されたGitHub Actionsワークフロー(.log.yamlファイルに保存)へと変換します。
00:02:16その変更をリポジトリにプッシュすれば、エージェントが自動的にアクティブになります。では、
00:02:22実際にどのように動くのかデモを見てみましょう。ここに空のプロジェクトを作成しました。
00:02:29まず、データ変数を含むシンプルなPythonファイルを一旦作成します。
00:02:34このファイルについては後ほど説明しますが、今のところはこれだけで十分です。
00:02:39次に、`.github` フォルダを作成し、その中に `workflows` サブフォルダを作成する必要があります。
00:02:46Agentic WorkflowsがMarkdownのコンパイル時に場所を認識できるよう、この命名規則に必ず従ってください。
00:02:51そして、`agent.md` というMarkdownファイルを作成します。このファイルは、主に
00:02:572つのパートで構成されています。最初のパートはヘッダーで、エージェントが持つ権限を指定します。
00:03:03また、使用するAIプロバイダーも指定する必要があります。今回はCopilotを使用します。
00:03:09それ以降の部分は自由に記述できます。自然言語を使って、
00:03:15エージェントに何をさせるかを説明するだけです。このデモでは、コードコミットをチェックし、
00:03:21新しいコードの「Big O」計算量を算出する監査役を作ります。もし非効率であれば、
00:03:27それを特定し、より良い最適化方法を提案させます。また、結果を素早く把握できるように、
00:03:33Markdown形式のテーブルで表示するように指示します。では、ルートディレクトリに戻って
00:03:38`gh-aw-compile` を実行します。正しく実行されれば、新しいワークフローがコンパイルされたという
00:03:45メッセージが表示されます。ファイルツリーを確認すると、スクリプトによって自動的にコンパイルされた
00:03:51`.log.yaml` ファイルと、GitHub Actionsのログファイルを含む
00:03:57`aw` という新しいフォルダができているのがわかります。これで変更をリポジトリにプッシュできます。
00:04:03最後に、Agentic Workflowsがアクセスできるように、選択したAIプロバイダーのAPIキーを
00:04:10シークレットとして設定します。私はCopilotを選択したので、ここにGitHubトークンを入力します。
00:04:15準備が整ったので、すべての変更をGitHubにプッシュします。これでAgentic Workflowが設定され、
00:04:21いつでも起動できる状態になりました。このワークフローは、新しいプルリクエストが作成された時に
00:04:26起動するように設定したので、テストのためにプルリクエストを作成してみましょう。
00:04:32リポジトリに新しいブランチを作成します。このブランチで、`main.py` ファイルに
00:04:37一致するレコードを検索する新しい関数を追加します。ただし、あえてこの関数の計算量を
00:04:44非常に非効率な になるように書きました。このコードでプルリクエストを送れば、
00:04:50エージェントはこの関数が非効率であることを特定し、改善案を提示してくれるはずです。
00:04:56やってみましょう。コードを追加して変更をプッシュしました。GitHubに戻って、
00:05:02新しいプルリクエストを作成します。リクエストを作成するとすぐに、Agentic Workflowのパイプラインが
00:05:08動き出し、コードの変更箇所の処理を開始するのがわかります。処理が終わるまでには
00:05:13およそ3分ほどかかりました。Big O監査役が、確かに関数が非効率であることを特定したのが
00:05:20わかります。指示通りに整形されたテーブルを使って理由が詳しく説明されており、
00:05:26続いてより良い解決策が提案されています。さらに、最適化された解決策を実装することで
00:05:33どれほどのパフォーマンス向上が得られるかまで算出しています。この例から、最小限の設定で
00:05:39Agentic Workflowsを使って、コードベースに追加の安全チェックを導入できることがわかります。
00:05:44これこそが「生産的な曖昧さ」が活きる場面です。コードの品質やパフォーマンスの維持といった、
00:05:51高レベルな目標を解決するために、エージェント自身の判断力を使わせることができるのです。
00:05:56もちろん、これはまだGitHub Nextによるリサーチプロトタイプであり、遅延が発生することもあります。
00:06:01最終的なチェックには、依然として人間による確認が必要です。しかし、これはAIエージェントの力を借りて
00:06:07CI/CDパイプラインを自律的に監視・管理するという、Continuous AIの大きなビジョンの一部です。
00:06:14自律的なシステムといえば、本番環境を管理している方なら、すべてを円滑に動かし続けることが
00:06:1924時間体制の仕事であることをご存じでしょう。そこで、Better Stackをチェックすることをお勧めします。
00:06:25私たちは最近、皆さんが寝ている間でもオンコールのインシデント対応を支援するAI SREを
00:06:31リリースしました。これを使えば、目の前のトラブル対応に追われることなく、コードを届けることに集中できます。
00:06:38いかがでしたでしょうか。この動画が役に立った、あるいは興味深かったという方は、
00:06:42動画の下にある「いいね」ボタンをクリックして教えてください。そして、チャンネル登録も
00:06:47お忘れなく。Better StackのAndrisがお送りしました。それではまた次の動画で
00:06:52お会いしましょう。