Stripe 社内 Agent 開発の実践:エンジニア1人が1週間で開発した社内AIアシスタント、ほぼ全社員が利用

ファイル、サンドボックス、コンテキスト要約の3点セットは既製品。安全境界は自前で構築。スキルが150個を超えたとき、モデルは選別を誤り始めた
著者:LangChain Blog08-05 · 14 分で読了⚑ チュートリアル
🎧 ポッドキャスト版0:00 / --:--
0:00 / --:--
深掘り · 小互解读
1分でわかる要点
  • 指示を1つ送るだけで、11秒後には「開けて・書き出して・リアルタイムでカウントダウンまで動く」イベント招待状のWebページが完成する。
  • 初版はエンジニア1人が1週間で開発。最も難しいレイヤーは既製品(ファイル、サンドボックス、コンテキスト要約の3点)だったからだ。
  • スキルは多ければいいわけではない。Stripe の実測では、150個を超えると、最先端モデルはスキル選択を誤り始めた。
  • もう一つ。同資料の本文とグラフが一致していない。本文は「会話の多くはマルチターン」と述べる一方で、図の中央値はわずか2ターン。
⚑ 立場の説明:この記事の主な材料は、LangChain 公式ブログによる自社顧客の実践検証記事です。補足資料として、Stripe 自身が stripe.dev に公開したブログ記事を使っています。両者とも当事者です。記事中の採用率やビジネス効果(成約増加、工数削減)は、すべて Stripe の自己評価であり、第三者による検証はありません。仕組みの詳細は、私が別途 deepagents のオープンソースリポジトリのソースコードを読んで照合しており、出典は各所に明記しています。
イントロ

Kai:エンジニア1人が1週間で開発した企業向けAIアシスタント

LangChain 公式ブログは7月末、非常に詳細な実践検証記事を公開しました。Stripe が同社製のオープンソース「Deep Agents」を使って、全社の非エンジニア向けAIアシスタント「Kai」をどう作ったかという内容です。現在、Stripe 社員の83%が毎週利用していますが、最初の稼働バージョンはエンジニア1人が1週間で作り上げました。この記事の真価は、「どの層が既製品で済むか」「どの層を自前で作るべきか」「規模拡大でどこに壁があるか」をすべて明らかにしている点です。さらに、直感に反する実証結果も示されています。それは、Agent にスキルを追加しすぎると、むしろ賢さが落ちるというものです。

Kai とは何か:3つのポイントで説明

課題Claude Code や Codex といったAIツールはエンジニア向けに作られており、ターミナル、環境設定、データセキュリティ承認といった壁が、営業、財務、オペレーション担当者の参入を阻んでいます。しかし、会社は全員にAI活用による業務効率化を求めています。
発想非エンジニアを開発ツール側に引き寄せるのではなく、彼らの働き方に合わせて作り直す。すぐに使えて、設定不要、Stripe 社内の動き方を最初から理解している「AI同僚」です。
結果プレビュー公開から1週間で、当初の四半期採用目標を達成。4週間でユーザーは296人から5000人以上へと16倍に増加。現在は社員の83%が毎週利用しており、市場部門(95%)とGTM部門(87%)の採用率はエンジニアリングチームを上回っています。

具体的に何ができるのか:

会話を始めて、タスクを任せるチャットボックスに必要なものを入力すると、生成されたレポート、ダッシュボード、ドキュメントが会話の横に表示されます。さらに会話を続けると、それらの成果物も追従して更新されます。これはプログラミング用Agentと同じ使い方ですが、コードを書かない人向けに設計されています。
最初から Stripe を理解している社内システム、データソース、ビジネスルールがあらかじめ組み込まれています。使う前に「自分が何をしているのか」「会社がどう運営されているのか」を説明する必要はありません。
1000以上のスキルとツールに接続データウェアハウス、BIダッシュボード、プロジェクト管理ツールに加え、Zoom や Google Workspace などの外部サービスも手の届く範囲にあります。
コードを実行できるPython によるデータ調査・グラフ作成、PDF やプレゼンテーションの解析などは、すべて分離されたサンドボックス内で実行されます。
人がいる場所ならどこでも使えるWebアプリ、Slack、Chrome 拡張機能でサードパーティのWebツールに組み込めます。また、API を使えばあらゆる社内アプリに組み込むことも可能です。
部門ごとに異なるバージョン営業オペレーション向けの Kai と財務向けの Kai では、デフォルトで搭載されるスキルが異なります。さらに、個人が部門のデフォルト設定にスキルを追加することもできます。

まず、実際の動作を見てみましょう。Stripe が公開した11秒のデモ動画では、エンジニアの Anupam 氏が Kai のホーム画面に次のように入力しています。

デモ内の実際の質問 · 日本語訳
サンフランシスコで開催される Stripe Press の公開イベントについて、週次ローンチ計画とインタラクティブなイベント招待状を作成してください。対象はアーリー期の起業家で、テーマは「AI時代に生き残る企業の築き方」です。過去90日間でウェブサイトのトラフィックが最も多かった3冊の本を選び、その著者の最近の公の発言を調査し、テーマ、書籍リスト、候補スピーカー2名を提案してください。各選択には出典を明記してください。
この1文には実は5つの異なるタスクが含まれており、それぞれに依存関係があります。後のタスクは前の結果が出るまで開始できません。
ひと言の指示 社内データ参照 90日間アクセス 人物調査 著者の最新動向 判断 テーマと登壇者選定 出典提示 各項目に明記 計画策定 週次ローンチ表 event_invite.html 開ける・編集できる・書き出せるWebページ 下部のカウントダウンはリアルタイムで進行 11秒
当該質問が Kai 内で 5 つの依存タスクに分解され、最終的に 1 つのファイルへ集約される流れ(当サイト作図)

Stripe が公開した Kai のデモ(音声なし)。空白のホーム画面から前述の質問を入力し、ダークテーマのイベント招待状が画面に表示されるまで、わずか11秒。途中、使用しているツール write_file · file_path: event_invite.html と、ask-data というスキルのタグが見えます。出典:stripe.dev『Meet Stripe's Knowledge AI Platform』。

最後の画面に表示されるWebページは、実際に生成されたファイルです。ダークな背景に、タイトルは『Built to Last: Founding Durable Companies in the AI Era』。2026年9月24日(木)午後6:00〜8:30、場所は Stripe サンフランシスコベイエリアオフィス、対象は「アーリー期の起業家(pre-seedからAラウンド)」と記載されています。「招待を申請」「ブックリストを見る」という2つのボタンがあり、下部ではカウントダウンがリアルタイムに動いています。右上には「デモを終了」と「エクスポート」があります。

一瞬だけ映る細かい点も覚えておきましょう。ホーム画面下部の小さな文字には、このプロダクトは Agent Foundations チームが作成したとあり、入門ガイドは社内短縮リンク go/kai-getting-started、フィードバックは #kai-pilot チャンネルへ送るようになっています。右上には「Incognito」(シークレット)スイッチがあり、入力欄のプレースホルダーは「Ask anything, # for skills」で、# を打つとスキルを選択できます。

成果物における違い

知識作業用Agentとチャットボットの違いは、成果物を見れば一目瞭然です必要なものは、開けて、編集して、他人に送れる形でなければなりません。読んですぐ忘れてしまうような回答では役に立ちませんこの違いこそが、土台に全く異なる設計が必要となる理由です

背景

なぜプログラミング用Agentは営業や財務に役立たないのか

Stripe のエンジニアは、以前からAIアシスタントを利用していました。同社が自社開発したプログラミング用Agent「Minions」は、1週間で1000以上のプルリクエストをマージでき、コードレビューは人間が行います(この背景は、stripe.dev にある Minions に関する別の2記事からの情報です。LangChain の記事では言及されていません)。

問題は、会社の大多数がコードを書かないことです。営業、財務アナリスト、テクニカルアカウントマネージャーなどが該当します。Claude Code や Codex が台頭してきたとき、こうした人々は取り残されました。彼らも使いたいと思っていましたが、立ちはだかったのはターミナル、データアクセス権限、セキュリティ承認という3つの壁です。

Kai が登場するまで、Stripe は2つの方法を試しましたが、どちらも十分ではありませんでした。

1つ目の方法 ・ ノーコードビルダー

誰でもドラッグ&ドロップで特定タスク用の小規模Agentを作成でき、ツールも接続可能でした。結果、4000以上が作られました。

問題は数ではありません。多くの人が、意味は似ているが品質にばらつきのあるプロンプトを作成していました。これほど多くの小規模Agentが散在すると、監視とメンテナンスが追いつきません。

2つ目の方法 ・ プログラミング用Agentを直接利用

実際にそうした人もいました。プログラミングツールに合わせて、自分のワークフローを変更したのです。

セキュリティ上の問題がすぐに浮上しました。同時に、コード品質チームが、これまでサービスを提供したことのない非エンジニアユーザーをサポートしなければならなくなり、突然大きな負担がのしかかりました。

この2つの方法を試した後、彼らはある判断に至ります。その後のすべての設計は、この判断から派生しています。

核となる判断

コードを書く作業は、そのプロセスが統一されています。具体的に何を変更するかは毎回異なりますが、ファイルの編集、テストの実行、コミットといったプロセスとツールはほぼ共通です。言語が Ruby でも Java でも、作業の形は同じです。したがって、1つのAgentアーキテクチャで対応できます

知識作業は、その正反対のスペクトラムの端に位置します。顧客アカウントの調査とコンプライアンス審査の準備では、使用するツール、データ、成果物が異なり、「何をもって完了とするか」という定義すら異なります。1つのアーキテクチャを当てはめることはできません。

プログラミング 毎回同じループ ファイル編集 テスト実行 コミット プロセスが固定 → 1つのアーキテクチャで対応可能 知識作業 タスクごとに形が異なる データ参照 クロスチェック レポート作成 顧客調査 四半期データ取得 モデル構築 収益予測 条項確認 方針比較 ギャップ抽出 コンプラ審査 ツール・データ・成果物・「完了」の定義まで異なる
右の3行のタスク名は原文で挙げられた例です。タスク名は原文の例。具体的な手順は一般的な知識に基づく補足で、Stripeの実際のフローではない

この判断を基に、成功のためには3つのことを押さえる必要があると結論づけました。

1つ目、専門知識は中央集権ではなく分散して置く

請求アップグレードの処理方法や収益モデルの構築方法を知っている人は、GTM、財務、マーケティング、法務、データサイエンスなど数十の領域に分散しており、Agent基盤を構築するチームにはいません。さらに、Stripe が扱う全製品、全カバー国を考慮すると、複雑さは計り知れません。Kai がやるべきことは、この複雑さをモデル化しつつ、ユーザーにその存在を感じさせずに、タスクを「いつの間にか完了させる」ことです。

2つ目、Agentはユーザーのいる場所に赴く必要がある

全員がブラウザで仕事をしているわけではなく、ターミナルで仕事をしている人はさらに少数です。したがって、スタンドアロンの製品ではなく、あらゆる社内ツールに組み込めるプラットフォームである必要があります。

財務チームには、会社の運営予算の複雑な変動をシミュレーションするための社内アプリがあります。Agent は、現在のコンテキストを理解し、関連ドキュメントを参照し、妥当な変更を提案し、差異をまとめる必要があります。その間、ユーザーをそのアプリから追い出すことはできません。スタンドアロンの製品にしてしまうと、ユーザーは慣れ親しんだワークフローを離れて、新しいアプリに移動することを強いられます。一方、エントリポイントごとに個別のAgentを作るのはメンテナンスが大変で、複数のツールを横断して使う人にとっては、体験が断片化してしまいます。

3つ目、ガードレールはゼロから作る必要がある

プログラミング用Agentは、数十年かけて蓄積されたガードレール環境に浸かっています。コンパイラは構文エラーを拒否し、テストはリグレッションを検出し、git はどんなエラーからもロールバックを可能にします。これらの高速で検証可能な仕組みは、知識作業にはほとんど存在しません。

Stripe が挙げた自社の厳格なルールの例:無関係な2つの顧客のデータを、同じ分析に入れてはならない。ここでの境界は非常に微妙です。ある人がそれぞれのデータを個別に見る権限を持っている場合でも、それらが同じセッションに存在することは許されません。

分離判断基準の転換

したがって、問いの立て方が変わります。「この人の認証トークンは何にアクセスできるか」ではなく、「このタスクは、このコンテキストにおいて、何を閲覧することを許されるべきか」です。前者は権限システムを調べれば答えがありますが、後者はプラットフォーム自身が実行時に守らなければなりません。

同じ教訓を別の角度から解説した記事
部門ごとにAIを割り当てると、かえって使いにくくなる:Sierra はアシスタントを1つに絞り、現在は全コードの70%を担当
Sierra も「1部門1Agent」の道を歩み、最終的に1つの統一アシスタントに絞り込みました。Stripe の4000個のマイクロAgentと同じ壁に、2回目の挑戦でぶつかった形です。
仕組み ・ 重要

Deep Agents が代行してくれた3つのこと:ファイル、サンドボックス、コンテキスト

Kai の基盤は、LangChain がオープンソース化したAgentハーネス、Deep Agents です。

ハーネスとは

Agentの骨格と駆動システムのようなものだと考えてください。モデル呼び出しループ、ミドルウェアの組み立て、ストリーミング出力、状態管理など、Agentを作るなら誰もがゼロから実装する必要がある汎用部品がパッケージ化されています。車を造る際にシャーシとトランスミッションを購入するようなものです。ボディと内装は自分でデザインしますが、ドライブシャフトを誰も再発明しません。

Deep Agents のレイヤーが、Stripe とは無関係な問題をすべて解決してくれたので、私たちは Stripe 固有の問題に集中できました。既製のミドルウェアを棚からいくつか直接取り出せます。組み合わせ可能なスキルパターン、複合バックエンド。正しい構造を与えつつ、十分な柔軟性も残してくれています。

Sharadh Krishnamurthy ・ Stripe Agent Foundation チーム エンジニアリングマネージャー

1週間で動くものが作れたのは、すぐ使える3つのミドルウェアのおかげです(ミドルウェアとは、モデルとビジネスロジックの間に挟むプラグイン可能な部品で、それぞれが1つの汎用タスクを担当します)。以下で詳しく見ていきます。

一、仮想ファイルシステム:Agent に繰り返し編集できるデスクトップを提供

Kai はクラウド上で動作する本番サービスであり、あなたのローカルで動くプロセスではありません。したがって、ハードディスクがそもそもありません。Stripe は S3 を背後に置いた仮想ファイルシステムを構築し、Agent がターンをまたいでファイルを読み取り、書き込み、参照できるようにしました。

なぜファイルシステムという形式が、Agent のコンテキストに特に適しているのでしょうか? それは、コンテキストが、モデルが参照・編集・自分で整理できるものになるからです。後ろに積み上げるだけで、どんどん長くなるチャット履歴ではありません。

Deep Agents がモデルに提供するファイルツールは全部で8つです(この表はLangChain公式ドキュメントを基に筆者が整理。元記事に一覧はない)。

ツール機能
lsディレクトリ一覧を表示。ファイルサイズと更新日時付き
read_fileファイルを読み込む。行オフセット指定で大きなファイルも読み込み可能。画像、動画、音声、PDF、PPT も読み込める
write_file新規作成、または全体を上書き
edit_file文字列を正確に置換。全体置換も可能
deleteファイル削除、またはディレクトリを再帰的に削除
globワイルドカードでファイル名検索(例:**/*.py)
grepファイル内容を検索。ファイル名のみ、コンテキスト付き、またはカウントのみを出力可能
executeシェルコマンドを実行。サンドボックスバックエンドが設定されている場合のみ、このツールがモデルに公開される

Stripe はこの仕組みに、独自のラッパーを追加しました。「同期イン/同期アウト」と呼ばれるものです。サンドボックス内で何かを実行する前に、関連ファイルをすべてサンドボックスに具体化します。実行後は、新規作成と変更されたファイルを仮想ファイルシステムに同期して戻します。

仮想ファイルシステム 背後は S3 セッション中は常に存在 セッション毎サンドボックス Python 実行、PDF 解析 使用後に破棄 実行前:関連ファイルを移動 実行後:新規・変更ファイルを戻す サンドボックスは起動と破棄を繰り返しても、モデルには常に同じ連続したデスクトップが見えている
Stripeの「同期イン/同期アウト」説明に基づく図

その効果は、Agent とそれを駆動するモデルが、セッションのライフサイクル全体を通じて、一貫性のある持続的なファイル環境を認識することです。背後でサンドボックスが何度も起動・破棄されていても、です。

二、サンドボックス:重要なのは Agent がサンドボックスの外側にいること

Kai には、コードを実行する必要がある2種類のタスクがあります。1つは分析(Python を使ったデータ調査やグラフ作成)、もう1つは様々な形式のファイル処理(PDF、プレゼンテーション、構造化ドキュメント)です。

ここで見落としがちですが、非常に重要な設計があります。サンドボックスは「ツール」として Agent に公開されており、Agent 自身がサンドボックス内で実行されているわけではありません。Agent はサンドボックスの外側で動作し、コードを実行する必要があるときだけ、サンドボックスを呼び出します。

なぜこのような構成なのでしょうか? 答えは「致命的な三つ組」(lethal trifecta)と呼ばれるセキュリティモデルにあります。Simon Willison が2025年6月に提唱し、Stripe はここで直接引用しています。

機密データへ アクセス可能 攻撃者が 制御する内容を読む 外部へ送信可能 3つ揃うと だまされる
Simon Willison氏「The lethal trifecta」(2025年6月16日)に基づく図

AIシステムがこの3つの能力を同時に持つと、攻撃者はあなたのデータをパッケージ化して送信するよう仕向けることができます。根本的な原因は、モデルが「主人からの指示」と「今読んでいるドキュメントからの指示」を区別できず、すべてが文字列として連結されてモデルに入力される点にあります。さらに深刻なのは、この問題には現在100%確実な防御策がないということです。プロンプトに「指示に従うな」と書いておいても、毎回機能するとは限りません。

そこで Stripe は、「モデルが生成したコード」に明確な実行境界を設けています。Agent は外側、コードは内側で実行され、内部で問題が発生しても、外部の認証情報やデータチャネルには影響が及びません。

Agent 外側で動作 ツールとして呼び出し execute(…) SANDBOX モデルが生成した Python、解析した PDF ここでの問題は外部に漏れない 逆に Agent をサンドボックスに閉じ込めると、認証情報やデータチャネルも一緒に閉じ込めることになる
サンドボックスの境界に関する原文の説明に基づく図です。

三、自動要約:コンテキストが上限に近づいたら自動で整理

マルチターンの長いセッションには物理的な上限があります。会話が長くなるほど、モデルに送信される履歴が長くなり、コストがかさみ、コンテキストウィンドウの上限に達してしまいます。

Deep Agents の要約ミドルウェアは、デフォルトで次のように動作します(これらのデフォルト値は私が deepagents リポジトリのソースコードから読んだもので、Stripe が実際に使用している数値は公開されていません)。コンテキスト使用量が 85% に達すると圧縮がトリガーされ、最近の 10% はそのまま保持し、その中間はモデルに要約させます。圧縮された元のメッセージは保存され、仮想ファイルシステムの /conversation_history/ というファイルに移動されます。必要になればいつでも参照できます。

圧縮前 85% 残り 圧縮トリガー 圧縮後 要約 直近10% /conversation_history/ 原文は保持、参照可能
当サイト作図。85% と 10% は deepagents ライブラリの既定値(ソース middleware/summarization.py)であり、Stripe は自社でこれらのパラメータを調整している。

Stripe がここで調整するノブには、要約をトリガーするタイミング、要約に使用するモデル、要約の出力長などがあります。また、コストに関する考慮事項にも言及しています。ほとんどのユーザーは Kai をぶっ続けで使うのではなく、断続的に使います。したがって、大きなコンテキストのキャッシュが無効になる状況は可能な限り避けたいと考えています。キャッシュがヒットしないと、その分の文字数はフルコストで再計算されることになります。

アーキテクチャ

エンジニア1人が1週間で初版を開発:Kai の3層アーキテクチャ

Stripe は10年以上かけて、Ruby と Java を中心とした社内ツール、セキュリティレイヤー、デプロイ支援を構築してきました。Python ネイティブの技術スタックを使用するということは、新しい言語に合わせて社内サービスの足場を再構築することを意味します。これは大きな投資であり、実行する前には誰も確信を持てませんでした。

Kai は、その成果でこの投資の正しさを証明しました。Anupam 氏はたった1人で、1週間で Kai の初版を作り上げました。Agent インフラストラクチャの中で最も難しい部分を、Deep Agents がすでに解決していたからです。

この「1週間」の範囲を明確にしておきます:これは最初の稼働バージョンを指しており、現在83%の社員が毎週使っているシステムのことではありません。この1週間から4月の正式ローンチまでの間にどれだけの期間と人数を費やしたかは、2つの公式資料には明記されていません。

Kai は、Deep Agents が正しい道であるという皆の確信を完全に裏付けるものとなった。

Chrissie ・ Stripe AI プラットフォーム責任者

Kai のアーキテクチャは3層で構成されています。

最上位層:インターフェースに依存しない API

Kai には当初から Web アプリと Slack インテグレーションが付属していますが、本当の核となるのはその下にある API です。Agent はここではサービスであり、上記のインターフェースはそのカスタムビューに過ぎません。Web版は初日から全社員が利用可能で、誰も何かを設定する必要はありません。

あらゆる社内ツールが Kai を埋め込むことができ、多くのチームが実際にそうしています。例えば、BI(ビジネスインテリジェンス)プラットフォームで作業している人が、そのインターフェース内で直接 Kai に質問できます。Stripe は Chrome 拡張機能も作成し、Webベースのサードパーティツールに Kai の機能を組み込んでいます。

Kai 嵌在 Stripe 内部 BI 工具右侧的截图

社内BIツール(Insights and Forecasting Studio)の右側に埋め込まれた Kai。ユーザーが「地域別の収益トレンドを見せて」と入力すると、Kai は左側にグラフを直接作成し、何をしたかを表示します:月次純収益、地域別の折れ線、非現行バージョンの除外、金額のフォーマット。さらに下には折りたたまれた「36 tools」呼び出し記録と、自作のトレンド分析コメントが表示されます。図の地域名が Atlantis、Mordor、Westeros などとなっているのは、ダミーのデモデータであるためです。出典:stripe.dev。

中間層:AgentStudio、各領域向けのコンソール

各領域の責任者はここで、自部門のスキルを構築・テスト・監視し、Kai やツールの選択をカスタマイズします。例えば、GTMチームには、彼らのワークフローに特化した Kai があります。デフォルトで彼らのスキルを読み込み、彼らのデータソースに接続し、彼らの慣れた形式で結果を出力します。コンソールには、各アセットの横に利用データと品質シグナルが表示されるため、領域責任者はプラットフォームチームに問い合わせることなく、どのスキルが効果的かを把握できます。

Agent Studio 的技能管理页面截图

Agent Studio のスキルページ。右上には34のエリア(area)と表示されています。ABP(管理ビジネスパートナー)エリアには2つのスキル、Bridge エリアには6つのスキルと5つのサブエリア、Data & AI エリアには2つのスキルと32のサブエリア、Finance & Workplace エリア自体には0スキルですが、35のサブエリアがぶら下がっています。この1000を超えるスキルは部門ごとに階層化されており、親エリア自体がスキルを持たないこともあります。各カードの右下の「Editor」は、現在のユーザーの権限を示します。スキル作成には、「Create with AI」と「Create in Editor」の2つの入口があります。(本文では Stripe は「AgentStudio」と続けて表記していますが、製品のインターフェースでは「Agent Studio」と分かれています。ここではスクリーンショットに合わせました。)出典:stripe.dev。

最下層:共有実行環境

Agent ハーネス、サンドボックス、ワークフローオーケストレーション、アクセス制御フレームワークという中核部品は、意図的に Stripe の対外プロダクト内の Agent と共有されています。その理由は、社内の知識作業も、同様に機密性の高いデータを扱い、同じユーザーにサービスを提供しているため、セキュリティとコンプライアンスの基準を下げるべきではないからです。共通の基盤を共有することで、規律が強制されると同時に、実行環境が改善されれば社内 Agent と製品 Agent の両方が恩恵を受けるという好循環が生まれます。

この層は Kubernetes 上で動作し、セッションごとに独立したサンドボックスと、マルチテナントの仮想ファイルシステムを備えています。

Stripe 执行环境架构图

Stripe 公式アーキテクチャ図。上部の2つのブロックはコンシューマーで、社内知識 Agent(Kai)と対外プロダクト Agent が、同じ「セキュア共有実行環境」に合流します。中央の濃い紫は Agent ハーネス(Kubernetes 上で稼働)で、その責務は「長いセッションをまたいでコンテキストと状態を維持すること」。下部の4つの部品:ワークフローオーケストレーション(計画と調整)、セッション毎サンドボックス(分離されたコード実行)、セッションワークスペース(仮想ファイルと成果物、拡張状態)、コンテキストルーティング(適切なスキルとツールの選択)。最下部には1000以上のスキルとツールが接続され、Stripe データ、各チームが保有するドメインワークフロー、Google Workspace、Zoom などの外部サービスへと通じています。出典:stripe.dev。

Webアプリ Slack Chrome拡張 あらゆる社内ツールに組込可能 UI非依存の API Agent はサービス。上記のものはそのビューに過ぎない Agent Studio 各領域がスキルを構築、自部門版Kaiを設定、品質データを確認 共有実行環境 ・ Kubernetes ハーネス ・ セッション毎サンドボックス ・ ワークフローオーケストレーション ・ アクセス制御 この層の改善は、両方に恩恵をもたらす 社内 Kai 製品 Agent
Stripeの3層構成と公式アーキテクチャ図に基づく再描画
仕組み ・ 重要

1000ものスキル、モデルはどれを使うべきかどう判断するのか

まず、スキルとは何かを説明します。Deep Agents において、スキルは構造化され、Agent が直接実行できるモジュールです。「特定の種類のタスクを完了する方法」が含まれており、どのツールを読み込むか、どのようなアプローチを取るかが定義されています。これは Agent Skills 標準に準拠しており、ディスク上では1つのディレクトリとして存在し、その中に SKILL.md が必須です。ファイルの先頭は YAML メタ情報(名前、一言説明、使用可能なツール)、その後に Agent 向けの説明書が続きます。スクリプト、テンプレート、リファレンスドキュメントを含めることもできます。

Stripe のアプローチは連邦制です。スキルは各チームが所有・保守しています。ベースの Kai には、Stripe 社内の基本的なナビゲーションをカバーする基礎スキルがバンドルされています。追加のスキルは、ユーザープロファイルと、現在使用しているカスタマイズ版 Kai に基づいて階層的に読み込まれます。営業オペレーション担当者と財務担当者では、受け取るスキルパッケージが異なります。さらに上位にはユーザーレベルのプロファイル層があり、個人が部門のデフォルト設定にスキルを追加できます。

1000+

スキルとツールの総数。100以上のチームによる貢献

500+

社内 MCP ツール。さらに増加中

34

スキルが分類される「エリア」数。エリアの下にはサブエリアもある

ここでジレンマが生じます。すべてをコンテキストに入れるのは不可能です。毎回、電話帳を読ませるようなものですから。

解決策:最初にスキルを選択させ、スキルがツールを引き出す

Agent Skills 仕様では、各スキルが allowedTools を宣言できます。つまり、そのスキルが使用を許可するツールのリストです。Deep Agents は起動時に、各スキルの名前、一言説明、許可されたツールのリスト、ファイルパスのみをシステムプロンプトに注入します。スキルの本文は一切読み込みません(この方法は「プログレッシブ・ディスクロージャー(段階的開示)」と呼ばれます。本は最初に目次だけが示され、該当する章が開かれたときだけ内容が展開されるイメージです)。モデルはタスクに適したスキルを自分で判断し、選択後、そのスキルの allowedTools によって、どのツールの完全な定義を読み込むかが決まります。

1回目 ・ スキル選択 2回目 ・ ツール引出 1000+ スキル、起動時に入るのはこの程度: 名前 ・ 一言説明 ・ 許可ツール ・ ファイルパス 名前 ・ 一言説明 ・ 許可ツール ・ ファイルパス ask-data ・ データウェアハウス参照 ・ 許可3ツール 名前 ・ 一言説明 ・ 許可ツール ・ ファイルパス …あと996行 ↑ モデルはこの目次から1つ選択 SKILL.md この時点で本文を読み込む ツールA ツールB ツールC ↑ このスキルが許可したものだけを読み込む 選択されなかった996スキル:本文も、ツールも一切読み込まれない。 基礎スキルは例外:固定されており、モデルが何を読み込もうが解除しようが影響を受けない。
当サイト作図(本記事の中心図)。原文と deepagents のソース middleware/skills.py の実装をもとに作成。

モデルはそもそも、どのスキルを読み込むべきかを判断するために労力を使っています。それならば、その判断に合わせて、関連するツールも一緒に読み込んでしまおう、ということです。

Anupam Upadhyay ・ Stripe AI プラットフォームチーム エンジニア

一部の基礎スキルは固定されており、モデルが何を読み込むか解除するかに関係なく、常に存在します。これにより、Stripe の基本的なコンテキストとポリシー動作が、常に一貫性を保つことができます。

そして、その壁:150

スキルの説明フィールドには、1024文字の上限があります。これは Agent Skills 標準で定められており、Deep Agents のソースコード内で定数としてハードコードされています(MAX_SKILL_DESCRIPTION_LENGTH = 1024、middleware/skills.py 内)。

Stripe チームの実測により、スキル数が150を超え、さらに彼ら独自のシステムプロンプトが加わると、最先端モデルの品質が低下し始めることが分かりました。

計算すれば明らか

150スキル、それぞれの説明が最大1024文字とすると、スキルの目次だけで10数万文字になります。まだ、システムプロンプト自体、ツール定義、ユーザーの実際の質問は含まれていません。

モデルはこの程度の文字数は記憶できます。失われるのは、この巨大なリストからの選択という行為そのものの精度です。スキルを間違えると、後続のツール読み込みも連鎖的に間違え、プロセス全体が歪みます。

スキル数は今も未解決の課題であり、Stripe チームはより良い解決策を模索中です。方向性はハイブリッドな選択システムです。その中で、直感に反する観察結果があります。現在の規模では、純粋にモデルに選択させる方が、RAG よりも効果的だということです。RAG とは、検索で最も関連性の高い数件を先に抽出してからモデルに渡す方法です。理由は、コンテキストが完全な場合、モデルの判断がより正確になるからです。しかし、規模がさらに大きくなれば、RAG または分類器で一次スクリーニングを行い、その後でモデルに最終決定させるという層を追加する必要があります。このハイブリッド方式の詳細は、後続の記事で公開する予定だと Stripe は述べています。

同じ仕組みを、より詳細に解説した記事
Claude Skill が機能しない?最初に修正すべき2箇所
モデルはその一言説明でスキルを選ぶのですから、説明の書き方が発動の成否を直接左右します。この記事では、その一行をどう書くべきかを掘り下げています。
データ

利用データ:83% が毎週利用、会話の半数は2ターンで終了

まず成長について。Kai はプレビュー公開後、1週間でチームの四半期採用目標を達成しました。約4週間でユーザーは296人から5000人以上へと16倍に増えました。

それは、まるで自然に広がっていった。人々が使ってみて、そして定着した。

Sharadh Krishnamurthy ・ Stripe Agent Foundation チーム エンジニアリングマネージャー

主に増えたのは、もともとターゲットにしていた人々です。営業、財務アナリスト、ビジネスオペレーション担当者です。これらの人々は「AI を使え」と言われ続けてきましたが、自分の仕事の仕方に合うツールを見つけられずにいました。Sharadh 氏はユーザーの言葉を次のように伝えています。「以前のものは、たくさんの設定を調整しないと使えなくて。でも会社から AI を使うよう言われていたから、本当に努力したんです。」そして、「これはいい。何も調整する必要がない。」

現在の数字:Stripe 社員の83%が毎週 Kai を利用しています。パーセンテージで見ると、マーケティング(95%)と GTM チーム(87%)の採用率は、エンジニアリングチームよりも高くなっています。

2倍

営業担当者が Kai を使った週の商談活動量は、使わなかった週の2倍

+39%

同じ担当者の、使用時と非使用時の成約数の差(案件 +17%、収益機会 +26%)

2.5万

時間/年、事務作業から収益創出業務へ移行

上記の3つの数字と83%は、すべて Stripe の自己評価であり、第三者による検証はありません。「使用週と非使用週の比較」は、同じ担当者による自己対照であり、ランダム化比較試験ではありません。もともとツールを好んで使う人や、大型案件をちょうど抱えていた週が、両方の数値を押し上げている可能性があります。

本文は「会話の多くはマルチターン」と述べるが、グラフの中央値はわずか2ターン

「1回のセッションの長さ」について、同じ資料の中で、文章とグラフが2つの異なる答えを示しています。

文章が与える印象は長い:「ほとんどの Kai セッションは多くのターンを必要とする」、例として932ターンに達したセッションが挙げられています。

グラフが示すのは、35.9万セッションの実際の分布です。

Kai 每会话轮数、模型调用数、工具调用数的分位数分布图

Stripe 公式統計図。35.9万セッション、134万ターンに基づく。左:セッション毎のターン数、中央値2、平均3.7、p99は34。中央:セッション毎のモデル呼び出し、中央値8、平均15.8、p99は131。右:セッション毎のツール呼び出し、中央値9、平均19.1、p99は154。陰影帯は p25–p75、点線は平均値。出典:stripe.dev。

セッションの半数は、わずか2ターンで終わっています。上位1%に入ってようやく34ターンです。図のキャプションには「ユーザー行動は変化しており、セッションはより深いマルチターンのコラボレーションにますます使用されている」とありますが、これは傾向について述べているのであって、現在の大多数を示しているわけではありません。932ターンのセッションは、極端な例外的ケースです。

セッションの総数にも、2つの一致しない数字があります。文章部分では「データ分析を中心に毎日5000以上のセッション」と、全社で「6万以上のセッション」とある一方、グラフには35.9万セッションと記載されています。統計範囲の違いは説明されていないため、ここでは別々に記載し、混算しません。

中央値2ターンのセッション、その背後で8回のモデル呼び出し

3つのグラフをまとめて見ると、中央値がわずか2ターンのセッションが、その背後で8回のモデル呼び出しと9回のツール呼び出しを行っていることが分かります。

ユーザーが一言 モデルが試行 ツール呼出 結果確認 再度ツール呼出 …これを繰り返す 中央値セッション = 2ターン の会話、背後で 8 回のモデル呼出 + 9 回のツール呼出 平均すると、1つの質問に対し、裏で約4ステップ実行している これが「Agent の仕事」と「チャットボットの応答」の実際の違い
当サイト作図。数値は上掲の Stripe 公式統計図の中央値から取った。中央のステップ列はイメージであり、Kai の実際の呼び出し順序ではない。

ターン数が少ないことは、タスクが単純であることを意味しません。ユーザーが一言言うと、その背後で Agent は数ステップを実行し、データを調べ、ファイルを解析し、ドラフトを書き、そして修正しています。これは、前述の3つのミドルウェアがなぜ欠かせないかを説明しています。わずか2ターンの短いセッションでも、その背後ではすでに17〜18回の呼び出しが行われており、ファイルを置く場所、コードを実行する場所、コンテキストの整理が必要だからです。

課題

未解決の4つの課題と、フレームワーク自身が認める限界

Stripe がよく口にする言葉に「まだ勝っていない」(we haven't won yet)というものがあります。現在、取り組んでいる課題は主に4つです。

状態管理の調整

Kai のような汎用Agentは、大量の状態を生成します。ツールを繰り返し呼び出し、大きなドキュメントを取得するためです。彼らは、実際にモデルに送信する「アクティブな」コンテキストと、S3 や仮想ファイルシステムなどに保存される「拡張された」コンテキストのバランスを継続的に調整しています。

スキル選択のスケールアップ

500以上のツール、1000以上のスキル。この規模の目録で確実な選択ができるモデルはありません。事前スクリーニングの層を追加する必要がありますが、事前スクリーニング自体が、現在の「コンテキストが完全な場合にモデルがより正確になる」という利点を犠牲にします。

ガバナンスとガードレール

利用者が数千人になったため、セキュリティとコンプライアンスのガードレールに投資し、Kai のリーチが規制構造を超えて広がらないようにする必要があります。

パーソナライズとコラボレーション

あるチームは、Kai がまず計画を提示してから実行し、質問をいくつか求めることを望みます。別のチームは、迅速で直接的な回答を求めます。現状は1人用セッションですが、ロードマップには共有スキル、共有成果物などがあり、最終的には複数人(および複数の Agent)が同じ成果物を一緒に編集できるようにする予定です。

この製品のすべての約束は、ユーザーが設定を調整する必要がない、ということです。だからこそ、今この責任は私たちにあります。私たちがそのインテリジェンスを作り上げ、全員に代わってこれらの判断をすべて下せるようにしなければならないのです。

Sharadh Krishnamurthy ・ なぜパラメータをユーザーに渡さないのか、について

この取り組みがまだ進行中であることを示す詳細がもう1つあります。Kai の基盤である Deep Agents の現在のバージョンは 0.7.4(2026年8月4日リリース)で、まだ 1.0 に達していません。しかも、その反復は非常に速く、0.7.1 が7月30日、0.7.2 と 0.7.3 が8月3日、0.7.4 が8月4日と、5日間で4つのバージョンがリリースされています。

なぜガバナンスが todo に入るのか:フレームワークのリポジトリに記載された2つの事実

上記4つの課題の中で、「ガバナンスとガードレール」の重みは、Deep Agents のリポジトリを読まなければ分かりません。以下の2点は、2つの記事(LangChain と Stripe の記事)には記載がなく、出典は LangChain 自身がリポジトリに書いた脅威モデルドキュメント(libs/deepagents/THREAT_MODEL.md、文書の冒頭に自動生成・実験的性質と明記)です。

フレームワークは OS レベルのプロセス分離を提供しない

ドキュメントの前提条件にはこうあります:信頼できないワークロードを分離する必要があるユーザーは、自分で BaseSandbox を拡張するか、コンテナや仮想マシンレベルのサンドボックスを使用すべきであり、このライブラリは OS レベルのプロセス分離を提供しない。

これは、Kubernetes 上の「セッション毎の独立したサンドボックス」という層が、なぜ Stripe 自身による構築を要したかを正確に説明しています。購入できるのは骨格であり、安全境界は自分で溶接する必要があります。

スキルファイルの内容は、フィルタリングなしでシステムプロンプトに注入される

脅威モデル内の番号 T1 の項目にはこうあります:スキルとメモリファイルの内容はフィルタリング、エスケープ、内容チェックなしで、そのままシステムプロンプトに注入される。スキル名の検証に失敗した場合も、拒否されるのではなく警告のみです。

つまり、スキルディレクトリにファイルを書き込める者は、この Agent の動作を変更できるということです。これを「100以上のチームがそれぞれ1000以上のスキルを保守している」という事実と合わせて考えると、「ガバナンスとガードレール」がなぜ todo リストに入るのかが理解できます。

✅ あなたの会社でもこれをやるなら、この判断断はそのまま使える
Kai は Stripe 社内製品のため、外部の人は使えません。しかし、その基盤である Deep Agents はオープンソースであり、インストールすれば自分で実行できます。上で解説したファイルシステム、サンドボックス、自動要約、スキル読み込みは、すべてこのライブラリが標準で持つ機能です。
出典
How Stripe Built Kai, its Company-Wide AI Agent, on Deep AgentsLangChain·langchain.com·2026-07-30
当サイトからの注記
デモ動画と4枚のスクリーンショットは、Stripe 公式ブログ記事『Meet Stripe's Knowledge AI Platform』(著者:Anna Mason、Sharadh Krishnamurthy、Anupam Upadhyay、2026-07-30)からのものです。8つのファイルツールの表、85%/10%の要約デフォルト値、1024文字の上限、脅威モデルの2項目は、Deep Agents 公式ドキュメントと deepagents リポジトリのソースコードからのもので、2つの記事(LangChain と Stripe)には記載がありません。Minions の背景は stripe.dev の別の2記事から取っています。文中「本站示意图」とあるものは、すべて当サイトが作成したもので、元記事の図版ではありません。本文と公式グラフに食い違いがある場合はグラフを優先し、第6節で明記しています。
↑ 本文ここまで
✓ この記事は全文無料です

メンバーは全文 Markdown のコピー・保存に加え、自分の AI に購読・質問させることができます。

原文を読む ↗
📮 新着解説をメールでいち早く

役に立ちましたか?メールを登録すると、新着解説を公開と同時にお届けします。解除はいつでも。