GitHub Agentic Workflowを使ったLLMプロンプト管理・評価基盤

LLMをプロダクトに組み込む開発が増えるにつれて、プロンプトをソフトウェアエンジニアリングのプロセスに取り入れていく場面が増えてきた。「プロンプトの品質を継続的に管理したい」「プロンプト自体の管理や評価を最適化するアプローチを模索したい」という課題感から、コードと同等のプロセスでプロンプトを扱う仕組みを検討してみた。

この記事では、GitHub Agentic Workflows (gh-aw) を使ったプロンプト管理・評価基盤のアーキテクチャと実装を紹介する。

GitHub Agentic Workflows とは

GitHub Agentic Workflows は、.github/workflows/*.md に書いた自然言語の指示書をGitHub Copilot、Claude by Anthropic、OpenAI Codexなどが解釈・実行する仕組みだ。

従来のGitHub Actions(YAMLで手続きを定義)と対比すると分かりやすい。

従来のGitHub Actions:

GitHub Agentic Workflows:

YAMLフロントマターでトリガー・権限・許可する操作(Safe Outputs)を宣言し、その下にMarkdownで自然言語の指示を書く。Copilotエージェントがこの指示書を読んで実行する。

.mdファイルは gh aw compile コマンドで .lock.yml(実際に動くGitHub Actions YAMLファイル)にコンパイルして使う。

アーキテクチャ概要

ディレクトリ構造は以下のようになっている。

各コンポーネントの実装

1. プロンプトファイル(prompts/

プロンプトはMarkdownファイルで管理する。

2. Golden Dataset(tests/golden-dataset.yaml

評価の核となるのが Golden Dataset だ。「この入力に対して、こういう品質の出力が期待される」という評価基準を定義する。

各テストケースには 評価基準(criteria)と重み(weight) を定義する。これにより、LLMが出力を評価する際の判断軸を明確にする(LLM-as-Judge)。

3. 指示書ワークフロー(evaluate-prompts.md

評価のオーケストレーションは自然言語の指示書で定義する。構造は5つのステップからなる。

safe-outputsの設定により、エージェントが実行できる操作を「PRへのコメント投稿」と「特定ラベルの追加」のみに制限している。コードの直接変更やmainブランチへのプッシュは許可されていない。

評価フロー

PRを作成してからフィードバックを受け取るまでの流れを示す。

sequenceDiagram participant Dev as 開発者 participant PR as Pull Request participant GHA as GitHub Actions participant Agent as Copilot エージェント Dev->>PR: プロンプト変更 PR->>GHA: ワークフロー起動 GHA->>Agent: エージェント起動 Agent->>Agent: evaluate-prompts.md を読む Agent->>Agent: golden-dataset.yaml を読む Agent->>Agent: 各テストケースを実行(LLM-as-Judge) Agent->>Agent: レポートを生成 Agent->>PR: PRコメント投稿(add-comment) Agent->>PR: ラベル追加(add-labels) PR->>Dev: 通知

評価レポートはPRにMarkdownコメントとして投稿される。スコアが3.0/5.0未満の場合は needs-improvement ラベルが自動で付く。

セキュリティ設計

権限設定はミニマルに設計されている。

PRへのコメント投稿やラベル追加は safe-outputs 経由で行うため、pull-requests: write も不要だ。エージェントが誤動作してもコードを書き換えたりブランチをプッシュしたりできない設計になっている。

応用:他のAI資産への横展開

この設計は「プロンプトをコードと同じ品質管理プロセスで扱う」という思想が核にある。同じ仕組みをさまざまなAI資産に適用できる。

対象 prompts/ に置くもの 評価基準の例
汎用AIプロンプト system prompt, few-shot examples 出力品質・制約の遵守度
Claude skills/tools tool の description, input_schema ツールが正しく選択されるか
MCPサーバーの説明文 tool/resource の description LLMが正しく解釈・呼び出せるか
RAGのクエリテンプレート クエリ生成プロンプト 検索精度・再現率
チャットボットのシステムプロンプト system prompt ペルソナ・制約の遵守度

評価対象のファイルフォーマットや評価ロジックは evaluate-prompts.md の自然言語指示を変更するだけで柔軟に調整できる。

まとめ

GitHub Agentic Workflows を使うことで、「プロンプトをPRでレビューして自動テストが通ればマージできる」というContinuous AIとも言えるワークフローを、YAMLを一行も書かずに自然言語の指示書だけで実現できる。

プロンプトエンジニアリングが組織的な活動になるにつれて、こうした品質管理基盤の重要性は増していく。今回紹介したアーキテクチャはあくまで一例だが、GitHub Agentic Workflowsの柔軟性を活かして、さまざまなAI資産の品質管理に応用できる可能性がある。