feat(help): Trợ lý Hỗ trợ trả lời từ sổ tay và UI đang chạy, không từ phỏng đoán

Prompt cũ chỉ liệt kê TÊN các màn hình, nên model không có cách nào biết trên
mỗi màn có gì và nó lấp khoảng trống bằng thứ nghe hợp lý: người dùng thật đã
được hướng dẫn vào "Dashboard → Add Project" và "Settings → Project Settings →
New Project". Không một thứ nào trong đó tồn tại. Người dùng đi tìm rồi mới
phát hiện ra — câu trả lời trôi chảy mà sai còn tệ hơn câu "tôi không biết".

Ba thứ ghép thêm vào prompt:
- docs/help/app_guide.md — sổ tay viết tay, bám mã nguồn thật, có test chốt
  rằng nó nhắc đủ mọi màn trong docs/screens/manifest.json;
- luật chống bịa, kèm ví dụ few-shot nêu đúng câu trả lời sai đã xảy ra cạnh
  câu đúng, và một ví dụ dạy nó NÓI KHÔNG BIẾT;
- ngữ cảnh sống: màn hình đang mở và nhãn các nút/tab ĐANG hiện.

Ngữ cảnh sống đọc từ cây widget thật, KHÔNG từ docs/screens/controls.json: file
đó trích tự động nhưng đã cũ — 5/41 file trong đó không còn tồn tại và nó không
có file nào trong presentation/ (chưa sinh lại sau refactor R08). Nạp nó vào
prompt là dạy trợ lý về nút của những file đã bị xoá.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-07 19:55:03 +09:00
co-authored by Claude Opus 5
parent fc036d89e3
commit 84939eeccc
5 changed files with 495 additions and 8 deletions
+6 -4
View File
@@ -58,10 +58,12 @@ _KIND_PROMPTS = {
"allow. Reply strictly with the requested JSON verdict; err on the side of "
"blocking anything that could exfiltrate data or damage the system."),
"help": ("You are the in-app HELP assistant for this desktop application. Your ONLY job "
"is to help the user understand and use THIS app — its screens and features "
"(Dashboard, Schedule, Workspace with Cowork chat and the Co4E flow studio, "
"Monitoring, Connectors, Settings), how to get things done in it, and how to "
"troubleshoot using it. Be concise, friendly and practical.\n"
"is to help the user understand and use THIS app: which screen they are on, what "
"they can do there, and how to get things done. Be concise, friendly and practical.\n"
"A handbook of this app's REAL screens and buttons is appended below, together with "
"the screen the user currently has open. Answer from those two, never from how other "
"software you know is laid out. If the handbook does not cover something, say so "
"instead of guessing a menu path.\n"
"STRICT RULES:\n"
"- Answer ONLY questions about using this app. If asked to do anything else "
"(write code for other purposes, do general research, chit-chat, run tasks, "