MENU

04 | 自然言語の依頼がGtiHubの実作業に変わるまで

依頼を分類し、既存作業と権限を確認して、実行結果まで確かめる

AI Work Governance|基礎 4/6 — 依頼から実作業へ

「これ、Issueにして」

AIにこう頼むだけなら簡単です。文章を整え、タイトルを考え、Issue本文の案を作る。それだけなら、現在の大規模言語モデル(LLM)はかなり上手にできます。

しかし、本当にGitHub上へ仕事を残そうとすると、その間にはいくつもの判断があります。

そもそも新しいIssueが必要か
既存Issueへ追記する話ではないか
すでにPull Requestが開いていないか
調査・設計・実装・レビューのどれなのか
どの実行手段を使えるか
その操作をしてよい権限があるか
どのリポジトリ・Issue・Pull Request・ブランチが対象か
実行後、本当に期待した状態へ変わったか

自然言語を理解することと、リポジトリ上で正しい仕事を実行することは別の問題です。

前の記事では、AIがリポジトリをどこから読むかを扱いました。この記事ではその次、読める状態になったAIが、ユーザーの依頼をどう継続可能な実作業へ変えるかを考えます。

目次

「Issueにして」を、そのままIssueにしない

AIに「Issueにして」と頼まれたときでも、最初の仕事はIssueを作ることではありません。まず、依頼が何を達成したいのかを確認します。

  • 既存の記事Issueへ追記する
  • 記事候補の一覧へ追加する
  • 情報源の整理だけ行う
  • 既存記事の一節として吸収する
  • 新しい独立記事として起票する
  • まだ会話内の検討に留める

最初に必要なのはGitHub上の箱を決めることではなく、この依頼のあとに何を残したいのかを明確にすることです。

ユーザーの言葉
      ↓
この作業のあと、何が残ればよいか
      ↓
すでに同じ責務を持つ作業はあるか
      ↓
どこへ残すのが適切か

依頼と、GitHub上の作業記録は同じものではない

自然言語の依頼は、仕事の入口です。IssueやPull Requestは、その仕事を継続して扱うための記録です。

GitHub Issue
  = 何を追跡する仕事なのか

Pull Request
  = どんな具体的変更をレビュー・検証するのか

作業メモ
  = 検討途中の情報や判断を残す

設計記録
  = なぜその設計を選んだのかを残す

これはGitHubの唯一の使い方を主張するものではありません。重要なのは、問題を追う場所と、具体的な変更を確認する場所を分けられることです。

依頼
  ├─ 会話内の検討だけ
  ├─ 既存Issueへ追記
  ├─ 新規Issue
  ├─ 設計作業
  ├─ 実装Pull Request
  ├─ レビュー
  └─ 記録して保留

依頼文の名詞と、作るGitHub上の記録を直結させない。これが第一の境界です。

新しい作業を作る前に、既存の担当先を探す

依頼のたびにIssue、再利用手順、規則、記事、設計書を新しく作れば、局所的には前へ進んだように見えます。しかし同じ責務を持つものが複数あると、あとで維持コストが増えます。

新しい依頼
  ↓
既存作業を探す
  ↓
責務を比較する
  ↓
新規 / 更新 / 関連 / 重複 / 後続 / 保留

検索は候補を見つけるために使い、その後に何を担当する仕事なのかを比較します。

実行手段があることと、やってよいことを分ける

実行手段がある
      ↓
技術的に実行できる
      ↓
今回実行してよい

しかし、この三つは別です。できることと、やってよいことを分ける。

内部のシステム表現では、この違いを次のようなtokenで持つことがあります。

Capability
Authority

読者が英字を覚えることが目的ではありません。確認したいのは、その操作を技術的に実行できるか、ユーザー指示と対象のルールが許可しているか、現在状態を十分に確認できているか、といった条件です。

リポジトリAへの書き込み許可が、リポジトリBへ自動で広がるわけではありません。コメントしてよいことが、マージしてよいことを意味するわけでもありません。

「GitHubへ書き込める」を一個の真偽値にしない

Issueへコメントする
Pull Requestを作る
ブランチを作る
既存ブランチを更新する
マージする
履歴を書き換える

は、それぞれ別の状態変化です。公開記事で内部形式を覚える必要はありません。持ち帰るべき問いは二つです。

権限の問い
  この種類の操作を、この対象へ行ってよいか?

実行の問い
  具体的に、どの状態をどの状態へ変えるのか?

設計があることと、すべて自動で強制されることも別

考え方が定義されている
        ≠
すべての環境で実装済み
        ≠
すべての操作で自動強制される
        ≠
十分に検証済み

この差を消さないことは、AI-WGを説明するときに重要です。設計済み、実装済み、実行中、検証済みを同じ「できている」にまとめると、実際の運用状態から離れていきます。

小さな実例 — 記事アイデアを作業へつなぐ

会話で記事アイデアが出る
        ↓
何を残したい依頼か整理する
        ↓
既存の記事・候補と重複していないか確認する
        ↓
どの記事群・役割に置くか確認する
        ↓
必要ならIssueや原稿案へ変換する
        ↓
情報源と文章品質を確認する

一つの機能が最初から最後まで全部を決める必要はありません。分類することとGitHubを書き換えること、提案することと外部公開することは別です。

分類した
  ≠
変更してよい

提案した
  ≠
公開してよい

この限定された経路は「あらゆる依頼を完全自動でGitHub作業へ変換できる」という証明ではありません。しかし、依頼を理解する責務、既存作業を探す責務、置き場所を決める責務、実際に変更する責務を分けられる実例にはなります。

実行したら、もう一度読む

「実行した」という報告と、現在の状態は別だからです。

意図
  ↓
実行
  ↓
実行結果の記録
  ↓
現在状態を読み返す
  ↓
期待した状態と実際の状態を比較する
  • 作ったIssueのリポジトリは正しいか
  • タイトルと本文は意図した内容か
  • ブランチの先頭は想定したコミットか
  • Pull Requestの変更元と変更先は正しいか
  • コメントは対象の会話へ入ったか

内部のシステム表現では、実行後の確認を次のようなtokenで表す場合があります。

Verification
Read-back

大切なのは英字ではなく、AIの自己申告を現在状態の正本にしないことです。

一枚で見る「依頼から実作業へ」

ユーザーの依頼
      ↓
何を残したいか整理する
      ↓
既存作業との関係を確認する
      ↓
適切な作業記録を選ぶ
      ↓
必要な現在状態を確認する
      ↓
実行手段を確認する
      ↓
権限を確認する
      ↓
許可された操作を実行する
      ↓
実行結果を読み返す
      ↓
期待した状態になったか確認する
      ↓
人間が確認できる作業記録として残す

この経路の目的は、AIを遅くすることではありません。曖昧な依頼を、その場の思いつきではなく、既存の仕事とつながった継続可能な作業へ変えることです。


前の記事: 03|AIエージェントはリポジトリをどこから読むべきか

次の記事: 05|契約・境界・品質ゲートでAIの仕事を安定させる

この記事を書いた人

コメント

コメントする

目次