AWS Amarathon 2025 振り返り

仕様駆動開発で「Vibe」から実用レベルへ

振り返りシリーズ

セッションノート

AIがソフトウェアを変えている

  • 2023: 開発者がより速くコードを書くのを支援
  • 2024: より大規模なコードを生成し、質問に回答
  • 2025: 人間を介在させながら開発タスクをエンドツーエンドで完遂 AI開発の課題
  • AI開発のスケーリング: AIコーディングツールは小規模なタスクには優れているが、複雑なプロジェクトでは失敗することがある
  • 制御の限界: 既存のツールでは、エージェントとの連携や管理が難しい
  • コード品質: 品質管理を維持しながらプロジェクトを概念実証から本番環境へ移行することは、ますます難しくなる 「Vibe」
  • 迅速で対話的なコード生成(CHOP)
  • 反復的なやり取り
  • 一時的
  • その時点限りのプロンプト
  • 一過性のコンテキスト

仕様駆動開発への道筋

優れたプラクティス

  • 大きな問題を分解する: 開発者は、大きな問題を小さな単位に手作業で分解し、段階的に構築する方法を学んだ
  • 具体性と明確さ: AIコーディングアシスタントに良質な出力を生成させるには、正確さと明確さが鍵となる
  • コンテキストとプロンプトエンジニアリング: 一貫性と制御を実現するには、適切なコンテキストを提供することが鍵となる

Taskmaster

  • Clauideを用いたAI駆動開発向けのタスク管理システムで、Cursor AIとシームレスに連携できるよう設計されている
  • [ 1 ] ドキュメント:
  • 設定ガイド: 環境変数を設定し、Task Masterをカスタマイズ
  • チュートリアル: Task Masterを使い始めるためのステップバイステップガイド
  • コマンドリファレンス: 利用可能なすべてのコマンドの完全な一覧
  • タスク構造: タスク形式と機能の理解
  • 操作例: 一般的なCursor AIの操作例
  • 移行ガイド: 新しいプロジェクト構造への移行ガイド
  • [ 2 ] Cursor 1.0+向けクイックインストール(ワンクリック):
  • コピーボタン(コードブロックの右上)をクリックし、ブラウザに貼り付ける: cursor://anysphere.cursor-deeplink/mc/install?name=taskmaster-aiconfig-eyJjIjI1biWSkI 1joibnB4I
  • 注: リンクをクリックした後も、設定にAPIキーを追加する必要がある。このリンクはプレースホルダーのキーを使用してMCPサーバーをインストールするため、それらを実際のAPIキーに置き換える必要がある
  • [ 3 ] 要件:
  • Taskmasterは複数のコマンドでAIを利用しており、それらには別途APIキーが必要となる。APIキーを追加すれば、さまざまなAIプロバイダーの各種モデルを使用できる。たとえばClauide 3.7を使用したい場合 穏やかなコーディング哲学
  • ストレスではなく、構造をもってコーディングする。
  • ノイズではなく、意図をもってプロンプトを作る。
  • ただ速くではなく、流れをもって構築する。チャットは開発ツールに適さないUIパターンである
  • コードは人間に正確さを強いる。それは良いことだ。コンピューターには正確さが必要だからだ。しかし同時に、人間に機械のような思考を強いる。
  • 何十年もの間、私たちはプログラミングをより人間にとって使いやすくすることで、この問題を解決しようとしてきた。高水準言語。ビジュアルインターフェース。一歩進むごとに改善したが、それでも人間の思考をコンピューターへの命令に変換していた。
  • AIはすべてを変えるはずだった。ついに、誰もがすでに知っている平易な英語をプログラミング言語にできるようになった。構文もない。ルールもない。望むものを伝えるだけだ。
  • AIコーディングツールの第一波は、この機会を無駄にした。派手なデモを見せる一方で、粗悪なソフトウェアを生み出す。「プロトタイピングには最適」と評されるが、それは「実用的なものには使うな」という意味だ。
  • 多くの人はAIモデルのせいにして、もっと賢くなればよいと言う。これは間違っている。確かに、AIが向上すれば意図をより的確に推測できるようになる。しかし、本格的なソフトウェアを構築するには、より優れたアプローチが必要だ。

文書化された仕様は人々の認識を揃える

EARS記法を使用すると、基盤となる

LLMに正確で構造化された指示を提供しやすくなる

仕様駆動開発とは何か?

  • 仕様駆動開発: コードより明確さを優先し、反復的に改善し、永続的なドキュメントを通じてコーディングする
  • 構築しようとしているものを理解するために時間をかける
  • 構築しようとしているものを反復し、その進化を記録する
  • 一時的なチャットから、ステークホルダーと共有できる永続的なドキュメントへ 仕様駆動開発
  • ビジョンを定義する: 明確な要件と設計仕様を作成する。
  • アーキテクチャ上の意思決定を行う: テクノロジー、パターン、アプローチを事前に選択する。
  • コンテキストに基づいて実装する: 文書化された仕様を満たすコードをAIで生成する。「Vibe」
  • 実装を追い求めるプロンプト
  • 迅速で対話的なAIコード生成(CHOP)
  • 反復的なやり取り
  • 一時的
  • その時点限り 仕様駆動
  • 事前の計画と意図に重点を置く
  • リクエストを個別のタスクに分解する
  • ステアリングドキュメントがエージェント型AIの基盤となる プロトタイプから本番環境まで対応するAI IDE
  • Kiroは、仕様駆動開発によってAIコーディングに構造をもたらし、最高の成果を出せるよう支援する。