Files
inquiry_robot/prompt/04-智能体与模型配置.md
T

73 lines
3.9 KiB
Markdown
Raw 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)
协同阶段另有协同必填(贸易条款、HS、含电含磁等),点「协同」必须用 **不可变销售原话** 重跑模型 B,不得用卡片口令覆盖。
取值规则:当前激活必填字段收到非空即采集;本地不得用封闭枚举拒绝用户原文(除合同声明的机器类型)。未激活字段摘要里的 `-` 不是事实。
## TMS 结果分类(智能体必须能分流)
| 分类 | 含义 |
|---|---|
| 有价 | 业务码成功且有报价 |
| `TMS_NO_QUOTE_1002` | 无价 |
| `TMS_NO_QUOTE_1003` / 合同不匹配 | 业务缺项或投影失败 |
| 字典/协议投影失败 | Java 投影失败,不是「没价格」 |
| 技术失败 | HTTP/超时/熔断 |
字典:精确匹配 `source_code`/`source_name`,禁止模糊、正则、别名推断。域:空运机场、包装、陆运地址/车型/运输类型、海运箱型、币种参考。
## 报价文件
- 报价 Excel 模板放进新仓库资源目录(10 类模板与现网等价)。
- 报价任务由**后台 Worker 的 LibreOffice 槽**写对象存储 + Java 附件 + 企微文件 + Graph wake(现网是独立 quote-worker,新系统不要再拆成单独 Windows 服务)
- 群报价识别:群/工单/角色/segment/报价版本/文件 SHA 全过才能改报价状态
## 运行合同文件
新系统运行合同声明:**主账、智能体 HTTP、AIBOT 桥、一个后台 Worker**(外加 Nginx/LibreOffice/库),以及制品完整性。不要做成「必须五个 Python 服务」或「必须持有 Redis 单例锁」。
Redis 只做队列/限流/token 缓存,不当 checkpoint 或六态;用法见 `14`。