DoorDash が AI 買い物アシスタントをどう作ったか:モデルだけに頼らず、ツールと記憶で落地させる

記憶システム導入後、食料品のチェックアウト転換率が約24%向上。自動評価で1日あたりの評価量が人による1件のフィードバックから2000件超へ。
著者:DoorDash Engineering Blog07-14 · 14 分⚑ 公式PR · 立場に注意
🎧 ポッドキャスト版0:00 / --:--
0:00 / --:--
深掘り · 小互が解説
要点
  • DoorDash が Ask DoorDash を発表。自然言語の会話でレストラン検索・献立計画・カート作成ができる AI アシスタントで、現在は米国内の一部地域で iOS に段階公開中。
  • アーキテクチャはオーケストレーター、専門ドメインエージェント、共有ツール層、マネージドサービスを4層に分け、業務ロジックは共有ツール層に置き、プロンプトには詰め込まない。
  • 3層の記憶システム(長期記憶はオフラインバッチ、セッション内記憶はリアルタイム更新、対話記憶は明示抽出)がパーソナライズを支える。7日間の本番データでは、記憶ありの食料品チェックアウト転換率が相対で約24%向上、バスケットサイズ17%増、対話ターン7%減、レストラン推薦転換率15%向上。
  • 自前の評価基盤は AI がユーザーを演じ、録画済みツールデータを再生。1日2000件超の自動評価でエージェント品質点が8点上がり、回帰テストは6時間から20分へ。遅延35%削減かつ品質維持のモデル基盤移行も支えた。
⚑ 立場メモ:本解説の情報源は DoorDash 公式エンジニアリングブログ三部作と共同創業者 Andy Fang の公開発言。転換率・バスケットサイズ・評価規模などの数字はいずれも DoorDash 自身による7日間の本番窓口の自己報告で、第三者監査はない。
1公開アップデート

DoorDash は何を出したか

DoorDash は2026年6月から連続で3本のエンジニアリングブログを出し、新たに公開した AI 買い物アシスタント Ask DoorDash のランタイム、記憶システム、公開を支えた評価基盤を詳述した。
食べたいもの・買いたいものを自然言語で一言伝えると、AI がレストラン検索・献立計画・カート作成まで行う。いまは米国内の一部地域の iOS で段階公開中。
◆
硬い数字:評価チームは1日あたりの品質評価量をおよそ1件の社員による人手フィードバックから、2000件超の自動評価へ拡大。フルの回帰テストは人手6時間から20分。
一言 食べたい・買いたいを伝える 2分以内 AI がカートを組み立て 注文/微調整 手作業より約5倍速い

いま開放されているのはレストラン検索と食料品買い物の2シーンだけで、Android と Web はまだ。初期データではメッセージの約7割が「探す」系(「近くのラーメン」「今夜何食べよう」「今週のベジ夕食の買い方」など)。大半のユーザーは同じ会話内で何ターンも直し、一言で終わらない。DoorDash も本番でいちばん起きやすい失敗は「事実のずれ」だと書く:閉店中の店を勧める、価格がカタログと違う、カートに入ったと言ったのに入っていない。直し方は同じで、事実に触れる一文はすべてツールでシステム・オブ・レコードを引き、文脈だけで推測させない。

2実行トレース

1回の注文の裏で何が起きているか

「60ドルの2人分ベジ買い物リストを作って」は一言に見えるが、裏側はかなり動く。DoorDash の3ターン例で、どの段が本当に AI を通るか、どこは通らないかが分かる。
Turn 1「60ドルの2人分ベジ買い物リストを作って」
ユーザー記憶を引く(食事/ブランド/注文履歴) 近くの営業中の食料品店を検索 店ごとの在庫を確認 価格/クーポンを照合 表示用ウィジェットを計画 返信文を生成
Turn 2ユーザーがカートウィジェット上でパスタブランドを差し替え、家にあるヨーグルトを外し、数量を変更
カート・オブジェクトを直接更新 小計を最新在庫価格で再計算
Turn 3「サラダの材料も足して」
ユーザー編集済みカートを読む 同じ店で在庫を照合 残予算内で材料を追加 更新後のリストを描画
AI モデル経由AI を通さずデータを直接変更

Turn 2 が肝心:カートウィジェット上のポチポチ編集はすべてカート・オブジェクトを直接更新し、AI の往復は発生しない。いちばん重い「AI 呼び出し」を大半の操作から外している。

6〜8回
Turn 1 で起きる AI 呼び出し回数(+複数のツール呼び出し)
20〜30秒
Turn 1 のエンドツーエンド所要時間
食料品リクエスト1回分の呼び出しトレース図
DoorDash 公式ブログの呼び出しトレース図:1回の食料品リクエストに連なる AI 呼び出しとツール呼び出し。 · 出典:DoorDash エンジニアリングブログ
3システム階層

4層アーキテクチャの役割分担

Ask DoorDash はゼロから作り直したのではなく、既存プラットフォームの上に1層足した。全体は4層で、業務ロジックは1層だけに置き、プロンプトには書かない。
1 · Assistant Runtime(ランタイム)
クライアント、送受信とログインを担う Gateway、誰がこのターンを受けるか決める Orchestrator(オーケストレーター)、およびレストラン発見と食料品買い物の2つのドメインエージェント。
2 · Managed Agent Services(マネージドサービス)
Artifacts(カートや店舗カードなど、版付きオブジェクトとして保存するウィジェット)、セッション状態、消費者記憶。この層は一度だけ作り、社内の他エージェントチームがそのまま使える。
3 · 共有 MCP ツール層(業務ロジックはここ)
MCP は Model Context Protocol の略で、全エージェントが呼べる標準ツール箱:検索・推薦・カート・チェックアウト・注文履歴・記憶検索がそれぞれ1つのツール。買い物体ルール、割引計算、在庫照合はすべてツール側に書き、プロンプトには入れない。
4 · DoorDash バックエンド
アプリ他画面と同じ検索・カタログ・注文履歴・カート・加盟店システムを共有。バックエンドを一度上げれば Assistant も自動で恩恵を受ける。
たとえ話:A2A プロトコル

オーケストレーターとドメインエージェントは A2A(agent-to-agent)で会話する。社内の部署が共通の書類フォーマットでやり取りするイメージ:形式が合えば、レストラン班と食料品班は別々に開発・リリースでき、同時リリースに縛られない。

「エージェントロック」という細部がある:前ターンが買い物体なら、今ターンの「カートに入れて」は食料品エージェントへ寄せたままにし、意図が明らかに変わるまで切替えない。各エージェントは Google の Agent Development Kit 上で動き、モデルは役割ごとに設定。問題があれば役割単位で差し替え、新バージョンを配らなくてよい。

DoorDash Assistant ランタイム構成図
DoorDash Assistant ランタイム図:クライアント、Gateway、オーケストレーター、ドメインエージェント、その下のマネージドサービスとツール層。 · 出典:DoorDash エンジニアリングブログ
エージェント開発の4本柱
4本のエンジニアリング柱:知能(記憶とパーソナライズ)、評価、プラットフォーム(ランタイムとツール)、UX。 · 出典:DoorDash エンジニアリングブログ
4中核·記憶

記憶システム:エージェントに「あなたが誰か」を覚えさせる

中核イノベ①

エージェントは毎回ゼロから始まり、誰と話しているか知らない。DoorDash が解くのは、散在するユーザーデータを「正しい瞬間に正しい文脈」へ変えること。3層記憶+4段階の記憶スケジューリングで実現する。

導入後、記憶ありの食料品会話ではチェックアウト転換率が相対約24%向上、意図の誤解は約33%低下。記憶は3層に分かれ、更新のリズムがまったく違う。
記憶層更新リズム中身
長期記憶日次/週次バッチ食事嗜好・外食習慣・ブランド・よく行く店
セッション内記憶リアルタイム現在のカート・検索中・見たのに見送った商品
対話記憶対話中に生成今回の会話で明示した、長期で残すべき事実

3層だけでは足りない。AI はまず「今ターンはどの記憶を引くか」を決める必要がある。DoorDash はこの過程を4段階に分けた:

意図と範囲の解析
→
クエリ計画
→
検索と順位付け
→
文脈パッキング

「チキンティッカマサラを作りたい」を通すと:①意図解析でレシピ要求と判定し、ブランド/分量の嗜好を引き、近くの店は見ない。②クエリ計画で「キーワードでブランド」「意味検索で分量履歴」に分け、食料品関連ブロックだけを探す。③検索順位付けを並列実行し、最近確定した「2人分をよく買う」を上に。④「2人分・Oatlyをよく買う・肉なし」など数行の構造化事実をプロンプトへ。エージェントは数百件の履歴を全部載せない。クエリ計画は3軸でパラメータ化:意味類似/キーワード厳密/構造化フィールド、どの記憶区画か、件数・類似度しきい値・時間窓。

キーワード検索を効かせるため、会話開始時にそのユーザーの現在記憶に実在する語の目録(Memory Bank Index)をプロンプトへ入れる。目録にない語を探すとトークンを無駄にするだけ。注文履歴のような巨大ブロックでは、まず軽量の「ざっと見」で件数や可用性を取り、全文を読む価値があるか決めてから入れる。

記憶と棚の現実がぶつかったら、どちらが譲る

記憶と今の現実は別物。「いつも Oatly」でも最寄りに在庫がなければ代替を探す。「60ドル予算」でも最低72ドルなら、偽の60ドルに合わせず事実を伝える。この照合は別レイヤではなく、同一ターンで嗜好を取り出し、検索・カートツールのリアルタイム価格・在庫・営業時間と突き合わせ、衝突したら現実側に寄せる。

3層記憶が異なる時間スケールで動く:長期記憶、セッション内文脈、対話と明示記憶
3層記憶はリズムが違う:長期はオフラインバッチ、セッション内はリアルタイム、対話記憶は口頭で言った嗜好。 · 出典:DoorDash エンジニアリングブログ Part 2
記憶システム構成図
記憶システム構成図:生成・ツール編成・保存・アクセス方針から各エージェントへの供給まで。 · 出典:DoorDash エンジニアリングブログ
5記憶のライフサイクル

記憶はどう沈殿し、どう精密に忘れるか

1回の買い物セッションは20ターンにもなり、大半は一時的な検索結果やツール応答。長期で残す価値があるのは1〜2文かもしれない。DoorDash は3段階の非同期フローでその1〜2文をノイズから拾う。

一言が使える記憶になるまで

シグナル発火(言い終えた瞬間に非同期、遅延を足さない)
→
AI が抽出・分類(耐久シグナルか判定)
→
重複排除と統合(既存記憶と照合してから書く)
対話の原文

「うちはベジなので、今週も2人分で。」

書き込む記憶
カテゴリ食事嗜好
内容家族はベジ、よく2人分を買う
有効期限長期(本人が変えない限り)

「これは友達用で今夜だけ」のような一回限りはスキップし、長期記憶に入れない。基準はシーンで変わる:レストランで「ラーメンはいい」は一時の気分とみなし、always/never などがなければ覚えると以後ずっと麺を避ける害になる。食料品では「Oatly が好き」は長期のブランド信号。価格感度はユーザーが能動的に言った時だけ(「Safeway の安いのは?」など)。AI が安い店を勧めて受け入れただけでは、その人の持続的な判断とはみなさない。

「忘れる」は「覚える」より難しい

「Nova のチーズ焼きが好きなのを忘れて」を類似度やキーワードだけで消すと、Nova やチーズに関する、まだ残したい記憶まで一緒に消しやすい。

意味検索で候補集合(Nova/チーズ焼き関連)
→
AI が1件ずつ「本当に消すか」判定
→
同期で削除し、返信で何を消したか確認

削除は保存と違う。保存は非同期で遅延を足さず、削除は同期。エージェントは返信で何件消したかをすぐ言える。統一の有効期限もない:食用油は80日前でも台所にある確率が高く、牛乳は12日前なら飲み切っている確率が高い。ベジなど本人が言った嗜好には TTL がなく、本人が変えるまで残る。寿命は中身次第で、一律の減衰式は使わない。

6中核·評価

エージェントが本当に頼れるとどう知るか

中核イノベ②

エージェント対話に唯一の正解はなく、人手抜き取りではスケールしない。DoorDash は自動評価基盤を作り、「この対話はユーザーを助けたか」を毎日回せ、数値化できる問題にした。

枠組みは4部品:基準を定める rubric、生ログを読める証拠にする transcript builder、対話を量産する conversation simulator、人手採点の代わりをする AI ジャッジ。
Rubric · 採点基準

各基準を二元判定できる形に書く(例:推奨店が配達時間・予算・食事制限を満たすか)。まずこのシーンに適用するか判定し、適用時だけ採点。reorder 専用の検査がレシピ場面を誤って減点しない。

Transcript Builder · 記録整理

各対話は OpenTelemetry で計装し ClickHouse に保存。生ログは情報過多なので Python が各採点基準専用の証拠スライスに切り、ジャッジは必要な部分だけ見る。

Conversation Simulator · 対話シミュレータ

AI がユーザーを演じ、台本どおり多ターンを回す。ツール応答は録画済みフィクスチャ(本番DBは叩かない)で、同じシナリオの起点を毎回固定し、点数を公平に比較できる。

LLM ジャッジ · 自動採点

GEPA で採点プロンプトを反復し、人手ラベルと揃うまで校正。整ったあと1日2000件超の対話を自動審査できる。

たとえ話:ツール fixture

評価時は本番の在庫・注文 API を叩かず、事前録画の固定レスポンスを再生する。同じシナリオの開始条件が毎回同じなので、点数の変化をエージェント自体に帰せ、今日たまたま在庫があった偶然に左右されない。

たとえ話:GEPA プロンプト最適化

採点プロンプトを自動で書き換え反復する手法:新版を次々生成し、人手ラベルにいちばん近い版を残し、AI ジャッジの尺度を人の審査に近づける。

50×8
典型的なオフライン評価は50シナリオ×各8回=400対話
6時間→20分
同規模を人手で作ると6時間超、シミュレータなら約20分
評価体系が本番ランタイムを鏡写し
評価は層ごとに分ける:ルーティング、ガードレール、ドメイン能力を独立に測り、構造は本番ランタイムの鏡。 · 出典:DoorDash エンジニアリングブログ Part 3
評価システム構成図
評価システム構成図:rubric、トレース、AI ジャッジなどがどう1つの評価系になるか。 · 出典:DoorDash エンジニアリングブログ
7実例

評価システムが2つの本番インシデントでどう効いたか

この評価は見栄えのダッシュボードではない。2つの実例で何を掴み、何を検証したかが分かる。

事例①:AI がコードを読み上げているみたい

オンライン採点が掴んだ問題

タスクは完了していたが、返信に「reorder skill」「fetch」「in parallel」など内部用語が混ざり、店員ではなく別プログラムへの報告のように聞こえた。

修正後

コミュニケーション規則を整理し、内部スキル指示とユーザー向け文言を分離。オフライン検証でこの種の問題は11%減。全シナリオ再走で回帰なしを確認し、公開後のモニタでも改善が続いた。

事例②:モデルを換えたら点数が落ちた

Gemini 3.5 Flash 発表時、DoorDash のエージェントは Claude Sonnet 4.6 上だった。Flash のベンチは速そうで遅延削減のため乗り換えを検討したが、基盤モデル変更は高リスクで、品質が落ちないことを先に検証してから公開する必要があった。

Flash をオフライン評価に載せたら点数大幅低下
→
評価が真因を特定:フォーマット互換
→
的を射た修正後、点数が Sonnet に並ぶ

原因は能力不足ではなくフォーマット互換:Flash は一部ツール引数を Sonnet と違う形(文字列のところを JSON オブジェクトなど)にし、システムプロンプトの暗黙の約束を Sonnet は補完できても Flash は読めなかった。修正も対症:ツール入力に決定的な補正を入れ、不正フォーマットを捨てずに直す/プロンプトに「店舗名はデータどおり、加工しない」などを明示。再評価で点数は Sonnet と誤差が評価ノイズ内で並んだ。公開後の品質・関与指標でも遅延35%減、品質は下がらなかった。

8再利用価値

この仕組みは何をもたらすか

価値は Ask DoorDash 一機能にとどまらない。

業務ロジックを共有 MCP ツール層に置くと、検索・カート・在庫ツールを社内の他 AI 機能チームがそのまま使える。バックエンドを一度上げれば上層エージェント全員が恩恵を受け、チームごとに再接続しなくてよい。

記憶は独立ツール層で、特定エージェントの専有ではない。買い物対話で「この家は全員ベジ」を学んだら、予約や出前推薦の他エージェントがすぐ使え、抽出・重複排除・検索を各チームがやり直さなくてよい。

自動評価で回帰が6時間→20分になり、モデルやプロンプトの変更を数十分で検証できる。「基盤モデル載せ替え」のような高リスクも、低リスクのオフラインで通してから本番ユーザーへ出せる。

カート編集を版付きオブジェクトへ直接更新し AI 往復を省くのは、モデルが速くならなくても E2E 遅延を下げる考え方で、「AI+リアルタイム在庫/価格」系アプリにそのまま持ち運べる。

9本番データ

本番データは何を語るか

締めの硬い数字で、いまの効果規模を見る。以下はすべて7日間本番窓口の自己報告で、第三者監査ではない。
記憶まわり
24%
記憶あり食料品チェックアウト転換率の相対向上
17%
食料品バスケットサイズの相対向上
7%
食料品シーン対話ターンの相対減少
15%
オープン質問でのレストラン推薦転換率の相対向上
33%
記憶あり時の意図誤解確率の相対低下
評価まわり
2000+/日
いま毎日自動で回す評価件数(導入前は約1件の人手フィードバック)
+8点
評価体系導入後のエージェント品質スコア上昇
6h→20min
フル回帰テスト時間(人手→自動化)
35%
Claude Sonnet 4.6→Gemini 3.5 Flash 移行後、品質維持下の遅延削減
体験まわり
5倍
共同創業者 Andy Fang 談:一言でカート完成は手作業の約5倍速い
<2分
Andy Fang 談:1回のカート完成にかかる時間
使える AI エージェントを作るのも難しい。本当に良いか知るのはさらに難しい。Raghav Saboo、DoorDash 推薦・検索リード
出典:DoorDash エンジニアリングブログ三部作《Building DoorDash Assistant》(2026年6–7月)および InfoQ 2026年7月13日の要約報道。転換率・バスケット・評価規模などの本番数字は DoorDash 公式の7日間自己報告で、第三者監査はない。
出典
DoorDash Engineering BlogDoorDash Engineering Blog·原文を見る
↑ 本文ここまで
✓ この記事は全文無料です

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

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

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