Amplitude社、Cursorにより本番コードの出荷量を3倍に増加
AmplitudeはCursorのクラウドエージェントを活用し、ローカル環境の制約を克服して自律的な開発パイプラインを構築し、プロダクションコードの配信量を3倍に達成した。
キーポイント
ローカルエージェントの技術的限界
リソース競合とメモリ不足により並列実行が阻害され、完全な検証環境の欠如から開発者の手動介入が必要だった。
クラウドエージェントの並列化と自律性
隔離されたVMでのスケーラブルな並列実行と完全な開発環境アクセスにより、エージェントが自己検証・テストを自律的に実施可能になった。
トリガー駆動型自動化パイプラインの実装
Slack上のフィードバックを起点にエージェントが調査・チケット作成・修正コード生成を実行し、リスク分類と自動マージで開発フローを最適化した。
クラウドとローカルのエージェント使い分けワークフロー
エンジニアは新規アイデアや長期の独立作業をクラウドエージェントで実行し、詳細な反復処理やテストが必要な場合はローカルエージェントに切り替える。Cursorはこのシームレスなハンドオフを一元管理する統合ワークスペースとして機能している。
コミット数3倍増加と自律型エージェントの実現
クラウドエージェント導入により週次プロダクションコミット数が3倍に増加し、Cursorはコミット量で社内トップ3の貢献者となった。週1,000回以上のエージェント実行がプロンプトや開発者の介入なしに自動で稼働している。
SlackからPRへの自動化とレガシーコードの課題
顧客からのSlack報告を自動でLinearチケットとPRに変換する自動化により開発速度が向上した。一方で、競合するレガシーパターンが混在するコードベースでは「garbage in, garbage out」の問題が生じ、エージェントの判断が困難になる場合がある。
レガシーコードのバックグラウンド自動マイグレーション
Cursor Automationsを用い、CSSやReactコンポーネントをTailwindへ自動変換する作業を時間外・バックグラウンドで継続的に実行し、開発者の生産性を阻害しない仕組みを実現。
影響分析・編集コメントを表示
影響分析
本記事は、AIコーディングツールの次の進化段階として「クラウドネイティブな自律型エージェント」の重要性を明確に示している。開発現場では、ローカルリソースの制約を超えた並列処理と完全な検証環境が標準化されることで、AI支援開発のROIが大幅に向上する可能性がある。ただし、ベンダーロックインやセキュリティ監査の課題が残るため、企業規模での導入には慎重な評価が必要だ。
編集コメント
開発現場のボトルネックである「ローカルリソース制約」と「検証プロセスの手動性」を解決するクラウドエージェントの実用例として、今後のAI支援開発ツールのアーキテクチャ標準化を先取りした事例と言える。
Amplitudeのエンジニアリングチームは、開発者の介入を最小限に抑え、ソフトウェアをアイデアから本番環境まで導く完全自律型の開発パイプラインを構築したいと考えていました。Cursorにより、Amplitudeは現在、顧客フィードバックから監視ツール、コードレビューに至るまで、ソフトウェアライフサイクル全体からコンテキストを取り込み、それを実行のためエージェントに引き渡すシステムを構築しました。
現在、顧客がSlackでバグや機能リクエストを報告すると、クラウドエージェントが自動的に起動し、調査を開始、チケットを作成し、修正を記述します。Cursor Automationsはバックグラウンドで継続的に実行され、レガシーコードの移行や、新規または更新されたPRごとのリスクレベル分類を行います。Bugbotはレビューの第一線として機能し、低リスクの変更は自動的にマージし、高リスクのPRは適切なレビュアーに振り分けます。
ほとんどのAIコーディングツールは、より多くのコードを提供します。Cursorは、より有用な本番環境用のソフトウェアを提供します。作業を効果的に並列化し、自身の変更をテストし、機能をアイデアから本番環境まで導けるエージェントを実行する能力が、決定的な違いです。
#ローカル限定のエージェントは並列化と自律性を制約する
コーディングエージェントの導入初期、AmplitudeはスタッフソフトウェアエンジニアのAdam Lohnerが「エンジニアリング生産性における偽りの停滞期」と表現した問題に直面しました。
開発速度を真に加速させるのは、エージェントが単に大量のコードではなく、真に有用な本番環境用ソフトウェアを生成するときです。そのためには、ローカルの開発者ワークステーションに閉じたエージェントでは実現できない、はるかに優れたエージェントの並列性と自律性が必要でした。
ローカルエージェントは同じ限られたリソースを奪い合い、すぐに競合が発生します。たった2、3のエージェントを同時に実行するだけでも、パフォーマンスの低下を招く可能性があります。Amplitudeのコードベースは非常に大規模であるため、大容量のRAMを搭載した高性能ハードウェアであっても、ローカルの開発者マシンはメモリ制限に達していました。
また、ローカルエージェントはエンジニアのように完全な開発環境にアクセスできません。そのため、エージェントは自身の作業をテストまたは検証することができません。開発者は依然として、環境を設定し、エンドツーエンドテストを実行し、リリース前には変更を手動で検証する必要があります。
#クラウドがエージェントのローカル限界を打破する
より優れた並列性と自律性を求めて、AmplitudeはCursorのクラウドエージェントに注目しました。特に以下の機能が際立っていました:
大規模な並列実行: クラウドエージェントは分離されたスケーラブルなVMで実行されるため、ローカルの並列処理を制限していたリソース制約がなくなります。
完全な開発環境: クラウドエージェントは、完全な開発環境にアクセスできるため、エンジニアと同様に自身の作業をテスト、検証、反復できます。
長時間実行: Amplitudeは、短く同期型のタスクではなく、より深く野心的なタスクをクラウドエージェントに任せ、エンドツーエンドで取り組ませています。
常時稼働エージェント: Cursor Automationsにより、Amplitudeは手動での指示ではなく、トリガーや定期スケジュールに応じて実行されるクラウドエージェントを設定できます。
私たちはCursorで多くのクラウドエージェントを同時に実行しており、それぞれがツールスタックに完全にアクセスできます。ローカルのリソース制約にぶつからず、絶え間ない細かい管理を必要としないエージェントを起動できる能力は、飛躍的な変化をもたらしました。
Amplitudeのエンジニアは現在、作業の種類に応じてクラウドエージェントとローカルエージェントを使い分けています。新しいアイデアは、Cursorのハーネスによってエージェントが長時間独立して作業できるクラウドで始まることがよくあります。多くのエンジニアは、機能のアイデアが議論されているSlackスレッドから直接Cursorを起動します。
開発者は、より制御された反復に集中する準備ができたとき、あるいは詳細に深く関わりたいときに、エージェントをローカルにプルします。Cursorは、クラウドとローカルの両方にわたる統一されたワークスペースとして機能します。
Cursorは、すべての異なる並列エージェントを調整するための最適なインターフェースを提供します。必要に応じて、高レベルな視点を保つことも、差分やファイルなどの詳細に踏み込むこともできます。
クラウドエージェントを導入して以来、Amplitudeは週次の本番環境へのコミット数が3倍に増加しました。Cursorはコミット数においてAmplitudeのコードベースへのトップ3の貢献者となり、毎週1,000回以上のエージェント実行が、指示や開発者の介入なしに起動されています。
クラウドはソフトウェアが構築される場所であり、ローカルはテストと反復を行う場所です。Cursorが両者の間のシームレスな引き継ぎをサポートしていることが、Amplitudeの製品開発速度を向上させる鍵となりました。
#Slackからチケット、そしてPRへ
Amplitudeには、フィールドチームが顧客のバグ報告や機能リクエストを中継する専用のSlackチャンネルがあります。Cursor以前は、専任のチームメンバーがこれらのチャンネルを監視し、問題のトリアージ、チケットの追跡、バックログからの作業割り当てを行っていました。
その後、Paulyはこの一連の作業全体をエージェントに引き渡すCursor Automationを構築しました。Slackに新しいメッセージが届くと、クラウドエージェントがLinearをチェックし、その問題に対するチケットが既に存在するかどうかを確認します。存在する場合、エージェントは新しい顧客のコンテキストを追加します。存在しない場合、エージェントはコードベースを調査し、新しいチケットを作成し、解決策を実装したPRを作成します。
Cursor Automationsは、顧客と私たちのエンジニアの間のギャップを解消するのに役立っています。私たちは、より速く、より良い解決策で顧客のニーズに対応しています。
このテンプレートを使用して、SlackレポートをPRに変換するオートメーションの構築を始めることができます。
#自動化されたレガシーリファクタリング
Amplitudeのフロントエンドコードベースには、レガシーなCSSコンポーネント、古くなったReactレイアウト、一貫性のないスタイリング規約など、長年にわたって蓄積された競合するパターンが混在していました。
私たちには非常に多くの競合するレガシーパターンがあり、エージェントは正しい前進方法を判断するのに苦労しています。これは「ガベージイン、ガベージアウト」の問題です。
これを修正するため、Lohnerはレガシー移行を少しずつ進めるために毎時実行される、cronベースのCursor Automations一式を構築しました。一つのオートメーションは、Tailwindクラスで直接置換可能なスタイルをCSSファイルからスキャンし、置換を実行、古いファイルを削除し、PRを作成し、Slack通知を投稿します。もう一つは、Amplitudeに存在する20,000以上のレガシーなReactレイアウトコンポーネントのインスタンスを処理し、それらをネイティブのTailwind同等品と交換します。
これらの移行をクラウドでオートメーションとして実行することは、他の作業を妨げたり開発者の時間を消費したりすることなく、バックグラウンドで継続的に行われることを意味します。
#エージェント主導のコードレビュー
Amplitudeのエンジニアリング速度を遅らせていたもう一つのボトルネックは、手動のコードレビューでした。Amplitudeは、製品の信頼性を高め、開発者への中断を減らす、エージェントファーストのレビュープロセスを望んでいました。
AmplitudeはBugbotを専用のエージェントレビューレイヤーとして実装しました。Amplitudeのコードベースの規模と複雑さを考えると人間のレビュアーが見逃していた問題をBugbotが捕捉するのを見て、その採用は自然に広がりました。
Bugbotは定期的に本当に難しいバグを捕捉し、問題に対する確固たる修正を提案します。
Lohnerはまた、すべてのPRのリスク影響レベルを判断するCursor Automationを構築しました。低リスクの変更はマージに進むことができ、Bugbotが開発者の介入なしに問題をレビューし自動修正します。より複雑なロジック変更を含む高リスクのPRは、自動的に適切なエンジニアに振り分けられます。低リスクPRの約60〜70%は、追加の開発者作業なしにマージされています。このテンプレートを使用して、SlackレポートをPRに変換するオートメーションの構築を始めることができます。
Bugbotが実際の本番環境を脅かすバグを頻繁に捕捉する実績は、私たちのコードレビュープロセスの重要な部分となっています。
次に、Amplitudeはオートメーションを開発ライフサイクルの後半部分—CI/CDパイプライン、ビルド検証、デプロイメント—に組み込むことに焦点を当てています。目標は、エージェントがレビュー済みのPRから本番環境まで、開発者の介入なしにソフトウェアを導くことです。
Cursorで自律型開発パイプラインを構築することに興味がある場合は、Cursorトライアルを開始するために私たちのチームに連絡してください。
原文を表示
Amplitude's engineering team wanted to build a fully autonomous development pipeline that could take software from idea to production with minimal developer intervention. With Cursor, Amplitude has now set up systems that take in context from across the software lifecycle—from customer feedback to observability tools to code reviews—and hand it off to agents for execution.
Now, when customers report bugs or feature requests in Slack, cloud agents automatically kick off to investigate, open a ticket, and write a fix. Cursor Automations run continuously in the background, migrating legacy code and classifying risk levels for every new or updated PR. Bugbot serves as the first line of review, merging low-risk changes automatically while routing high-risk PRs to the right reviewers.
Most AI coding tools give you more code. Cursor gives you more useful production software. The ability to run agents that can effectively parallelize work, test their own changes, and take a feature from idea to production is the difference.
#Local-only agents constrain parallelization and autonomy
Early on in its adoption of coding agents, Amplitude ran into what Adam Lohner, a staff software engineer, described as a false plateau in engineering productivity.
Real accelerants to development velocity come when agents produce genuinely useful production software, not just lots of code. We needed much better agent parallelism and autonomy for the former, which agents confined to local developer workstations don't offer.
Local agents compete for the same set of limited resources and quickly run into conflicts. Even running two or three agents at once can lead to performance degradation. Amplitude's codebase is large enough that local developer machines were hitting memory limits, even on high-end hardware with large amounts of RAM.
Local agents also do not have access to a full development environment the way an engineer would. Without it, agents cannot test or verify their own work. Developers still have to configure environments, run end-to-end tests, and manually verify changes before anything can ship.
#Cloud breaks agents out of the local ceiling
For better parallelism and autonomy, Amplitude turned to Cursor's cloud agents. A few capabilities stood out:
Parallel execution at scale: Cloud agents run in isolated, scalable VMs, removing the resource constraints that cap local parallelism.
Full dev environment: Cloud agents can test, verify, and iterate on their work just like an engineer would, with access to a complete development environment.
Long-running execution: Amplitude is delegating deeper, more ambitious tasks for cloud agents to tackle end-to-end instead of short, synchronous ones.
Always-on agents: Cursor Automations let Amplitude set up cloud agents that run in response to triggers or recurring schedules instead of manual prompting.
We're running many cloud agents at once in Cursor, each with full access to our tool stack. The ability to spin up agents that don't run into local resource constraints or require constant micromanagement has been a step-function change.
Engineers at Amplitude now move between cloud and local agents depending on the type of work. New ideas often start in the cloud, where Cursor's harness allows agents to work independently for long stretches of time. Many engineers kick off Cursor directly from Slack threads where feature ideas are being discussed.
Developers pull agents locally when they are ready to focus on more controlled iteration or get closer to the details. Cursor serves as the unified workspace across both cloud and local.
Cursor offers the best interface to orchestrate all your different parallel agents. You can stay high-level or dig into details like diffs and files when you need it.
Since adopting cloud agents, Amplitude has seen a 3x increase in weekly production commits. Cursor has become a top 3 contributor to Amplitude's codebase by commit volume, with over 1,000 agent runs kicked off every week without any prompting or developer intervention.
Cloud is where software is built, local is where we test and iterate. Cursor's support for seamless handoffs between the two has been the key unlock for Amplitude's product velocity.
#From Slack to ticket to PR
Amplitude has dedicated Slack channels where field teams relay customer bug reports and feature requests. Before Cursor, they had a dedicated team member monitor these channels, triage issues, chase down tickets, and assign work from the backlog.
Then, Pauly built a Cursor Automation to hand this entire workstream off to agents. When a new message lands in Slack, a cloud agent checks Linear to see if a ticket already exists for the issue. If one does, the agent adds the new customer context. If not, the agent explores the codebase, opens a new ticket, and opens a PR with its solution implemented.
Cursor Automations are helping us eliminate the gap between the customer and our engineers. We're addressing customer needs faster and with better solutions.
You can start building an automation to turn Slack reports into PRs with this template.
#Automated legacy refactoring
Amplitude's frontend codebase had accumulated years of competing patterns encompassing legacy CSS components, stale React layouts, and inconsistent styling conventions.
We have so many competing legacy patterns that agents struggle to interpret the right way forward. It's a garbage in, garbage out problem.
To fix this, Lohner built a set of cron-based Cursor Automations that run hourly to chip away at legacy migrations. One automation scans CSS files for styles directly replaceable with Tailwind classes, makes the substitutions, deletes the old files, opens a PR, and posts a Slack notification. Another works through Amplitude's 20,000-plus instances of legacy React layout components, swapping them out for native Tailwind equivalents.
Running these migrations in the cloud as automations means they happen continuously in the background without displacing other work or consuming developers' time.
#Agent-led code review
The other bottleneck slowing Amplitude's engineering velocity was manual code review. Amplitude wanted an agent-first review process that improved product reliability and resulted in fewer interruptions for developers.
Amplitude implemented Bugbot as its dedicated agentic review layer. Adoption grew organically as developers saw Bugbot catch issues that human reviewers were missing given the size and complexity of Amplitude's codebase.
Bugbot regularly catches really hard bugs and proposes solid fixes to the issues.
Lohner also built a Cursor Automation that judges the risk impact level of every PR. Low-risk changes can move to merge, with Bugbot reviewing and autofixing issues without developer intervention. High-risk PRs with more complex logic changes are routed to the right engineers automatically. Roughly 60-70% of low-risk PRs are merged without any additional developer work. You can start building an automation to turn Slack reports into PRs with this template.
Bugbot's track record of frequently catching real, production-threatening bugs has made it a key part of our code review process.
Next, Amplitude is focused on pushing automations into the back half of the development lifecycle: CI/CD pipelines, build validation, and deployment. The goal is to have agents take software from reviewed PR to production without developer intervention.
If you're interested in building autonomous development pipelines with Cursor, please reach out to our team to start a Cursor trial.
関連記事
より優れたAIモデルがより野心的な仕事を可能にする
AI企業が、より高性能なAIモデルを開発し、これにより研究者や開発者がより複雑で野心的なプロジェクトに取り組めるようになった。
より優れたAIモデルがより野心的な仕事を可能にする
AI企業がより高性能なAIモデルを開発し、これにより従来よりも複雑で創造的な作業を自動化できるようになった。
Cursor 3がエージェントファーストインターフェースを導入、IDEモデルを超える
Anysphere社がCursor 3をリリースし、ファイル編集から並列コーディングエージェント管理へ主モデルを転換した。新ワークスペースはローカルからクラウドへのエージェント引継ぎ、マルチリポジトリ並列実行、プラグインマーケットプレイスをサポートする。