Project · DoorDash · 北美最大外卖即时配送平台

端到端业务自动流

DoorDash 是北美最大的外卖即时配送平台

在实习期间落地了两个自动化项目:IST 库存全自动上传服务 + URPC 商品目录智能匹配桌面应用,将重复人工操作转化为 7×24 小时自运行闭环。

Python 异步/并发 Playwright GPT-5.4 CLIP 多模态 Electron Docker
01
项目一
IST 库存自动上传服务
DoorDash Merchant Support 团队需人工处理大量商户提交的库存 CSV 文件:下载 → 验证 → 上传到 IST 平台,步骤重复、易出错、耗时,完全依赖人力。
服务化改造
从一次性脚本重构为 7×24 持续运行服务,每 30 分钟轮询 Google Sheet,自动发现待处理任务
并发处理
ThreadPoolExecutor 支持最多 5 个任务并行,每任务独立 Google API 连接,避免 SSL 冲突
数据验证与纠错
Pandas 校验必填字段、价格精度、布尔值格式,自动修正常见错误,过滤无效行
浏览器自动化
Playwright 模拟登录 DoorDash 平台、选择文件、提交表单、提取上传结果,支持中英双语 UI
邮件通知
Gmail API 发送上传成功/失败通知给商户,含详细错误行报告;管理员汇总报告
状态追踪与恢复
Google Sheet 状态列记录 Processing/Validated/Uploaded/Failed;服务重启后自动重试卡住任务
消除人工重复上传,处理速度从按人头小时级 → 分钟级自动化
支持 5 路并发,高峰时段批量处理能力显著提升
数据验证覆盖率 100%,自动纠错减少因格式错误导致的失败
服务具备自愈能力:崩溃重启后任务自动续跑,不丢失进度
核心
Python 3.11
asyncio + ThreadPoolExecutor
自动化
Playwright 1.58
Chromium headless
数据
Pandas 2.3
NumPy
集成
Google Sheets API
Gmail API (OAuth 2.0)
可靠性
tenacity 重试
每日轮转日志
部署
Docker + docker-compose
Kubernetes(备用)
Async + ThreadPoolExecutor 混合
轮询主循环用 asyncio 保持响应性,任务处理用线程池隔离 I/O 资源,解决 Google API SSL 并发冲突问题。
Google Sheet 作为任务队列
Processing 状态充当分布式锁,防止重复处理,天然支持人工干预和状态可视化——无需引入额外消息队列基础设施。

02
项目二
URPC 商品目录智能匹配
DoorDash 新零售垂直(UGP)业务扩张中,需要将不同商户的商品数据(名称、尺寸、UPC 等字段不规范)与内部统一目录对齐。原有人工匹配效率低、一致性差。
多层匹配引擎
Layer 0 名称/图片尺寸提取 → Layer 1 尺寸兼容校验 → Layer 2 LLM 打分(logprobs)→ Layer 3 CLIP 图片相似度验证
Fine-tuned 模型
使用 DoorDash 自有 fine-tuned GPT-4o-mini 完成商品对比,logprobs 置信度输出直接用于阈值决策
视觉验证
CLIP clip-vit-base-patch32 计算图片余弦相似度(阈值 0.8);GPT-4o Vision OCR 提取包装上的尺寸信息
Devil's Advocate
高置信度匹配触发反驳验证,防止过拟合 false positive,二次校验高风险决策
成本追踪
实时统计 Token 用量(输入/输出分离),按模型单价估算 API 花费,支持批次成本分析
桌面应用
Electron 多 Tab 界面,实时进度条、日志流、Token 用量展示;打包为 Windows NSIS / macOS DMG
将纯人工商品目录匹配改造为 AI 辅助批量处理,处理速度提升数倍
多层验证(LLM + 视觉)显著降低误匹配率,Devil's Advocate 二次校验高置信度决策
实时成本追踪帮助团队控制 API 预算,优化模型选择策略
打包为桌面应用,非技术运营人员直接使用,无需配置 Python 环境
桌面框架
Electron 28.3
HTML5/CSS3/Vanilla JS
AI 模型
Fine-tuned GPT-4o-mini
GPT-5.4 + GPT-4o Vision
CLIP clip-vit-base-patch32
ML 框架
Transformers (HuggingFace)
PyTorch(CLIP 推理)
后端
Python + FastAPI
Uvicorn
可观测性
LangSmith SDK
LLM 追踪与回放
打包
PyInstaller
electron-builder (NSIS/DMG)
多层短路逻辑
尺寸不兼容直接拒绝,无需调用 LLM;大幅降低 API 调用量和成本。只有通过前置校验的候选才进入昂贵的 LLM + 视觉验证阶段。
Electron + Python 后端分离
Electron 主进程管理 Python subprocess,通过 localhost HTTP 通信。Python 侧保留完整 ML 生态,JS 侧专注 UI,职责清晰不相互污染。
Fine-tuned 模型的 logprobs 置信度
专门针对商品对比任务微调的模型,logprobs 置信度输出可直接用于阈值决策,比通用模型效果更稳定,也让 Devil's Advocate 触发条件有依据。