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

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

72 lines
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 智能体与模型配置(功能合同)
## 模型分工(必须保持)
| 角色 | 模型默认 | 模式 | 做什么 | 不做什么 |
|---|---|---|---|---|
| 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`。