デジタルエンジニアリング部 Eビジネスエンジニアリング課の田原です。
最近携わったプロジェクトで、AIコーディングツールであるClaude Codeを活用しました。本記事では、実際のプロジェクトにおいてClaude Codeをどのように使ったのかを解説するとともに、便利だった点や改善の余地がある点を紹介します。
具体的には、以下の3つの場面での活用事例を取り上げます。
AIツールの導入を検討している方や、実際のプロジェクトでの活用イメージを知りたい方の参考になれば幸いです。
プロジェクトの初期段階で、画面のモックをHTML/CSSで作成する必要がありました。デザインの参考画像をClaude Codeに渡し、モック画面の生成を依頼しました。
参考画像を渡すだけで、短時間でHTMLベースのモック画面を生成してくれました。ゼロからHTMLやCSSを書く手間が大幅に省け、プロジェクト序盤のスピード感を高めることができました。
以下は、実際にClaude Codeへ渡した参考画像です。
※本記事で使用している画像は、実際の案件で使用したものではなく、説明用に別途作成したものです。
Claude Codeへは、以下のように参考画像のファイルパスを指定し、モックの生成を依頼しました。
参考画像を渡すだけでモック画面を生成してくれる点は便利でしたが、最初に生成されたモックは参考画像と比べるとレイアウトや配色にズレがありました。特に、細かなUIパーツやアイコンの再現度は低く、調整が必要な状態でした。
以下は、最初に生成されたモック画面です。
最初の出力をベースに、修正したい箇所を一つずつ具体的に指示していくことで、徐々に参考画像に近いモックに仕上げることができました。
例えば、以下のように段階的に指示を出しました。
このように、一度に完璧な出力を求めるのではなく、対話を重ねて段階的にブラッシュアップしていくことがClaude Codeを効果的に使うコツだと感じました。
以下は、段階的な指示を繰り返した後の修正済みモック画面です。
細部にはまだ修正の余地があるものの、サイドメニューの構成やカードのレイアウト、グラフやテーブルの配置など、おおむね参考画像と同じ構造のモックに仕上げることができました。
プロジェクトでAmazon DynamoDBを使用することになりました。しかし、私自身はDynamoDBの設計経験がほとんどなく、パーティションキーやソートキーの設計、GSI(グローバルセカンダリインデックス)の活用方法など、知見がない状態でした。
Claude Codeに要件を伝え、テーブル設計について何度も対話しながら検討しました。
例えば、「ユーザーの操作ログを保存するテーブルを設計したい。ユーザーIDごとに時系列で取得したい」といった要件を伝えると、以下のようにパーティションキーやソートキー、GSIの設計方針を提案してくれました。
さらに、コスト面やパフォーマンス面の観点でも壁打ちを行いました。GSIを追加すべきかどうか、クエリの仕方によってコストがどう変わるか、ホットパーティションを避けるにはどうキーを分散させるべきかといった観点で、実運用を見据えた論点を整理して回答してくれました。
AIとの対話を通じて、自分だけでは気づけなかった設計上の考慮点を洗い出すことができました。具体的には、以下のような点が役立ちました。
一方で、以下のような点には注意が必要でした。
DynamoDBのようなNoSQLデータベースは、RDBとは設計思想が大きく異なります。知見がない状態からでも、Claude Codeとの壁打ちを通じて設計の方向性を固めていくことができました。
ただし、AIの提案をそのまま採用するのではなく、プロジェクトの要件に合っているかを判断することが重要です。AIはあくまで「考える起点」を与えてくれるツールであり、最終的な設計判断はエンジニア自身が行う必要があります。
DynamoDBと同様に、Amazon Athenaについても知見がない状態でプロジェクトに参加しました。Amazon Athenaは、Amazon S3上のデータに対してSQLでクエリを実行できるサービスです。
こちらもClaude Codeと対話しながら、クエリ設計やパフォーマンスの最適化について検討しました。主に議論したポイントは以下の通りです。
Amazon Athenaはスキャン量ベースの従量課金であるため、データの格納方法がコストに直結します。AIとの対話を通じて、以下のような実践的な知見を得ることができました。
Amazon DynamoDBの設計と同様に、知見がない領域でもAIとの壁打ちによって効率的に設計を進めることができました。
本記事では、実際のプロジェクトにおけるClaude Codeの活用事例を3つ紹介しました。
AIツールは万能ではありませんが、対話を重ねることで学習と設計を同時に進められるという点で、特に知見のない技術領域への取り組みにおいて大きな力を発揮しました。
一方で、AIの出力をそのまま採用するのではなく、自分自身で内容を理解し判断する姿勢は欠かせません。AIはあくまでサポートツールであり、最終的な設計判断や品質の担保はエンジニア自身の責任です。
今後もAIツールを効果的に活用しながら、プロジェクトの生産性向上に取り組んでいきたいと思います。