【ITニュース解説】The New Way of Code: Hackathon Revelation with Kiro
2025年09月15日に「Dev.to」が公開したITニュース「The New Way of Code: Hackathon Revelation with Kiro」について初心者にもわかりやすく解説しています。
ITニュース概要
ハッカソンでの開発で、「何をしたいか」を詳細な「仕様」として明確に定義する「仕様駆動開発」を体験。結果、コードの多くが自動で生成され、クリーンで高品質なシステムができた。プログラミングはコードより、正確な意図を伝える仕様が中心になる未来がくる。
ITニュース解説
今回のハッカソンでは、AIエージェントがPythonパッケージの情報をよりよく理解できるよう助けるための「MCPサーバー」を構築するという目標を設定した。MCPサーバーとは、簡単に言えば、AIがPythonのライブラリやツール(パッケージ)がどのように組み合わされているか、どのような機能を持つかといった情報を取得できるようにするための仕組みだ。具体的には、プロジェクトの依存関係ファイル(例:requirements.txtやpyproject.toml)を解析したり、Pythonの公式パッケージリポジトリであるPyPIからパッケージのメタデータ(作者、バージョン、説明など)を取得したりする機能を想定していた。
しかし、開発チームがこのハッカソンで体験したのは、当初予想していたような、ひたすらコードを書いて問題を解決していく従来の方法とは大きく異なるものだった。通常であれば、すぐにプログラミング言語を使って機能の実装に取り掛かるところだが、今回はそうではなかった。コードを書き始める前に、まず「何を求めているのか」を徹底的に、かつ詳細に記述する時間に多くの時間を費やしたのだ。例えば、「MCPサーバーを作る」という漠然とした指示ではなく、「このサーバーはどんなパッケージの依存関係ファイルを読み込み、そこから何を抽出し、どんな形式でデータを返すのか」「PyPIから情報を取得する際は、どのような優先順位で、どのようなエラー処理を行うべきか」といった具体的な「仕様(スペック)」を明確にしていく作業だ。
この「スペックを記述する」という作業は、従来のコーディングとは全く異なる感覚だった。Kiroというツールと共に開発を進める中で、開発チームは関数を書いたり、構文エラーをデバッグしたりする代わりに、「作りたいものの意図」についてKiroと対話しているようだったと語る。まるで、人間が人間と会話するように、システムに対して「こんな機能が欲しい、こんな振る舞いをしてほしい」と具体的に伝えていたのだ。そして、その仕様が詳細であればあるほど、Kiroから返される結果はより正確で、意図に沿ったものになったという。
この体験は、OpenAIのショーン・グローブ氏が提唱する「スペック駆動開発」という概念が現実のものとなった瞬間だと感じられた。仕様は、コードを書いた後に作成される「後付けのドキュメント」ではなく、開発プロセスの最初から存在し、そこからすべてのコードが生成されていく「主要な成果物」となった。
最も驚くべきことは、開発チームが「何をしたいか」という仕様の記述に費やした時間は全体のわずか20%程度に過ぎず、残りの80%に相当する「実際のコード実装」は、まるで自然に「発生した」かのように行われたことだ。自動的に生成されたコードは、単に機能するだけでなく、非常にクリーンで読みやすく、適切なドキュメントが添付され、開発チームが明示的に指定していなかったプログラミングパターン(設計の定石)にさえ従っていた。
例えば、記事に示されているanalyze_project_dependenciesという関数の例を見ると、このコードは人が直接書いたものではなく、仕様に基づいてKiroが生成したものだ。関数の説明文(docstring)、引数や戻り値の型ヒント、エラー処理の仕組み、さらには変数の命名規則に至るまで、すべてが「明確な意図の伝達」から生まれたものだという。これは単なるコード生成ではなく、人間の意図が直接的にソフトウェアの形になったものと表現できる。
最終的に完成したMCPサーバーは、まさに開発チームが詳細に記述した仕様通りに動作した。具体的な機能としては、「複数の依存関係ファイルをスキャンし、最終更新日時に基づいたキャッシュ機能を備えた依存関係分析機能」や、「ローカル環境に情報がない場合はPyPIに問い合わせるパッケージメタデータ取得機能」、「正確な名前で検索できなかった場合にインテリジェントに類似パッケージを検索する機能」、「パッケージ間のバージョン競合を検出する互換性チェック機能」、「プレリリース版も考慮した最新バージョン取得機能」などが含まれる。
重要なのは、これらの機能のほとんどのコードを開発チームが直接書いたわけではない点だ。「ローカル優先でメタデータを取得し、それがダメならPyPIを使う」といった「振る舞い」や「意図」を明確に伝えるだけで、Kiroがその仕様を解釈し、実際の動作するソフトウェアへと翻訳してくれた。ローカルファーストの戦略、賢いキャッシュの利用、エラーが発生した際の適切な対処といった細かな実装の工夫も、すべて明確な意図の伝達から自然に生まれたものだという。開発チームは、ソフトウェアの根本的な「ルール」を記述し、Kiroがそのルールをコードベース全体にわたって一貫して解釈し、実装してくれたのだ。
このハッカソンでの体験を通じて、開発チームは「スペック駆動開発」が、これからのプログラミングの主要なパラダイムになるという深い洞察を得た。ショーン・グローブ氏が語るように、プログラムの基本的な単位は、もはや「コード」ではなく「仕様」になるというのだ。
この考え方は、これまでの開発と大きく異なる。例えば、「ローカル優先でPyPIにフォールバックするメタデータ取得機能」という仕様をKiroに与えたとき、Kiroは単にその機能を持つコードを生成するだけでなく、その裏にあるアーキテクチャ(システム全体の構造)上の考慮事項、エラー発生時の処理パターン、さらにはパフォーマンス(処理速度)に関する考慮事項までを理解し、実現したという。この場合、仕様はもはや単なる設計書ではなく、実際に「実行可能な」指示として機能したのだ。
これは、ソフトウェア開発における根本的な変化を意味する。これまでの開発では、人間がコードを書き、そのコードが本当に意図した通りに動くかを確認するためにテストやデバッグに時間を費やした。しかし、この新しい世界では、人間が「仕様」を書き、システム(Kiroのようなツール)がその仕様を正確かつ一貫して実装することを保証してくれる。
したがって、これから最も価値のあるスキルは、特定のプログラミング言語の構文や詳細な技術知識そのものではなくなるかもしれない。それよりも、「自分が何を、どのように実現したいのか」という意図を、あらゆる例外ケースやシステム設計上の考慮事項を含めて、いかに正確に伝えることができるかという能力が、新しい時代の「超能力」となるだろう。
このハッカソンに参加した際、開発チームは単純なMCPサーバーを作るつもりだった。しかし、彼らがハッカソンを終える頃には、ソフトウェア開発の未来を実際に体験していた。完成したコードは実際に機能し、実運用にも耐えうる品質だった。しかし、それ以上に重要なのは、そのコードが「人間の意図」を直接「機械の振る舞い」へと変換した結果として存在している点だ。このシステムでは、人間が書いた「仕様」こそが真のソースコードであり、それが動作するソフトウェアへとコンパイルされたのだ。
これは単により良いツールを作っているという話にとどまらない。ソフトウェアが作られる方法そのものを根本から変える可能性を秘めている。そして、この新しい開発の形は、非常に刺激的で希望に満ちたものだと開発チームは感じている。