Files
inquiry_robot/prompt/04-智能体与模型配置.md
jillion886andCursor 99da1faf30 落地私聊空运询价与TMS报价回填,按后台模板出单。
查到价后把币种、单位、数量、单价、备注写入报价单,避免销售只看到光秃秃的金额。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-14 20:25:35 +08:00

4.1 KiB
Raw Permalink Blame History

智能体与模型配置(功能合同)

模型分工(必须保持)

角色 模型默认 模式 做什么 不做什么
DeepSeek A deepseek-v4-flash + strict /beta ordered_actions 只根据 inbound_facts 判断意图,调用唯一 route_decision 不抽字段、不写状态、不输出给用户的正文
DeepSeek B 同上或普通 base URL text_extract 等 文字字段语义、协同字段、报价文字抽取 不改 Java 六态
千问文本 qwen-plus 附件文本/组织 Excel/PDF 抽出的文本语义 不本地正则猜字段
千问视觉 qwen3-vl-plus 图片 只读图上可见内容 不推测、不算最终缺项
千问报价表 文本模型 workbook mapping 把已冻结事实填进清空后的报价模板 不发明价格

代码侧:新项目自建模型网关与 tool schema。LLM_DATA_USAGE_CONFIRMED 未确认则不得打真实模型。

流程编排(LangGraph)

何时用 Graph: 一单询价会多次挂起(补问、等卡、等主账、等 PDF),需要书签和按版本唤醒。一次性工具调用不要套 Graph。细则见 14-LangGraph与Redis.md。

编排步骤:

  1. 询价字段确认与补问
  2. 主账正式建单
  3. TMS 查询与结果分类
  4. 协同/群路径
  5. 报价预览、采用、调价
  6. 报价文件生成等待
  7. 成交 / 未成交 / 协商中
  8. 异常、人工、恢复

怎么用: thread_id 绑一单;checkpoint 在 PostgreSQL;停靠点中断;入站 resume 或 Worker 结构化 wake(工单号 + quoteVersion + waitVersion)。无 sender_id 不进图。正式六态只在主账;图成功不能冒充主账成功。用户文字不能冒充 Worker 完成。

字段合同

机器可读(拷进新仓库,目录自定,文件名保持):

  • inquiry-required-fields-v1.json
  • tms-dictionary-projection-v2.json

查价必填(激活业务线之后):

  • 海运:起运港、目的港、品名、货量、整柜或拼柜、箱型箱量、报价日期
    箱型箱量是一个原始业务字段;结构化 containerItems 只由 DeepSeek B 投影。
  • 空运:起运地、目的地、品名、件数、重量、体积、包装类型、报价日期
  • 陆运按二级类型:国内拼车/整车、跨境集拼/整车、中港(见合同 JSON),各类型均含报价日期
  • 报价日期:三线查价都要,用来查 TMS 当天/指定日的价;销售没说则系统默认为当天(上海时区),不补问;销售说了用原话,不得用当天盖掉。

协同阶段另有协同必填(贸易条款、HS、含电含磁等),点「协同」必须用 不可变销售原话 重跑模型 B,不得用卡片口令覆盖。

取值规则:当前激活必填字段收到非空即采集;本地不得用封闭枚举拒绝用户原文(除合同声明的机器类型)。未激活字段摘要里的 - 不是事实。

TMS 结果分类(智能体必须能分流)

分类 含义
有价 业务码成功且有报价,返回报价
TMS_NO_QUOTE_1002 暂无报价(含 TMS 未匹配、TMS 仍缺项)
技术失败 HTTP/超时/熔断

查价前只校验询价必填是否已齐。销售原文非空即采集(包装写散货就记散货),本地不做包装白名单、不对销售再拦。卡片按用户说的展示,再去查 TMS。

报价文件

  • 报价 Excel 模板放进新仓库资源目录(10 类模板与现网等价)。
  • 报价任务由后台 Worker 的 LibreOffice 槽写对象存储 + Java 附件 + 企微文件 + Graph wake(现网是独立 quote-worker,新系统不要再拆成单独 Windows 服务)
  • 群报价识别:群/工单/角色/segment/报价版本/文件 SHA 全过才能改报价状态

运行合同文件

新系统运行合同声明:主账、智能体 HTTP、AIBOT 桥、一个后台 Worker(外加 Nginx/LibreOffice/库),以及制品完整性。不要做成「必须五个 Python 服务」或「必须持有 Redis 单例锁」。

Redis 只做队列/限流/token 缓存,不当 checkpoint 或六态;用法见 14。