Claude Code Actions / Devin / GitHub Copilot / 自作AIで挑むPRマラソン1000
はじめに
こんにちは、イオンネクストCTOの樽石です。今回は、6月に挑戦している「プルリクマラソン1000」のお話をしたいと思います。
プルリクマラソン1000とは
プルリクマラソン1000は、イオンネクストのCTOが1ヶ月間で1000個のプルリクエストを1人で作成・マージするというチャレンジです。営業日を約20日と考えると、1日平均50個のプルリクエストをマージする必要があり、日によってムラがあることを考慮すると、最大で1日100個のプルリクエストを狙うレベル感となります。
取り組みの背景
生成AI活用の時代
ここ数ヶ月、生成AIを活用したソフトウェア開発において、非常に大きなブレイクスルーが毎日のように続いています。この現実を受けて、イオンネクストでも生成AIを前提としたソフトウェア開発方法論をしっかりと構築していこうという取り組みを進めています。
開発主体体制への転換
イオングループは年度初めが3月で、イオンネクストも今年度から「開発主体体制」として、ソフトウェア開発をメインで行っていく位置づけで年度をスタートしました。ちょうど生成AIが普及してきたことで、これを活用した開発チームを作っています。
直近の開発状況
4月の第2週から開発を再開し、2週間で約40個のプルリクエストをマージしました(1週間で20個程度)。5月は6月のプルリクマラソンに向けた準備期間として位置づけ、最終的に1ヶ月で約100個のプルリクエストをマージできるようになりました。なお、4月の段階で月間PR数はチーム内でトップになり、5月は大差をつけてトップになりました。
OKRと高い目標設定
イオンネクストは2025年3月の新年度からOKRに基づいた組織運営を開始しました。現在は「高い目標を掲げる」ことを最優先にしており、キーリザルトの達成度が低いほど良いというスタンスで取り組んでいます。
このプルリクマラソン1000も、そうした高い目標設定の一環として位置づけられています。5月で100個だったものを、6月はその10倍の1000個に挑戦するという、非常にチャレンジングな目標です。
第1週の実績と分析
現状の数値
第1週の実績として、マージされたプルリクエストは約40個でした。これは1日平均8個程度で、5月とあまり変わらないペースです。
このペースで4週間続けると160個となり、目標の1000個に対する達成度は0.16(16%)という状況です。
製造中プルリクエストの存在
一方で、製造中でまだマージされていないプルリクエストが約20個あります。これらがマージされると合計60個となり、4週間で240個(達成度0.24)となります。それでも目標の1000個には遠く及ばず、3〜4倍のペースアップが必要な状況です。
第1週の取り組み内容
要望の収集
第1週で特に注力したのは、「何を作るか」を明確にすることでした。プルリクエストを大量に作るためには、それに見合う要望が必要です。
業務部門にヒアリングを行い、困りごとやシステムで改善できそうな小さな事項を積極的に収集しました。これらを要望・リクエストとして整理し、第2週以降に開発チケット化してプルリクエストを量産する基盤を作りました。
今後の目標設定
第1週の実績を踏まえ、以下のような週次目標を設定しました:
- 第1週:60個(製造中含む)
- 第2週:120個
- 第3週:200個
- 第4週:300個
この計画で進めると、合計680個(達成度0.7)程度になります。
さらに1000個を目指すためには:
- 第2週:200個
- 第3週:300個
- 第4週:400個
この計画で第1週の60個と合わせて960個となり、ほぼ目標達成となります。
AI全振り戦略
基本方針
イオンネクストの2025年度は 「AI全振り」 の年度として位置づけています。少数精鋭のエンジニアチームで、AIを無制限に活用し、従来の継続的改善ではなく、前提を変えるレベルの非連続な改革を目指しています。
活用しているAIツール
現在、以下のAIツールを活用しています:
エディター統合型
独立型AIエージェント
GitHub統合型
自作AIエージェントの開発
既存のAIツールはそれぞれ優れた機能を持っていますが、実際の業務ワークフローに組み込む際にそれぞれが独立してしまったり、個別の不具合が発生したときにそこが SPOF になってしまうという課題がありました。
そこで、これらのAIエージェントを統制し、全体を調整する「親玉」となる自作AIエージェントを開発しました。このエージェントは以下の機能を持ちます:
情報統合機能
- Slack、GitHub、Jiraなど散在する情報の統合
- 各ツール間の情報連携
- 現場の要件から各エージェントが行動可能なステップに落とし込むアクションの明確や分解
ワークフロー最適化
- 人間の介入が必要なタイミングでの適切な通知
- スタートボタンの押下など、人間のアクションが必要な場面での迅速な通知
- Slackでの担当者メンション機能
AIエージェントチーム統制
- 複数のAIエージェントの協調動作
- 全体のワークフロー調整
技術的な工夫
マルチスレッド開発
1日100個のプルリクエストを目指すには、シングルスレッドでの開発では限界があります。そこで、自分自身がマルチスレッドの開発者となり、同時に複数のプルリクエストを扱える仕組みを構築しました。
レビュープロセスの最適化
大量のプルリクエストが発生すると、人間によるレビューが確実にボトルネックになります。この課題を解決するため、レビュープロセスの自動化や効率化に取り組んでいます。これは Claude Code Actin を全面的に活用しています。
分析システムの構築
プルリクエストマラソンを効率的に進めるため、Gitのコミットやプルリクエストの状況を分析・可視化するツールを自作しました。これにより、日別の進捗や全体の傾向を把握し、戦略的に取り組みを調整できるようになりました。
年間目標:プルリクマラソン42,195
チーム展開への準備
6月の個人チャレンジを成功させた後は、チーム全体にこの取り組みを展開していく予定です。1000個作れる人が複数いれば、チーム全体でのアウトプットは飛躍的に向上します。
年間目標の設定
2025年度の年間目標として、プルリクエスト数42,195個(フルマラソンの距離42.195kmにちなんだ数字)を設定しています。
現在の社員エンジニア人数は5〜10名程度です(この人数で食品ECサービス・グリーンビーンズを作っているって本当なの?という方はぜひご連絡を。どうやっているかを解説します)。4万規模のプルリクエストを1年で達成するには、年度後半に1ヶ月で3000〜4000件のプルリクエストをマージする必要があります。10人のチームで1ヶ月4000件とすると、1人当たり月300件のプルリクエストが必要になります。
このレベルに到達すれば、非常に高いパフォーマンスを持つ開発チームとなり、様々なものを効率的に作れるようになると期待しています。
まとめと今後の展望
第1週の学び
第1週を通じて、以下のことが明確になりました:
- 要望収集の重要性:大量のプルリクエストを作るには、事前の要望収集が不可欠
- AIツールの組み合わせ:単体のAIツールではなく、複数のツールを組み合わせることで効果を最大化
- ワークフロー統制の必要性:人間とAIの協調作業を円滑にする仕組みが重要
AIを前提とした開発環境
イオンネクストは、AIを前提としたソフトウェア開発チームになるという明確なビジョンを持って突き進んでいます。AIを使い倒したい! このような環境で働きたいと考えているエンジニアの方々には、非常に興味深い環境を提供できると思います。
今後の情報発信
来週以降も、毎日または週次での振り返りを通じて、この取り組みの進捗を共有していく予定です。AI活用による開発生産性の向上に関する知見やノウハウを、積極的に発信していきたいと思います。
この挑戦を通じて、生成AIを活用したソフトウェア開発の新しい可能性を探求し、業界全体の発展に貢献できれば幸いです。
この記事は、プルリクマラソン1000の取り組みを記録・共有するためのものです。今後も定期的にアップデートを行い、AI活用による開発生産性向上の実践例として情報を提供していきます。
Discussion