booklista tech blog

booklista のエンジニアリングに関する情報を公開しています。

Reader Store開発チームでのAI活用についてご紹介

はじめに

こんにちは。株式会社ブックリスタのプロダクト開発部でエンジニアをしている長塚です。

私の所属する「Reader Store(運営:株式会社ソニー・ミュージックエンタテインメント)」開発チームでは半年前からClaude Codeの導入を始めましたが、今では既に多くの開発者が直接コードを書かなくなりました。

日々の開発はAIとの協働が前提で、コーディング以外のほぼ全ての業務でもAIを活用しています。例えばこのブログの執筆では、構成案の壁打ちや定期的に執筆具合に応じたアドバイスをもらっています。

(以下はその様子。即席で作った執筆コーチスキルですが、褒め上手でいい感じです)

執筆コーチの様子

さて、今回はこうしたAI活用が定着するまでに、Reader Store開発チームで進めてきた取り組みの一部を紹介します。チームのAIツールの活用状況の雰囲気を感じとっていただけたら幸いです。

まず、Reader Store開発チームでは昨年度、開発改善の時間(技術的負債の解消やプロセス改善に充てる時間)を週に1回程度取って良いことにしました。その中で私は、AI活用を中心とした開発改善に取り組みました。その際に意識してきたのは、属人的・1回限りではなく、チーム全員が再現性のある形でAIを活用できる状態を作ることでした。以下、その実現に向けて進めてきた取り組みの一部を順に振り返ります。

AI活用の土台作りから始めた

Reader Store開発チームでは数年前からGitHub Copilotを利用していました。昨年度、いくつかのAIツール(Cursor/Cline等)を試した結果、Claude Codeをチーム全体で導入することになりました。おおよそ半年前のことです。

ただ、チームとしての導入を決めたのは良いものの、最初はこのツールをどう使っていくかという手探りの状態でした。各々がCLAUDE.mdを作っていたり、カスタムコマンド等をリポジトリに自由に入れて良いか等のルールも決まっていませんでした。

そこでCLAUDE.mdの整備やAI関連コードのPRを出すときの運用ルールを策定しました。細かな話は省略しますが、運用ルールとしては運用の軽さや段階的な改善を意識したものにしました。CLAUDE.mdの内容は一般的なものですが、これらの整備によって、AI前提の開発を進めていくための第一歩を切ることができました。

チーム専用のプラグインを開発・共有する

次に課題になったのは、チームメンバーそれぞれがAIを有効に活用できる状態にできるかということでした。Claude Codeは賢いので大まかな指示でもある程度は動いてくれますが、より良い動作を再現性よく実現するにはプロンプトの書き方を考える必要があります。しかしその取り組みはメンバーごとにまちまちでした。

個々の取り組みだけに頼るのではなく、うまくいったワークフローやプロンプトの書き方を共有できるようにする必要があります。幸いClaude Codeではスキルやフック等、あるいはそれらをひとまとめにしたプラグインを共有できます。

メインのプロジェクトのリポジトリでも共有はできるのですが、Reader Storeではプラグイン用のリポジトリを作成しました。その方が他のプロジェクトでも再利用しやすいですし、心理的にも若干ハードルが低いです。

プラグイン用のリポジトリにある2つのプラグインを簡単に紹介します。

活用例1: テスト駆動開発支援プラグイン

使い方は色々考えられますが、Claude Codeはエージェント型コーディングツールなので、コーディングを中心としたワークフローの仕組み化としてテスト駆動開発の支援用プラグインを作成しました。

AIの利用を前提としたテスト駆動開発や仕様駆動開発を行うためのプラグインやツールは他にもありましたが、細かな調整がしやすいという点では自前で作成する利点があります。プラグイン自体もAIを使用して作成するので、手間もそれほど大きくありません。

このプラグインではテスト駆動開発の各フェーズに対応した3つのスキルがあります。

  1. テスト作成(Red): 要件からテストコードを作成し、失敗を確認する
  2. 実装(Green): テストが通る実装をする
  3. リファクタリング(Refactor): テストをパスした状態を保ちながら、コード構造を改善する

テスト駆動開発支援

これらの各スキルの中ではワークフローが定義されています。例えばテスト作成の場合、「要件の理解 → コードベース調査 → 不明点の確認 → テスト設計 → テスト実装 → テスト失敗の確認」といった決められた順序で進行します。

体感ベースですが、プラグインを使わない場合と比較したら出力の精度は上がり、都度プロンプトを考える必要もないので開発がスムーズになりました。

活用例2: テスト仕様書作成の支援プラグイン

テスト駆動開発支援プラグインを導入した後、Claude Code活用についてアンケートをとりました。その結果、半数以上が「テストケースの洗い出し・テスト仕様書の作成」を時間がかかる作業としてあげていました。

アンケート結果

それを受けてテスト仕様書作成の支援用プラグインを作成しました。

このプラグインでは主に次のことを行います。

  1. 要件からテストケースを列挙する
  2. テストケースを元に手順書を作成する

手順書の出力に関しては厳密にはテスト仕様書のフォーマットのスプレッドシートに貼り付けやすいようにTSVを出力する動作になっています。スプレッドシートでテスト管理するのが良いかはまた別の議論がありますが、一旦現状の運用に合わせた形です。

こちらのプラグインも要件の理解や不明点の確認を経てから観点の洗い出し、テストケースを作成する等の決められた順序で進行するようになっています。テスト仕様書のフォーマットやTSV出力の方法等もプラグインの中に組み込まれているので、利用者はテストケースの作成に集中できます。

ナレッジ共有の場を作る

上記で紹介した以外もいくつかのプラグインを作成していますが、利用されたフィードバックがあまり得られず、なかなかチーム内で使ってもらえていない感触がありました。

そこで実際にプラグインを利用したデモも兼ねてAI活用の共有会をすることになりました。

正直なところプラグインの利用がそこから一気に広がったという実感はありません。ただ、共有会では各メンバーが普段どういう使い方をしているかを知るきっかけになります。今後も共有の場を作ること自体は続けていきたいと思っています。

また、共有会とまではいかずとも、Reader Storeの開発チームではSlackで気軽に情報交換も行っています。

これから取り組みたいこと

Claude Codeを導入してから約半年、Claude Code自体の進化や各メンバーのスキル向上、そしてこれまで紹介したような取り組みなどが重なって、活用の幅は広がってきています。しかし、もっと磨いていきたい部分もあります。

その1つは、プラグインのメンテナンスが作成者主体で進んでいる点です。改善したい方向性もおそらく個々人で異なり、チームの資産としてどう継続的に管理していくかという部分は手探りの状態ですが、チームで形を整えていきたいと考えています。

そして、AI活用を前提とした開発には最適化の余地があると思っています。人間が行っていた作業の多くは、AIで代替できるようになったという実感があります。しかし、長時間のタスクの実行や並行稼働といった、AIだからこそできる使い方を実現するにはより安定したワークフローの設計が必要で、今後の研究課題だと考えています。

さらにReader Storeは昨年の12月で15周年を迎えた、電子書籍ストアとして歴史あるサービスです。15年分積み重ねてきたビジネスロジックや業務知識は厚く、AIに任せる際にも人間によるレビューやドメイン理解の補完が欠かせません。品質を担保しながらAIが担える領域を広げていきたいと考えています。

まとめ

以上が2025年下半期でReader StoreチームでのAI活用を目指した取り組みです。

AIによって開発は大きく変わりましたが、導入するだけで全員が使いこなせるわけではありません。AIを活用することはもちろんのこと、AIをチームで活用できる仕組みを作ること。それもエンジニアの大事な役割だと考えています。

業界全体でAI活用が加速していく中で、プロダクトの競争力を高めていけるよう、Reader Store開発チームでも引き続きその仕組みづくりに取り組んでいきます。

本記事が、同じような課題に取り組んでいる方の参考になれば幸いです。