txkxo’s memorandum

備忘録になります。記事は基本的にAIで作成しています。

Spotlight on Shopify

www.youtube.com

この動画は、ShopifyのプリンシパルエンジニアであるObie Fernandez氏が、同社の巨大なエンジニアリング組織が直面する「スケール」の課題に対し、AI、特にAnthropic社のClaudeをどのように活用しているかを解説したものです。要約のポイントは以下の3点です。

1. Shopifyが直面する「スケール」という課題

Shopifyのエンジニアリング組織は、数千人のエンジニアが毎週数万のコードをコントリビュートするという巨大な規模を誇ります。そのコードベースは、約20年の歴史の中で成長し、数百万行のコード、約5000のリポジトリで構成されています。年間で処理されるプルリクエスト(コード変更の提案)は約50万件にものぼります。このような急速な成長と巨大なスケールの中で、開発者一人ひとりの生産性をいかに維持し、向上させていくかが、Shopifyにとっての中心的な課題となっています。この課題に取り組むために「Augmented DX Team」という専門チームが組織され、AIを活用して開発者体験を向上させるための様々な取り組みが行われています。単にAIを導入するだけでなく、巨大な組織とコードベースという特有の環境下で、いかにしてAIを効果的に機能させるかという点が、彼らの挑戦の核心です。

2. AI活用の2つのアプローチ:「エージェント的ツール」と「構造化ワークフロー」

Shopifyでは、AIを開発支援に活用する上で、タスクの性質に応じて2つの異なるアプローチを使い分けています。一つは「エージェント的ツール」です。これは、Claude Codeのように、問題が明確に定義されておらず、探索的な対話を通じて解決策を見つけていくアプローチを指します。コーディング、リサーチ、トラブルシューティングといったタスクに適しており、AIが自律的・適応的に意思決定を行います。開発者のコントロールは間接的で、AIの能力を信頼することが前提となります。もう一つは「構造化されたワークフロー」です。これは、Shopifyが開発した「Roast」というツールが担うアプローチで、手順が明確に決まっている決定的なタスクに向いています。例えば、大規模なコードのマイグレーション、テスト、コンプライアンスチェック、ドキュメンテーション生成などがこれにあたります。こちらは高い再現性と信頼性が求められ、開発者がプロセスを明確に管理・監督します。

3. 「Roast」と「Claude Code」の連携によるハイブリッドアプローチ

ShopifyのAI活用の最大の特徴は、「エージェント的ツール」と「構造化されたワークフロー」を組み合わせたハイブリッドアプローチにあります。これを実現するのが、自社開発のオープンソースフレームワーク「Roast」と「Claude Code」の双方向の連携です。例えば、開発者がClaude Codeとの対話の中で、特定のテストカバレッジを向上させたいと考えたとします。その際、テストの評価や実行といった再現性が求められる複雑な処理は、Claude CodeがRoastで定義されたワークフローをツールとして呼び出して実行します。逆に、Roastがコード移行のワークフローを実行している途中で、新しいコードを生成する必要が生じた場合、RoastはClaude Codeをコーディングエージェントとして呼び出します。このように、自由で探索的な対話(エージェント)と、決定的で信頼性の高い自動処理(構造化ワークフロー)を柔軟に連携させることで、それぞれの長所を最大限に引き出し、大規模で複雑な開発環境における生産性向上という難題を解決しています。