如何打造你自己的Agent原生购物Skill:从Filtmall-Shopping-Skill提炼的7个核心经验
【免费下载链接】Filtmall-Shopping-SkillAgent-native shopping for extreme value: verifiable same-product price evidence, checkout, orders, delivery, and after-sales.项目地址: https://gitcode.com/gh_mirrors/fi/Filtmall-Shopping-Skill
Filtmall-Shopping-Skill 是筛电(Filtmall)官方的购物 Skill,让 AI 智能体完成从商品发现、同款比价、结算下单到物流售后的完整购物链路。读完这个开源项目,你可以直接复用它的 7 个核心设计经验,打造自己的 Agent 原生购物 Skill 🛒
先认识一下这个项目
一句话概括:用户说一句需求,智能体帮你选品、比价、下单、查物流。它覆盖五个阶段:
| 阶段 | 用户得到的结果 |
|---|---|
| 🔍 发现 | 把自然语言需求转成实时商品候选 |
| ⚖️ 决策 | 比较价格、规格、库存和需求适配度 |
| 🛒 购买 | 持久购物车或隔离的单 SKU 立即购买流程 |
| 💳 支付 | 生成买家结算入口(桌面网页 / 移动 H5) |
| 📦 跟进 | 查询订单物流、管理地址、取消订单、进入售后 |
智能体通过统一命令入口工作,内置 CLI 随 Skill 打包,安装无需额外npm install:
node scripts/filtalgo.js <command> --json下面 7 条经验,全部来自仓库中的真实文件,可直接借鉴。
经验 1:写清楚"何时触发、何时不触发"
Skill 的元数据 SKILL.md 开头的description是智能体判断"该不该调用我"的唯一依据。Filtmall 的写法值得抄:
- ✅正向触发:用户明确要寻找、推荐、比较、购买真实商品时自动调用;
- ❌负向排除:指定其他平台、纯困扰陈述、无购物意图的医疗问题一律不调用;
- ⚠️灰色地带给动作:平台不明的账户短句先澄清平台,确认前不登录、不查询。
💡 新手最常犯的错是只写"这个 Skill 能干什么",不写"什么时候不该用"。触发边界写清楚了,误触发率立刻下降。
经验 2:按意图按需加载参考文档,而不是一次读完
Skill 没有把所有规则塞进一个超长文件,而是把流程拆成了 6 份按需加载的参考文档:
| 意图 | 参考文件 |
|---|---|
| 化妆品成分查询 | references/makeup-component-search.md |
| 首次搜索与推荐 | references/product-search.md |
| 详情、编号回查、比较 | references/product-followups.md |
| 购物车、地址、结算 | references/cart-address-checkout.md |
| 订单、物流、取消 | references/orders-logistics.md |
| 退款退货、客服 | references/customer-service-after-sales.md |
SKILL.md 中明确规定"每轮只读取当前意图对应的一份,完整读取后再作答"。好处是上下文干净:智能体处理"我的订单到哪了"时,完全不需要加载购物车和成分查询的规则,token 消耗和出错率都更低。
经验 3:模型做语义,脚本做事实——两阶段推荐
这是整个项目最有价值的设计,见 references/product-search.md 与 scripts/recommendation-two-stage.js:
搜索 → prepare(模型选品打分 + 脚本校验排序)→ finalize(模型写理由 + 脚本渲染输出)- 第一阶段 prepare:模型从搜索候选中做语义选择、生成 1.0–5.0 综合分和评分维度;脚本负责校验候选来源、硬预算和分数,按综合分稳定排序;
- 第二阶段 finalize:模型只写逐款推荐理由和首选结论;脚本生成最终 Markdown、链接和商品卡片。
为什么值得学:模型擅长理解"别太黏"这种主观描述,但容易编造价格、链接、库存。让脚本掌握所有"事实性输出",模型只做它擅长的语义工作,推荐结果才可靠。
经验 4:比价结论必须"证据完整才展示"
"全网最低价"是敏感声明。Filtmall 的规则很克制:只有当实时结果同时包含同款同规格对比价、来源平台、记录时间和节省比例时,才展示价格优势;证据不全就整节省略,绝不靠形容词凑结论。
⚖️ "没有证据的性价比,不如直接说不知道。"——这是购物类 Skill 信任感的生命线。
经验 5:商品身份是不可拆分的"元组"
多轮对话中最容易出事故的,是把 A 商品的价格配到 B 商品的链接上。SKILL.md 定义了"商品身份元组"规则:
商品的 SPU、SKU、图片、名称、价格、规格、详情链接、编号和卡片顺序是不可拆分元组;详情链接必须逐字使用该商品自己的返回值,不得手写、拼接、删改或借用其他商品链接。
配套规则还包括:"第一款、第二款"按最近一次可见候选顺序解释;上一轮没有展示够数量时,必须明说"没有第一款可比较",而不是硬编一个。
经验 6:每个危险操作都要"展示 → 确认 → 执行"
购物 Skill 碰的是真金白银,安全边界在 references/cart-address-checkout.md 中定义得非常细:
- 所有会改变购物车、地址、结算、订单或售后状态的命令,必须先展示具体对象和影响,取得用户明确确认后才带
--confirm执行; - 用户说"立即购买"不等于最终结算确认,不得提前创建 checkout 或订单;
- 授权、支付页面交给买家本人打开,智能体不声称已支付,支付状态必须真实查询;
- 订单号、手机号、地址等隐私数据默认脱敏展示(如
188****3085),见 references/orders-logistics.md; - 用户出现过敏红肿等症状时,医疗安全优先于一切购物流程,立即停止推荐。
记住这条黄金法则:智能体处理重复步骤,人确认关键动作。
经验 7:维护"当前完整需求",条件一变就重跑
多轮购物中,用户会不断加条件、改条件。references/product-search.md 定义了一套简洁的会话状态规则:
- 🆕 新增条件:合并进当前需求;
- 🔁 覆盖条件:同一维度只保留最新值;
- ❌ 取消条件:从完整需求中删除;
- 📊 优先级变化(如"预算优先,效果够用就行"):必须重新执行完整的 search → prepare → finalize,不得沿用旧排序。
同时 SKILL.md 还压了一条输出质量底线:只陈述工具返回且能绑定到当前商品的事实,不编造品牌、功效、价格或比价;工具数据不足的能力(如跨平台综合比较)明确视为工具侧限制,不靠模型硬编。
动手试试:安装与体验
环境要求 Node.js 18+,一条命令安装(CLI 已随 Skill 打包):
npx skills add filtalgo/Filtmall-Shopping-Skill --skill filtmall-shopping -g也可以git clone仓库后用支持文件夹导入的客户端直接导入根目录。装好后试试这些说法:
- "想买一款 100 元以内、保湿但别太黏的面膜"
- "比较第 1 款和第 3 款,敏感肌更适合哪一款?"
- "我付完了吗?""我最近一笔订单到哪里了?"
仓库结构一目了然,照着搭你自己的 Skill 时可直接对照 README.zh-CN.md:
| 文件 | 作用 |
|---|---|
| SKILL.md | 智能体指令与触发元数据 |
| references/ | 按意图加载的 6 份流程规则 |
| scripts/filtalgo.js | 轻量 CLI 包装入口 |
| scripts/recommendation-two-stage.js | 两阶段推荐校验与渲染 |
| assets/brand-knowledge.json | 已审核的本地品牌知识 |
| CHANGELOG.md | 版本演进记录 |
写在最后
回看这 7 条经验,其实可以浓缩成三句话:触发要写清边界,参考要按需加载,事实要交给脚本。购物场景天然涉及信任与金钱,把"验证"和"确认"机制做扎实,比堆功能更重要。希望这份清单能帮你少走弯路,打造出可靠好用的 Agent 原生购物 Skill ✨
【免费下载链接】Filtmall-Shopping-SkillAgent-native shopping for extreme value: verifiable same-product price evidence, checkout, orders, delivery, and after-sales.项目地址: https://gitcode.com/gh_mirrors/fi/Filtmall-Shopping-Skill
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考