fix(skill): disambiguate intent routing + lens expansion rules

Code review identified 2 critical issues in the procurement-analysis
SKILL.md prose:

- Multiple intent triggers can fire on the same query (entity_code +
  "rủi ro" keyword). Old fallback "HỎI user" would block legitimate
  smoke-test queries. Added explicit priority order:
  CROSS_DOC_AUDIT > RISK_AUDIT > DEEP_ANALYSIS > DISCOVERY.

- "publisher/audit" lens was undefined in Part 3/4 collapse rules.
  Replaced with explicit intent labels (DEEP_ANALYSIS bidder/publisher
  sub-phrasing, RISK_AUDIT, CROSS_DOC_AUDIT) and concrete bullet
  retention (Kết luận + 1 highlight) when rút gọn applies.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
main
VietND 1 month ago
parent cc6f6b94bf
commit 59f9cc5d56

@ -34,7 +34,14 @@ Phân loại câu hỏi vào 1 trong 4 intent:
| `CROSS_DOC_AUDIT` | "TBMT/KHLCNT/E-HSMT có khớp không"; "có sửa đổi/gia hạn không" | Full 5-part + bảng compare |
| `RISK_AUDIT` | "rủi ro", "đã đăng đủ chưa", "có gì bất thường" | Full 5-part, nhấn Part 5 |
**Nếu intent không rõ** (signals overlap hoặc thiếu): HỎI user clarify trước khi gọi tool. KHÔNG default sang deep analysis.
**Priority khi nhiều trigger cùng fire** (ví dụ query có cả `entity_code` và keyword "rủi ro"):
1. `CROSS_DOC_AUDIT` keyword ("có khớp không", "có sửa đổi/gia hạn không") thắng → route sang CROSS_DOC_AUDIT.
2. Còn lại, `RISK_AUDIT` keyword ("rủi ro", "đã đăng đủ chưa", "có gì bất thường") thắng → route sang RISK_AUDIT.
3. Còn lại, nếu có `entity_code` → DEEP_ANALYSIS.
4. Không có `entity_code` và không có keyword đặc trưng → DISCOVERY.
**Nếu vẫn không rõ** sau priority (query không khớp pattern nào; hoặc CROSS_DOC_AUDIT/RISK_AUDIT không có `entity_code` làm anchor): HỎI user clarify trước khi gọi tool. KHÔNG default sang deep analysis.
## Bước 1 — DISCOVERY workflow
@ -108,7 +115,18 @@ Quy ước cell:
#### Part 3 — Góc nhìn nhà thầu
Khi intent nhắm bidder: render full bullet list. Khi intent nhắm publisher/audit: header thêm hậu tố `(không phải trọng tâm câu hỏi, rút gọn)` + chỉ 2-3 bullet kết luận.
**Khi render FULL Part 3 (bidder lens):**
- Intent = `DEEP_ANALYSIS` và câu hỏi nhắm nhà thầu ("nhà thầu cần chuẩn bị gì", "có nên dự", "yêu cầu năng lực").
- Intent = `DEEP_ANALYSIS` không thiên về góc nào (render full cả Part 3 + Part 4).
- Intent = `RISK_AUDIT` (Part 3 + Part 4 đều full để cover rủi ro 2 chiều, Part 5 nhấn).
**Khi RÚT GỌN Part 3:**
- Intent = `DEEP_ANALYSIS` và câu hỏi nhắm chủ đầu tư/audit ("đã đăng đủ chưa", "kiểm tra hồ sơ công khai").
- Intent = `CROSS_DOC_AUDIT` (trọng tâm là so sánh, không phải prep dự thầu).
Khi rút gọn: header thêm hậu tố `(không phải trọng tâm câu hỏi, rút gọn)` và chỉ render đúng 2 bullet: **Kết luận tham dự** + **Rủi ro tham dự**. Bỏ các bullet khác.
- **Điều kiện tham dự**: tư cách hợp lệ, liên danh, nhà thầu phụ, bảo đảm dự thầu (giá trị + hình thức).
- **Năng lực & kinh nghiệm**: hợp đồng tương tự, doanh thu, nhân sự chủ chốt, thiết bị.
@ -120,7 +138,18 @@ Khi intent nhắm bidder: render full bullet list. Khi intent nhắm publisher/a
#### Part 4 — Góc nhìn chủ đầu tư / bên mời thầu
Khi intent nhắm publisher/audit: render full bullet list. Còn lại: hậu tố `(không phải trọng tâm câu hỏi, rút gọn)` + 2-3 bullet kết luận.
**Khi render FULL Part 4 (publisher/audit lens):**
- Intent = `DEEP_ANALYSIS` và câu hỏi nhắm chủ đầu tư/audit ("đã đăng đủ chưa", "kiểm tra hồ sơ công khai").
- Intent = `CROSS_DOC_AUDIT` (luôn full vì cần bảng compare).
- Intent = `RISK_AUDIT` (cả Part 3 + Part 4 đều full, Part 5 nhấn).
- Intent = `DEEP_ANALYSIS` không thiên về góc nào (render full cả Part 3 + Part 4).
**Khi RÚT GỌN Part 4:**
- Intent = `DEEP_ANALYSIS` và câu hỏi nhắm nhà thầu ("nhà thầu cần chuẩn bị gì", "có nên dự").
Khi rút gọn: header thêm hậu tố `(không phải trọng tâm câu hỏi, rút gọn)` và chỉ render đúng 2 bullet: **Kết luận audit** + 1 bullet highlight quan trọng nhất (vd. trường thiếu nghiêm trọng hoặc lệch giữa 3 hồ sơ). Bỏ các bullet khác.
- **Audit KHLCNT**: đủ phê duyệt / giá / nguồn vốn / hình thức&phương thức / loại HĐ / thời gian thực hiện?
- **Audit TBMT**: đủ mã / tên gói / bên mời / chủ đầu tư / mốc thời gian / bảo đảm / trạng thái?