6
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?

意図駆動開発(Intent is All You Need)— 開発自動化

6
Last updated at Posted at 2026-04-04
Page 1 of 14

🎯 この記事で得られること

Claude, Copilot等AIエージェントへ開発依頼しても思い通りにならないのは、あるある。

本記事の主題:AID(Agentic Intent-Driven Development: エージェント意図駆動開発)と GCENA フレームワーク

  • 💡 エージェントに伝わる「意図」の書き方
  • 🧩 GCENA 5要素による意図の構造化
  • 🔄 意図表明から検証済みコードまでの全体像

⚠️ AID が必要な理由

バイブコーディング — 自然言語でAIに指示し、出力を祈る開発スタイル。3つの欠陥:

  • 🧠 記憶の不在 — 各プロンプトが独立
  • 📜 契約の不在 — 前提のズレを検出不可
  • 🔍 検証の不在 — 希望のみ残存

SDD(仕様駆動開発)は「人間による仕様記述」が前提。AID はその一歩先へ。


📈 手法の進化

  • 🙏 バイブコーディング: 人間の祈り → コード生成
  • 📝 SDD: 人間の仕様記述 → テスト〜検証
  • 🎯 AID: 人間の意図表明 → 仕様〜検証

Intent → Spec → Tests → Code → Verification

(人間)  (←―― エージェント ――→)

SDD: 仕様の人間記述。AID: 意図の表明のみ。


🧩 GCENA フレームワーク

GCENA = Goal, Constraints, Edge cases, Non-goals, Acceptance

良い意図の5要素(グセナ):

  1. 🎯 Goal — 目的と理由
  2. 🔒 Constraints — 制約事項
  3. Edge cases — 懸念事項
  4. 🚫 Non-goals — 対象外の明示
  5. Acceptance — 受入基準

📋 GCENA 実例

  • 🎯 GOAL: エクスポート完了時のリアルタイム通知 — 手動リフレッシュの不満解消
  • 🔒 CONSTRAINTS: 既存WebSocket基盤の利用、アクセシビリティ必須
  • EDGE CASES: マルチタブ環境、WebSocket切断
  • 🚫 NON-GOALS: メール通知、通知設定画面
  • ACCEPTANCE: 別ページ遷移後の通知表示

意図 ≠ プロンプト(手順指示)。意図 ≠ 仕様(形式的要件定義)。宣言的な成功像の記述。


🔄 エージェントループ

GCENA による意図表明後、エージェントの5フェーズ自律実行:

  1. 💬 Clarify — 質問による曖昧さの解消
  2. 📐 Specify — 意図からの仕様導出
  3. 🧪 Test — 受入基準のテストコード化
  4. 🔨 Build — RED→GREEN→REFACTOR(TDDサイクル)
  5. Verify — 信頼の連鎖の検証

🧑 人間の出番:最初(意図)と最後(確認)のみ。


💬 明確化インタビュー

曖昧な意図 = 失敗ではなく出発点。

✅ 良い質問の例:

  • 「ログインへリダイレクト?エラー表示?」
  • 「全ユーザー対象?管理者限定?」

❌ 悪い質問の例:

  • 「もう少し詳しく教えてほしい」

🐛 質問の数 = 防止されるバグの数


🎚️ 意図の3レベル

1️⃣ ワンライナー — 一行の意図表明
例:「ダークモードの追加」

2️⃣ 構造化ブリーフ — GCENA 5要素による1-2段落の記述

3️⃣ 対話型 — 会話による意図の明確化:

🧑「権限管理の見直し」
🤖「テンプレート導入?タイプ数削減?」
🧑「テンプレート。個別カスタマイズは維持」


📜 プロジェクトレベルの意図

機能単位の意図(GCENA)に加え、プロジェクト全体の原則も意図として定義可能

AGENTS.md = エージェントの憲法 ⚖️

  • SDD: 仕様が唯一の真実源(SSoT)
  • TDD(テスト駆動開発): RED → GREEN → REFACTOR
  • Pareto: 理解優先、行動は二の次
  • Minimalism: Fail → STOP 🛑

4行による巨大なレバレッジ。


🛠️ /aid スキル

コード記述前の意図構造化ツール。Claude Code / OpenCode で利用可能

/aid "通知システムの追加"

  1. 🎯 G — 変更の目的と理由
  2. 🔒 C — 制約のストレステスト
  3. E — エッジケースの提案
  4. 🚫 N — 想定される誘惑の提示
  5. A — 受入基準の検証

📄 意図ファイル = SSoT(単一真実源)

150語以内。簡潔さによる意図の凝縮。

  • Intent: タイトル
  • Goal: 1-2文
  • Constraints: 番号リスト
  • Edge cases: 各1行
  • Non-goals: 簡潔に
  • Acceptance: 簡潔に

📁 intents/YYYYMMDD-intent-<topic>.md として永続化


🕳️ よくある落とし穴

🔧 意図の書きすぎ — How(実現方法)まで指定してしまい、エージェントの領域へ不法侵入
→ Whatへの集中

🌀 宣言と手続きの混在 — 意図の途中から実装指示への逸脱
→ 制約と好みの分離

🌫️ 意図の書かなすぎ — 願望のみでゴールも制約も不在
→ ゴール+制約を最低1つ

💣 非ゴールの忘却 — エージェントによるありがた迷惑な作り込み(Over-engineering)
→ 非ゴールを常に1つ以上設定


🏁 まとめ

  • ⌨️ コード記述 → 🎯 意図表明
  • 📝 仕様記述 → 🤖 エージェントによる導出
  • 🧪 テスト記述 → 🤖 エージェントによる生成
  • 🐛 デバッグ → 🤖 エージェントによる自律修正

最重要スキル:🎯 意図の表現

🚀 今日からの第一歩:
次のタスクでGCENAの5要素を記述し、エージェントに丸投げしてみる。

必要なのは「あなたの意図」だけ。残りはエージェントがよしなにやる — 仕様作成から検証済みコードまで。

6
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
6
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?