Simon Willison's Weblogツール・プロダクト更新重要度:

Claude スキル機能を活用した Starlette 1.0 での開発実験

Claude スキル機能を活用した Starlette 1.0 での開発実験

要約

Python の ASGI フレームワークである Starlette の 1.0 がリリースされました。Starlette は FastAPI の基盤となっているフレームワークで、Kim Christie が 2018 年に開発を開始し、2025 年 9 月には Marcelo Trylesinski がメンテナンスを引き継ぎました。1.0 では従来の 0.x シリーズから破壊的変更が加えられており、特に起動・終了処理が on_startup/on_shutdown パラメータから lifespan メカニズムへと変更されています。この変更により、LLM が学習した古いコードとの互換性に問題が生じる可能性があることから、筆者は Claude の skill-creator スキルを使用して解決策を模索しました。Claude に「Starlette を GitHub からクローンして、1.0 リリース用のスキルドキュメントを構築せよ」と指示すると、包括的なスキルドキュメントが生成され、これを「Copy to your skills」機能で個人の Claude チャットに追加できました。その後、新しいスキルを使ってタスク管理アプリ(GitHub Issues のようなもの)を構築したところ、Claude は Starlette 1.0、SQLite データベース、Jinja2 テンプレートを使用した完全なアプリケーションを生成し、さらに自動的にテストも実行しました。

洞察・気づき

この実験は、LLM とソフトウェア開発ツールの統合における重要な課題と解決策を示しています。フレームワークやライブラリが更新されると、LLM の学習データが古くなり、生成されるコードが動作しなくなる問題があります。しかし Claude のスキル機能を活用することで、この問題を効果的に解決できることが実証されました。特に注目すべきは、Claude が単にコードを生成するだけでなく、自動的にテストを実行して動作確認まで行う点です。これは AI アシステッドプログラミングの進化を示しており、開発者が新しいフレームワークバージョンに迅速に対応するための強力な手段となり得ます。また、skill-creator スキルの存在により、開発者自身がカスタムスキルを作成して知識ベースを拡張できる柔軟性も提供されています。この事例は、AI ツールが単なるコード生成器から、継続的に学習・適応可能な開発パートナーへと進化していることを物語っています。