diff --git a/app/prompts/company_facts.md b/app/prompts/company_facts.md index 48f8716..f6083e7 100644 --- a/app/prompts/company_facts.md +++ b/app/prompts/company_facts.md @@ -5,10 +5,10 @@ - 1998年成立,2007年开始出口 - 总部:河南郑州(河南省国家大学科技园东区17号楼) -## 产品线总表(官网十大类) +## 产品线总表 - HDPE管道及管件:PE100/PE80燃气管、给水管(至1200mm)、硅芯管、灌溉管、热熔/电熔管件(SDR11 PN16) - HDPE波纹管:双壁波纹管等,DN225-DN800(可定制) -- PVC管道及管件:1/2-40英寸(DN20-DN1000mm),SCH40/SCH80 +- PVC管道及管件:1/2-40英寸(inch)(DN20-DN1000mm),SCH40/SCH80 - PVC电工套管:CPVC套管、波纹保护管等 - PPR管道及管件:25-160mm - 球墨铸铁管;法兰阀门:软密封闸阀(DN100)等 @@ -28,7 +28,7 @@ ## 使用规则(与 system.md 红线同级) - **统一兜底(最高优先)**:任何不清楚、事实卡没有、需要核实的问题——**不编造、不承诺、不否定、不断言**,统一动作只有一个:顺势引导留联系方式转客户经理——"这个我让我们经理给你准确答复——留个 WhatsApp,他直接联系你" -- **不扩展原则**:回答公司事实**只用本卡原词**——禁止添加规格、标准、项目、地址等任何卡外细节(卡片没写的规格就不提规格)。卡片没写的就是不知道,一律走统一兜底 +- **不扩展原则**:回答公司事实**只用本卡原词**——禁止添加规格、标准、项目、地址等任何卡外细节(卡片没写的规格就不提规格)。卡内"等"字系照抄官网原词,不代表可补充未列出项目。卡片没写的就是不知道,一律走统一兜底 - 客户问公司情况/产品范围/是否可信时,取上述事实**简短作答(1-2 句)**,建立信任 - **项目出口国与当地网点/库存是两回事,分开答**: - 问"do you ship to X"→ 可答官网公开项目案例国事实 + **走统一兜底**(X 具体情况经理确认)——不承诺、不否定 diff --git a/docs/superpowers/plans/2026-09-29-building-materials-ai-kefu.md b/docs/superpowers/plans/2026-09-29-building-materials-ai-kefu.md index ac375bf..afb9472 100644 --- a/docs/superpowers/plans/2026-09-29-building-materials-ai-kefu.md +++ b/docs/superpowers/plans/2026-09-29-building-materials-ai-kefu.md @@ -94,7 +94,7 @@ git add -A && git commit -m "chore: 从汽车AI客服项目拷贝骨架并清理 - Modify: `app/prompts/company_facts.md`(整体重写) - Test: `tests/test_company_facts.py`(更新断言) -- [ ] **Step 1: 抓取官网资料** +- [x] **Step 1: 抓取官网资料** 用 WebFetch 依次抓取(提取硬事实,忽略模板化文案): - `https://hesupipe.com/`(已抓取过:公司概况/十大产品线/联系方式) @@ -104,7 +104,7 @@ git add -A && git commit -m "chore: 从汽车AI客服项目拷贝骨架并清理 - `https://hesupipe.com/sales-network/`(销售网络/出口国家) - 新闻页 1-2 篇真实项目案例(如智利农业供水管项目) -- [ ] **Step 2: 重写事实卡** +- [x] **Step 2: 重写事实卡** 保留参考项目事实卡的**结构框架和使用规则段**(防编造的"统一兜底/不扩展"原则原样保留),替换内容段。结构: @@ -126,18 +126,18 @@ git add -A && git commit -m "chore: 从汽车AI客服项目拷贝骨架并清理 **红线自查**:不含价格、交期、MOQ、产能数字;不收录"world-class"类模板化空话。 -- [ ] **Step 3: 更新 test_company_facts.py 断言** +- [x] **Step 3: 更新 test_company_facts.py 断言** 改为断言建材关键词(如 `HESUPIPE`、`HDPE` 或实际产品词)存在、汽车词(`BYD`/`Hesu Auto`/`vehicle`)不存在。 -- [ ] **Step 4: 跑测试** +- [x] **Step 4: 跑测试** ```bash python -m pytest tests/test_company_facts.py -q ``` 预期:PASS -- [ ] **Step 5: Commit** +- [x] **Step 5: Commit** ```bash git add -A && git commit -m "feat: HESUPIPE 公司事实卡(官网硬事实+防编造规则)" diff --git a/tests/test_company_facts.py b/tests/test_company_facts.py index 080f9ed..f3c4349 100644 --- a/tests/test_company_facts.py +++ b/tests/test_company_facts.py @@ -43,9 +43,9 @@ def test_facts_absent_from_extractor_prompt(): def test_facts_no_auto_words(): # 建材化红线: 事实卡不得残留汽车项目词汇 # (只查 COMPANY_FACTS——SYSTEM_PROMPT 属 Task 3,不在本测试管辖) - for word in ("BYD", "Hesu Auto", "Toyota"): - assert word not in COMPANY_FACTS, word - for word in ("vehicle", "sedan", "suv"): + # 全部 lowercase 匹配: 大小写混杂的 "BYD"/"bYd" 一网打尽,不分策略 + for word in ("byd", "hesu auto", "toyota", "vehicle", "sedan", "suv", + "zeeker", "nissan", "geely"): assert word not in COMPANY_FACTS.lower(), word