Rampのエンジニアはあらゆる工程でAIエージェントと働いている
概要
フィンテック企業Rampのエンジニアリング責任者2名が、Claude Codeとエージェント群をソフトウェア開発ライフサイクルのほぼ全工程に組み込んだ実践を語る。未リリースモデル「Fable」でのCI最適化事例から、非エンジニア向けツール「Glass」、社内デジタル同僚「Inspect」、オンコール対応AI「On call assistant」まで幅広く紹介。
主なポイント
- 未リリースの新モデル「Fable」で巨大なPythonモノリスのimportサイクル解消とアプリの遅延ロード化を試行し、多くの変更がマージされるまで進んだ
- 「ダイナミックワークフロー」はClaudeが複数のサブエージェントを自律的にオーケストレーションする仕組みで、test-time computeの新しい形(思考量のlow〜max相当)として使われている
- ダイナミックワークフローによりCI実行時間をP50で18分から6分に短縮。エージェントが変更をマージ後、routineで1日後に再実行して本番データを取得し、最適化を繰り返す運用を自律的に行った
- 「loop」は手順が既知の反復作業(PRのCI修正・リベース、デッドコード削除など)向け、「dynamic workflow」は次の一手が事前にわからない探索的な最適化作業向けと使い分けている
- コーディング環境はiTerm2+IDEなし、シンプルなCLAUDE.md、サブエージェント活用とadversarial review(敵対的レビュー)を重視するミニマルな構成
- 非エンジニア向けの「Glass」、社内デジタル同僚「Inspect」(GitHub/Linear/Slack/Datadog/Sentry/Zendeskにアクセス可能でSlackで@メンションして依頼)、Claude Codeベースの「On call assistant」(インシデントの根本原因分析とPR提出まで自動化)など複数の社内エージェント基盤を運用
- ガードレールは最小権限の原則(読み取り専用キーなど)と、集計ベンチマークよりも個別トレースを分析して「モデルが失敗する境界」を特定することを重視
- プロンプトは「どうやるか」ではなく「何を達成するか」を宣言的に書き、正しいトレース(モデルが辿るべき手順)を意識して設計・改善する
- トークン/コスト予算は個人に課さず、突出した利用者には個別にヒアリングしてプラットフォーム化するか判断する文化
実践に使えること
- 反復的で手順が既知のタスク(PRメンテ、デッドコード削除など)はloop、手順が未知の探索的タスク(システム最適化など)はdynamic workflowと使い分ける
- CI高速化やパフォーマンス改善のような長期タスクは、エージェントに変更をマージさせた後routineで翌日以降に自動再検証させ、反復的に改善を積み上げさせる
- プロンプトは実装手順ではなく達成したいゴールを宣言的に書き、モデルが辿るべき「正しいトレース」を意識して設計する
- エージェントに外部システムへのアクセスを与える際は最小権限(読み取り専用キーなど)から始め、個別トレースを見て失敗パターンを特定する運用を取り入れる