0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIへの「良い指示」は変わり続ける:実装詳細より文脈と制約を渡す

0
Last updated at Posted at 2026-10-08

はじめに

生成AIをコーディングに使い始めた頃は、変更するファイル、使う関数、実装手順、期待するコードの形まで具体的に指示した方が、うまくいく場面が多くありました。

モデルがコードベース全体を十分に探索できず、長い作業を自律的に進めることも苦手だった時期には、細かい作業分解は合理的でした。

一方で、現在のコーディングエージェントには、コードベースを検索し、関連ファイルを読み、既存の実装パターンを調べて、変更箇所を判断できるものがあります。AIの能力が変われば、良い指示に含めるべき情報も変わります。

この記事では、実装詳細を先に決める代わりに、人間しか渡せない文脈、目的、制約、判断基準を渡す考え方を整理します。

昔は細かく指示することに意味があった

AIが一度に扱える文脈や、自律的に実行できる作業が限られていた頃は、人間がタスクを細かく分解する必要がありました。

UserService.tsを開く。
getUserメソッドを修正する。
sessionStorageから検索条件を取得する。
値が存在しない場合は初期値を使う。
既存の型定義は変更しない。

ここまで分解すれば、AIが途中で迷う可能性を減らせます。人間が設計と作業分解を行い、AIには実装を担当させる形です。

実装詳細を決めずに渡せる場面が増えた

現在は、同じ問題を次のように渡せる場面があります。

検索条件をタブごとに独立して保持したいです。
現在は別タブの検索状態が混ざる問題があります。

ブラウザを閉じた後まで検索条件を残す必要はありません。
既存実装を調査し、影響範囲を確認した上で修正してください。
必要なテストも追加してください。

この依頼では、UserService.ts を変更するとも、sessionStorage を使うとも決めていません。どこに問題があるかを調べ、適切な実装方法を選ぶこともタスクの一部として渡しています。

AIが自分で確認できる情報まで毎回指示書に転記すると、人間側の調査がボトルネックになります。

人間が渡すのは、コードから読み取れない情報

AIに積極的に渡したいのは、実装手順より次の情報です。

情報 伝える内容
Context このシステムや業務で何が起きているか
Why なぜ変更が必要か
Constraints 壊してはいけない仕様や環境上の制約
Domain Knowledge コードだけでは読み取れない業務知識
Decision 何を許容し、何を許容しないか
Done 何をもって完了とするか

対象クラスの場所、既存処理の呼び出し元、プロジェクト内の実装パターン、変更すべきファイルは、コードベースから確認できるならAIに調べてもらえます。

たとえば、customer、applicant、contractHolder が業務上別の概念なら、その区別は単なる命名の好みではありません。名前の違いそのものがドメインモデルを表します。このような情報は、コードだけでは十分に判断できない場合があります。

人間は「この変数名にする」と細部まで決めるより、AIが適切な名前を選べるように意味とドメイン知識を渡します。既存コードから推測できる命名規則や表現は、調査の対象にできます。

細かい指示は選択肢を狭めることがある

人間が最初から「このクラスを変更する」と決めると、本来は別の層を変更した方が自然でも、AIはその指示に従おうとします。

目的、制約、ドメイン知識、完了条件を渡し、AIに調査と実装案の比較をさせると、設計上の選択肢を確認できます。ただし、アーキテクチャ上の決定、セキュリティ要件、変更してよい範囲は、AIに推測させず明示する必要があります。

重要なのは、必要な制約と、AI自身が確認できる実装詳細を区別することです。

任せることと判断を放棄することは違う

実装詳細をAIに任せても、人間の役割がなくなるわけではありません。人間は、問題と完了条件の定義、コードから分からない業務知識の提供、制約と公開範囲の決定、出力の検証、本番反映や外部公開の最終判断を持ちます。

AIに任せる範囲を広げるほど、何を確認すれば失敗を検出できるかを先に決める必要があります。テスト、レビュー、差分確認、ロールバック手段がない作業まで無条件に任せるべきではありません。

おわりに

AIへの良い指示は固定されたものではありません。

AIが実装詳細を自力で確認できないなら、人間が作業を分解して渡します。AIがコードベースを調査し、実装方法を比較できるなら、人間は文脈、目的、制約、ドメイン知識、完了条件を渡します。

大切なのは、詳しい指示を減らすこと自体ではありません。AIが確認できることと、人間だけが判断できることを分け、使っているAIの能力に合わせて責任境界を見直すことです。

関連する考え方は、まずAIに任せる 人間を例外処理にするAI-defaultな開発スタイルでも扱っています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?