MRが楽しい

MRやVRについて学習したことを書き残す

AWESOME-COPILOTのドキュメントを読む その122(Spec Driven Workflow v1)

本日はAWESOME-COPILOTの技術調査枠です。
AWESOME-COPILOTのドキュメントを読みながら実際に操作を試して記事に残します。
今回はカスタムインストラクションの一つSpec Driven Workflow v1についてです。

Spec Driven Workflow v1

Spec Driven Workflow v1は仕様書を起点に、分析・設計・実装・検証・引き継ぎまで進めるルールです。
プロジェクト全体のすべてのファイル・全ての作業が対象です。
コード生成だけでなく、要件定義、設計書、タスク管理、検証ログ、PR説明までCopilotの行動に影響します。

以下のページからGenaiscriptのインストールボタンをクリックして取得します。
github.com

インストールボタンを押してSpec Driven Workflow v1をダウンロードします。
すると.github/instructions配下にインストラクションがインストールされます。

インストールしたインストラクションはCopilotの動作に自動的に適用されます。
このインストラクションを読み込むと、Copilotは仕様駆動で開発プロセス全体を管理する開発リードとして振る舞います。

具体的にはCopilotは以下のような行動をとります。

実装から始めず最初に仕様を書く

本インストラクションを入れると、Copilotは最初にコードを書こうとしません。
最初に以下を整備します。

  • requirements.md
  • design.md
  • tasks.md

特に要件は EARS記法 で整理されます。

例えば以下のような内容です。

WHEN ユーザーがログインボタンを押したとき、
THE SYSTEM SHALL 認証情報を検証してログイン結果を表示する

つまりCopilotは「ログイン機能の要件・例外・完了条件を明文化してから実装」という動きになります。

6フェーズの開発プロセスで動く

Copilot は作業を以下の順番で進めようとします。

ANALYZE
↓
DESIGN
↓
IMPLEMENT
↓
VALIDATE
↓
REFLECT
↓
HANDOFF

以下のような開発ワークフロー型のAIになります。

  • 分析する
  • 設計する
  • 小さく実装する
  • 検証する
  • 振り返る
  • 引き継ぎ資料を作る

Confidence Scoreによって動き方を変える

本インストラクションではCopilotが作業前にConfidence Score(0〜100%)を考えます。
つまり以下のように要件の明確さや複雑さに応じて動き方を変えます。

  • 85%超:そのまま本実装へ進む
  • 66〜85%:PoC / MVP を作ってから進む
  • 66%未満:調査フェーズを優先する

全ての判断・実行・検証を記録する

Copilotは「作業ログを残す」ことを強制します。
各作業では以下のような情報を残します。

  • Objective
  • Context
  • Decision
  • Execution
  • Output
  • Validation
  • Next

さらに重要な判断はDecision Recordとして記録します。

検証完了まで「終わった」と言わなくなる

Copilotは実装だけでは完了扱いにしません。
必ず以下を行います。

  • 要件を満たしたか確認
  • テストログを残す
  • エッジケースを検証
  • 性能や失敗時動作も確認

技術的負債も管理対象にする

Copilotは技術的負債を見つけたら記録しようとします。
例えば以下を技術的負債として扱います。

  • 急いで入れた暫定対応
  • 複雑すぎる関数
  • 不完全なドキュメント
  • 命名の不統一
  • 後で直すべき設計

Copilotは以下の作業を行うようになります。

  • 負債の理由を記録
  • 影響を説明
  • 修正方針を提案
  • 優先度と見積もりを付ける

PR・引き継ぎまで自動で整える

最後のHANDOFFフェーズでは、Copilotは作業結果をレビュー可能な形にまとめます。
以下が分かる状態で引き継げます。

  • 何をしたか
  • なぜしたか
  • どう検証したか
  • 残課題は何か