From 59f9cc5d569347f2b935915822523785f2b03d97 Mon Sep 17 00:00:00 2001 From: VietND Date: Sat, 16 May 2026 01:14:53 +0000 Subject: [PATCH] fix(skill): disambiguate intent routing + lens expansion rules MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- skills/procurement-analysis/SKILL.md | 35 +++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/skills/procurement-analysis/SKILL.md b/skills/procurement-analysis/SKILL.md index c0bfbf6..812d6dc 100644 --- a/skills/procurement-analysis/SKILL.md +++ b/skills/procurement-analysis/SKILL.md @@ -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?