竞品查询 Demo · 实现方式与沟通复盘2026-08-28 一天内完成 · Bens × Claude Code

项目竞品查询系统 Demo —— 竞品情报系统中的一个功能模块,给技术团队讲解后由他们开发正式版 线上https://jp.ipanda.ai(备用 jp.aibens.cc)· 架构图 /architecture · 本页 /about 耗时约 4 小时(含真实抓取验证)· 代码 v0.2.0,7 个源文件约 1,200 行 + 一次真实运行快照 成果可运行的演示页(演示回放 + 实时查询)· 整体系统架构图 · 开发交接文档 HANDOFF.md

1页面是怎么实现的

一句话:一个 Cloudflare Worker 同时提供页面和接口;接口按"5 个引擎并行抓取 → 聚合 → 三层清洗 → 评分分层"跑一遍,用 SSE 把每一步实时推给页面;页面既能实时跑,也能回放一份固化的真实运行快照。

输入 ASIN + 市场▶结构化接口取目标画像▶5 引擎并行(Promise.all)▶聚合去重 · 热度排序▶前 45 个取结构化信息▶L1 硬过滤 → L2 规格门槛 → L3 LLM 语义▶综合评分 → A/B/C/D → 关注方式▶SSE 推送 · KV 存报告 7 天
模块实现关键技术事实(都是真实请求验证过的)
① 搜索路径Claude 由标题/类目/卖点生成 6 个买家搜索词,每词抓前 2 页,逐条解析并区分自然位 / 广告位ScraperAPI 不做 JS 渲染时搜索页 0 条广告;加 render=true 后一页 48-60 条,含 3-15 条 Sponsored。用 AdHolder / puis-sponsored-label 标记判定
② 图搜Claude Vision 看主图生成 3 个纯视觉查询词再搜索(模拟 Amazon Lens)Lens 无公开接口;正式版接本机 Playwright 浏览器网关上传主图
③ 详情页渲染抓取 /dp 页,拆出广告位、看了又看、买了又买、相似对比id="sp_detail*_ASIN" = 广告位;走马灯按 a-carousel-heading 标题归类;不渲染只能拿到 26 个,渲染后能拿全
④ 类目和榜单从详情页 BSR 链接取叶子类目 Best Sellers Top 50链接形如 /gp/bestsellers/<store>/<nodeId>
⑤ Alexa AI 搜索Claude 生成 3 个买家意图问题;网关在线走 Alexa for shopping 真实问答,离线用等价搜索词兜底(当前为模拟)本机 rufus-gateway 目前离线;Alexa 面板改版后选择器需重调
目标画像 / 候选信息ScraperAPI 结构化商品接口返回价格、重量、尺寸(“9.05 x 3.54 x 2.36 inches; 15.52 ounces”)、类目路径、BSR、主图、卖点;KV 缓存 24h
L1 硬过滤无价格 / 自家品牌 / 配件耗材第一版配件正则把标题里 “6 Tips”(附赠喷头)当配件误杀 17 个真对手 → 改为只认 replacement/refill/spare 或标题前 5 词以配件名词为主体
L2 规格门槛重量 ±35% · 尺寸体积 0.5-2× 且最长边 0.7-1.4× · 价格 ±60% · 叶子/父类目一致;缺失不淘汰但扣分Bens 口径:规格 = 尺寸 + 重量,是核心指标。实测张力杆/落地式置物架(60-140oz)全部被挡在粘贴式(32oz)之外
L3 语义Claude 每批 12 个候选打 0-100 分(同用途/人群/形态),<55 淘汰,失败自动重试第一版并发高峰时批次静默失败导致“全部未评分” → 加重试 + 把失败写进日志
评分 / 分层语义 35% + 规格 25% + 召回热度 20% + 价格 15% + 市场强度 5% → A≥80 / B≥68 / C≥55 / D规格分 = 重量接近 40 + 尺寸接近 30 + 类目 30;关注方式 A 每日 / B 每周 / C 每月 / D 归档
页面单文件 HTML(无框架),两种模式共用一套渲染函数演示回放 = 把一次真实 SSE 输出固化为 demo_data.js,打开 15 秒播完;架构流程图随进度点亮
运行 / 部署Cloudflare Worker + KV,wrangler deploySecrets 只放 Cloudflare;公司网络屏蔽 *.workers.dev,所以绑了 jp.ipanda.ai / jp.aibens.cc;一次实时查询约 400-500 ScraperAPI credits

2沟通过程:Bens 是怎么提的

不是一次说完,而是一条主线 + 十一次追加,每次都在 Claude 干活时插进来、当场并入。

① 主需求贴公司内部竞品抓取流程图(Mermaid):输入 ASIN+市场,走关键词搜索 / 图片搜索 / AI 搜索三路,清洗后按价格、重量、分类、用途一致定义竞品并评分;先做可用 Demo,要有架构说明和搜索框,“有疑问可以告知我”
② 只回一个域名“域名:JP.IPANDA.COM” —— 对 Claude 提出的 7 个确认问题没有逐条回答
③ 纠正 AI 搜索 + 加第 4 路贴 Alexa for shopping 截图:“第三个引擎是亚马逊的 AI 搜索”;新增详情页相关产品(广告位、看了又看、买了又买、你关注的)
④ 给验收基准“相关产品大概有 42 个,Customers who viewed this item also viewed”
⑤ 定三层逻辑抓取(5 来源 = 5 引擎,标注来源位置、广告/自然)→ 清洗筛出真正对手 → 输出竞品对象及关注方式
⑥ 定 5 个入口渠道及用途搜索路径 / 图搜 / 详情页 / 类目和榜单 / AI 搜索;“抓取结果做成可点击查看的网页,我先总结规律,再做模型筛选”
⑦ 收敛交付物“你不用开发功能,只做 Demo 页面,我给技术人员讲解后由他们开发。要把架构流程和可视化界面都做出来”
⑧ 命名“AI 搜索改成 Alexa AI 搜索”
⑨ 纠正域名“jp.ipanda.AI”
⑩ 视觉与样本“白天模式,然后换个产品”
⑪ 核心业务规则“规格非常重要,规格就是尺寸,尺寸和重量都要差不多。真正的竞品重量一般相差不大,是核心指标,比如手持冲牙器和台式冲牙器重量差距大”
⑫ 追加展示物“这个网页是功能页面,属于一套系统的一部分,我还需要整个系统的架构图,要给别人看”

3Claude 是怎么理解和回应的

理解
  • 不从零建:先查本机已有的 comp.ipanda.ai(7 信号竞品匹配)、竞品雷达、ScraperAPI 网关、Rufus 网关,判断这是按“买家真实路径”新讲法做的独立 Demo,不动线上,底层封装可复用
  • “AI 搜索”起初理解为 Rufus,截图后确认是站内 Alexa for shopping;网关离线 → 模拟并明确标注
  • “先做 Demo”→“只做 Demo 页”:收到时真实管线已跑通,顺势把真实运行固化成“演示回放”,实时查询保留
  • 规格是核心:落成 L2 门槛 + 规格权重 10%→25%,并用置物架验证“手持 vs 台式”被正确分开
  • 域名:ipanda.com 解析在公司服务器不在 CF 账号,先绑 jp.aibens.cc 保证公司网络可开,改 .ai 后直接生效
回应方式
  • 先汇报方案再动手:第一轮给架构草图 + 7 个待确认问题;Bens 只回域名,便按默认值推进并把默认值写明
  • 先探针后写码:写代码前用真实请求验证广告位、详情页模块、结构化字段三件事,再定引擎写法
  • 真实跑、暴露问题、修:首轮 466 秒跑出 0 个竞品 → 定位三个 bug(配件误杀、语义批次静默失败、价格带过窄)→ 修完 29 秒 20 个竞品,淘汰原因逐条合理
  • 追加当场并入:渠道 3→4→5、顺序重排、改名、白天模式、换产品、规格规则、架构图,不等说完再返工
  • 每一步用浏览器截图自检:Playwright 无头跑演示,确认无 JS 报错、流程图点亮、列表渲染

4关键决策与默认值(Bens 未逐条确认,Claude 自行定并写明)

问题采用原因
抓取深度每词 2 页(正式版可放到 20)5-8 词 × 20 页 × 渲染 ≈ 100-160 次抓取,Demo 不必
图搜 / AlexaLLM 模拟 + 预留网关接口,页面标注无公开接口、网关离线,Demo 讲清流程即可
市场US 为主,下拉支持 UK/DE/FR/JP/CA演示样本用 US
部署独立 Worker,不进能力中心 migrationDemo 阶段;挂能力中心时再走 Service Binding + JWT
与竞品雷达 / comp 的关系并行新项目,不改线上讲法不同,避免影响生产
价格带±35% → ±60%±35% 把 Waterpik $49.99 这类真对手挡掉
演示样本COSLUS C20 水牙线 → YASONIC 3-Pack 置物架Bens 要求换产品;置物架类目能直观展示重量口径

5最终输出

线上
  • 功能页:jp.ipanda.ai —— 架构流程点亮 / 5 渠道原始结果可点击 / 清洗漏斗 / 竞品分层与关注方式
  • 整体架构图:/architecture —— 一条主线 + 六层展开,标注 Demo 已实现 / 模拟 / 规划
  • 本页:/about
  • 演示样本真实数据:790 命中 → 534 去重 → 45 进清洗 → 7 竞品(B 4 / C 3)
交给开发
  • 代码 projects/competitor-search-worker(git v0.2.0)
  • HANDOFF.md:渠道实现 vs 正式版建议、代码结构、接口、成本、边界
  • 明确的 Demo 边界:图搜/Alexa 为模拟;只清洗前 45 个候选;报告 KV 存 7 天无竞品库;多件装重量需按单件折算;目标无尺寸时尺寸比对不生效只扣分;直连 Anthropic 需改走 ai-platform Service Binding