查到价后把币种、单位、数量、单价、备注写入报价单,避免销售只看到光秃秃的金额。 Co-authored-by: Cursor <cursoragent@cursor.com>
4.1 KiB
4.1 KiB
智能体与模型配置(功能合同)
模型分工(必须保持)
| 角色 | 模型默认 | 模式 | 做什么 | 不做什么 |
|---|---|---|---|---|
| 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。
编排步骤:
- 询价字段确认与补问
- 主账正式建单
- TMS 查询与结果分类
- 协同/群路径
- 报价预览、采用、调价
- 报价文件生成等待
- 成交 / 未成交 / 协商中
- 异常、人工、恢复
怎么用: thread_id 绑一单;checkpoint 在 PostgreSQL;停靠点中断;入站 resume 或 Worker 结构化 wake(工单号 + quoteVersion + waitVersion)。无 sender_id 不进图。正式六态只在主账;图成功不能冒充主账成功。用户文字不能冒充 Worker 完成。
字段合同
机器可读(拷进新仓库,目录自定,文件名保持):
inquiry-required-fields-v1.jsontms-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。