Knowhow Query
Trả lời câu hỏi từ knowhow đã tích luỹ. Đồng thời là nguồn tín hiệu thứ ba cho tiến hoá cấu trúc: câu hỏi lặp mà không trúng page là dấu hiệu mạnh của thiếu cấu trúc.
Precondition
Kiểm tra .knowhow/ tồn tại trong workspace:
ls -d .knowhow/ 2>/dev/null
Nếu không tồn tại, dừng và hướng dẫn user chạy knowhow-init trước.
Flow query
Bước 1: Tìm page liên quan
- Đọc
wiki/index.md+skills/registry.md+workflows/registry.mdđể biết tổng quan. - Rút 3-5 từ khoá từ câu hỏi. Grep tìm page liên quan:
grep -ril "<từ khoá>" .knowhow/wiki .knowhow/skills .knowhow/workflows - Đọc các file hit.
Bước 2: Tổng hợp câu trả lời
- Tổng hợp từ các page đã đọc, trả lời trực tiếp câu hỏi.
- Trích dẫn nguồn bằng
[[slug]]cho mỗi tuyên bố lấy từ một page cụ thể. - Nếu không tìm thấy page nào liên quan, nói thẳng "chưa có knowhow về việc này" thay vì bịa.
Bước 3: Phát tín hiệu query-miss
Đánh giá chất lượng câu trả lời. Emit query-miss vào .knowhow/schema-signals.md khi MỘT trong hai:
- Phải chắp vá từ ≥ 3 page mới trả lời được (T = 3, khởi điểm).
- KHÔNG có page sạch nào trực tiếp trả lời (toàn suy luận chắp nối).
Ghi theo schema-signals-protocol.md. Dòng query-miss có dạng - [YYYY-MM-DD] query | query-miss | <câu hỏi rút gọn>, phải chắp <N> page | related: tag:<chủ-đề>.
Nếu câu trả lời gọn (1-2 page sạch trúng đích), KHÔNG emit. Tín hiệu chỉ dành cho "khuôn không vừa".
Bước 3b: Phát tín hiệu promote-candidate
Ngoài query-miss (khuôn không vừa), query là chỗ tốt để bắt "một page bị dùng đi dùng lại để LÀM THEO", ứng viên nâng thành skill.
Emit promote-candidate vào .knowhow/schema-signals.md khi CẢ HAI đúng:
- Câu hỏi có tính thao tác ("làm sao để...", "các bước...", "quy trình..."), và
- Câu trả lời dựa chủ yếu vào MỘT page type pattern/troubleshooting (page đó là nguồn hành động, không chỉ tham khảo).
Ghi theo schema-signals-protocol.md (quy tắc "1 phiếu mỗi lần, không dedupe" và "đã promote thì thôi" nằm ở đó). Dòng promote-candidate có dạng - [YYYY-MM-DD] query | promote-candidate | hỏi làm-theo trúng [[<slug-page>]] | related: <slug-page>.
Bước 4: File ngược qua inbox (tôn trọng cửa duy nhất)
Nếu câu trả lời đáng tái dùng (user xác nhận OK), thả nó vào inbox/ như một candidate page. KHÔNG ghi thẳng vào wiki/. distill xử lý sau như mọi item khác.
- Đánh giá đáng lưu: câu trả lời đáng lưu nếu có thể tái dùng cho câu hỏi tương tự sau này (không phải thông tin quá cụ thể, dùng một lần). Nếu đáng, hỏi user: "Câu trả lời này đáng lưu lại không?"
- Nếu user OK:
- Lưu Q&A nguyên văn vào
raw/YYYY-MM-DD-query-<slug>.md(provenance, nhất quán với quy tắc capture). - Tạo inbox item
inbox/YYYY-MM-DD-query-<slug>.mdtheo format inbox trong../knowhow-capture/references/page-formats.md(đường dẫn tương đối từ thư mục skill này), với:captured_from: querysource_file: raw/YYYY-MM-DD-query-<slug>.md
- KHÔNG ghi vào
wiki/,skills/,workflows/.
- Lưu Q&A nguyên văn vào
Bước 5: Ghi log
Thêm vào wiki/log.md:
## [YYYY-MM-DD] query | <câu hỏi rút gọn> (emit query-miss: có/không, file inbox: có/không)
Chế độ teach (soạn lộ trình truyền đạt)
Kích hoạt khi user yêu cầu kiểu "soạn tài liệu onboarding", "dạy lại X cho người mới", "tổng hợp cho người khác học". Bản chất: vẫn là query (đọc wiki, tổng hợp, trích dẫn), khác ở hình thức output là một LỘ TRÌNH ĐỌC thay vì một câu trả lời.
- Gom: như Bước 1 query thường, theo chủ đề/vai trò user nêu.
- Xếp theo thang biết → hiểu → làm:
- Mở đầu:
concept(từ vựng phải biết trước). - Giữa:
decision+lesson(vì sao mọi thứ như hiện tại, bẫy đã gặp). - Cuối:
pattern+ skill/workflow (làm thế nào, theo bó nào).
- Mở đầu:
- Soạn lộ trình: mỗi mục gồm tóm tắt 2-3 câu + link
[[slug]]đến bản đầy đủ + 1 câu hỏi tự kiểm. KHÔNG copy nguyên văn page vào lộ trình: wiki vẫn là bản gốc duy nhất, lộ trình chỉ là bản đồ đọc. Copy nguyên văn sẽ tạo bản sao lỗi thời dần, đúng cái hệ này chống. - Đầu ra: trình cho user. Chỉ ghi ra file khi user chỉ định nơi lưu, và lưu NGOÀI
.knowhow/(ví dụdocs/onboarding-<chủ-đề>.md). KHÔNG ghi vàowiki/. - Lỗ hổng lộ ra khi soạn (chủ đề quan trọng không có page, chuỗi học đứt quãng): báo user kèm danh sách thiếu, gợi ý capture/distill bổ sung. Mục cơ bản mà phải chắp ≥3 page: emit
query-missnhư thường (Bước 3). - Log:
## [YYYY-MM-DD] query | teach: <chủ đề> (N page, thiếu: <danh sách ngắn hoặc "không">).
Quy tắc cứng
- query KHÔNG ghi thẳng vào
wiki/. Mọi knowhow mới đi quainbox/→ distill (giữ bất biến "cửa duy nhất"). - Không bịa câu trả lời. Không có page thì nói không có.
- Trích dẫn
[[slug]]cho mọi tuyên bố lấy từ page. - Chỉ emit
query-misskhi thật sự "khuôn không vừa" (≥3 page hoặc không page sạch), tránh báo nhiễu. - Emit
promote-candidatechỉ khi câu hỏi có tính làm-theo VÀ trả lời dựa chủ yếu vào một pattern/troubleshooting page. Không emit cho câu hỏi tra cứu thuần (để biết). Không emit nếu page đó đã được promote (đã có skill vớipromoted_fromtrỏ về).