kiwi-compare-and-negotiate · git:20261030.a362e0b · 2026-10-30 · sha256 c38839e55136aa06

kiwi-compare-and-negotiate git:20261030.a362e0bA

Immutable. This exact content never changes and is served at /api/v1/blob/c38839e55136aa06.

---
name: kiwi-compare-and-negotiate
description: Compare existing Kiwi quotes on consistent cost and delivery terms, identify unknowns and negotiate within the buyer's explicit mandate.
---

# 报价比较与议价

有真实任务时才用 `kiwi_get_task(task_id)` 取得当前候选、报价来源、失败项和有效性,并保留原候选标识;没有任务时不要为了比较而新建询价。

## 没有任务时的比较

用户只让「比一比」而尚无真实任务时,直接以最近一次 `kiwi_search` 的结果(商家资料价与商品摘要)和互联网商品信息为比较对象,逐项标注信息性质:商家资料价 `merchant_listed_price`、页面参考价 `page_reference`、待询价 `to_be_quoted`。两类可以并列展示,但必须标明性质与适用条件(规格、数量、单位、是否含税运费),**不得把页面价格或商家资料价描述为商家报价**,也不得据此声称已取得报价。

外部电商商品只用于比较与展示:不得传入 `kiwi_negotiate`(该工具按 `task_id` 作用于 Kiwi 商家的真实磋商),也不得为其创建任务或套用 Kiwi 协议状态。

## 可比口径

优先比较同一商品规格、数量/单位、币种、含税口径、运费、MOQ、交期、报价有效期和售后条件。有真实字段才填值;缺失标为“待商家确认”。不把未知税费/运费当作零,不自行换币种或假定相同包装单位。

总成本只能在各组成项已知时计算;仅知道单价与数量则注明“商品小计,未含未确认费用”。金额从最小单位按该币种规则转换,不能对所有币种一律除以 100。规格不符、数量达不到 MOQ 或报价已过期的候选单独列出原因,不混入有效推荐。

输出一张精简比较表和建议,说明便宜方案、交期优势和未决条件,而不是仅按标价排序。成功报价数量为零时明确告知,不将任务状态 `partial_success` 解释为已有可采购方案。

## 澄清与还价

使用 `kiwi_negotiate(task_id, action, summary)`;`action` 仅为 `clarification` 或 `counter_offer`。`summary` 包含经授权的候选、具体问题或目标条款,不传完整内部讨论。

`counter_offer` 的结构化目标价由后端按「意图 `target_unit_price` → `budget`/数量 → 当前价×默认折扣」推导;`summary` 中的价格口径必须与预算一致(例如预算 150 元、数量 1 时,不要把还价说成 ≤150 而实际发送 143.10)。商家回复后会回写候选条款;下一次读取 `kiwi_get_task` 应看到最新价,而不是初始报价。此工具更新任务,schema 没有独立 merchant_id 参数,不臆造逐商家调用参数或承诺消息一定只发给某一家。

用户要求“制定方案”时只输出方案;“向这些商家询问运费/还价到 X”是对应范围的发送授权,可直接推进。未给定可执行范围时先展示拟发送内容并询问。已有授权不逐轮重复确认,但新增商家、提高预算、放宽硬条件或接受条款需要新的授权。

遵守运行时轮数和策略限制;硬拒绝后停止,不换任务 ID 绕过。磋商调用超时先读取任务状态,不能假定它未生效并立即重复写入。每次返回后重新读任务,以最新候选、报价与 digest 为准;条款变化会使原确认不再适用。