YAMLはもう不要。GitHub Agentic Workflowsで構築する次世代の自動化

BBetter Stack
Computing/SoftwareInternet Technology

Transcript

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お会いしましょう。

Key Takeaway

GitHub Agentic Workflowsは、従来の複雑なYAML設定を自然言語による指示に置き換え、AIの判断力をCI/CDに取り入れることで、コード品質の自律的な監視と改善を可能にします。

Highlights

GitHub Agentic Workflowsは、自然言語(Markdown)でCI/CDパイプラインを定義できる革新的なツールである

「Continuous AI」というビジョンのもと、決定論的な自動化から「判断力」を持つエージェントへの移行を目指している

GitHub Actionsのエコシステムを継承しており、シークレット管理や最小権限の原則など高いセキュリティを備えている

gh-aw-compileコマンドを使用して、Markdownの指示を堅牢なYAMLワークフローへ自動変換する仕組みを採用している

デモではAIがコードの計算量(Big O)を分析し、具体的な最適化案をテーブル形式で提示する能力が示された

現在はGitHub Nextによるリサーチプロトタイプであり、人間による最終確認を前提とした補助的な役割を担う

Timeline

Agentic Workflowsの導入とビジョン

GitHubが新しくリリースした「Agentic Workflows」は、自然言語プログラミングを用いてCI/CDパイプラインを簡素化するツールです。これはGitHub NextとMicrosoft Researchによる「Continuous AI」プロジェクトの一環であり、従来の固定的な自動化を超えた「生産的な曖昧さ」の実現を目的としています。バグのトリアージやドキュメント更新など、人間の判断が必要だったタスクをプレーンなMarkdownで記述できるようになります。このアプローチは、リポジトリの維持管理を近代化する大きな可能性を秘めています。スピーカーは、このツールがどのように動作し、どのように設定するのかを詳しく解説すると述べています。

セキュリティとワークフローの構築方法

Agentic Workflowsは「Actions-first」のアプローチを採用しており、既存のGitHub Actionsの安全なエコシステムをそのまま利用できます。エージェントはデフォルトで最小限の権限で動作し、明示的な承認なしに書き込み操作を行えないため、セキュリティのガードレールが確保されています。設定はGitHub CLIの拡張機能を追加するだけで完了し、Markdownファイルに指示を書き込んでコンパイルする2ステップで進行します。具体的には `gh-aw-compile` コマンドを実行することで、自然言語が `.log.yaml` という形式の制限されたワークフローに変換されます。これにより、AIの知能と標準的なパイプラインの堅牢性を両立させることが可能になります。

実践デモ:Big O計算量の監査エージェント作成

実際のデモでは、Pythonプロジェクトを用いて、コードの計算量を監査するエージェントを構築する手順が紹介されます。まず `.github/workflows` フォルダ内に `agent.md` を作成し、使用するAIプロバイダー(Copilotなど)とエージェントの権限をヘッダーに記述します。本文では「新しいコードの計算量を算出し、非効率な場合は最適化案を提示する」という指示を自然言語で書き込みます。ルートディレクトリでコンパイルを実行すると、システムは自動的に実行用のYAMLファイルと `aw` フォルダを生成します。このプロセスにより、プログラマーは複雑な設定ファイルを意識することなく、エージェントの振る舞いを定義できます。

プルリクエストでの動作検証とAIの提案

設定完了後、意図的に非効率な の関数を含むコードをプルリクエストとして送信し、エージェントの反応を検証します。GitHub Actions上でワークフローが起動し、数分間の処理を経て、エージェントは関数の非効率性を正確に特定しました。指示通りにMarkdownテーブルを用いて問題の理由を詳しく説明し、さらにパフォーマンスが劇的に向上する最適化済みのコード案を提示します。このように、エージェント自身の判断力を使うことで、コードの品質やパフォーマンスの維持という高レベルな目標を自律的に達成できます。これがまさに「生産的な曖昧さ」が活かされる具体的な場面であると強調されています。

今後の展望と関連ツールの紹介

Agentic Workflowsは現在リサーチプロトタイプという段階にあり、実行の遅延や人間による最終確認の必要性といった課題も存在します。しかし、これはAIエージェントがCI/CDパイプラインを自律的に管理するという、将来の大きなビジョンを示す重要な一歩です。動画の最後では、24時間体制のインシデント対応を支援する「AI SRE」を提供するBetter Stackというサービスも紹介されています。開発者がトラブル対応に追われることなく、本来の業務であるコード開発に集中できる環境作りの重要性が説かれています。視聴者に対して、新しい自動化の形に興味を持った場合はチャンネル登録や高評価をするよう呼びかけて締めくくられます。

Community Posts

View all posts