Các bài trong khoáBài 17/38

38 bài

Domain 3: Integration·Task 3.6

Chọn chiến lược truy xuất theo dữ liệu và kiểu câu hỏi

Khớp cách truy xuất với dữ liệu và kiểu câu hỏi, từ cả kho trong prompt, embedding, BM25, truy vấn có cấu trúc, hybrid, rerank tới để agent tự tìm.

  • 6 phút đọc
  • Đối chiếu docs 02/11/2026
  • 5 nguồn

Đọc xong bạn nắm được

  • Ghép mỗi cách truy xuất với loại dữ liệu và kiểu câu hỏi nó hợp
  • Biết vì sao hybrid search tốt hơn từng cách riêng, và rerank đổi lại gì
  • Dùng truy vấn có cấu trúc cho câu hỏi lọc và tổng hợp trên dữ liệu bảng
  • Chọn giữa truy xuất tính trước và để agent tự tìm bằng tool lúc chạy

Không có cách truy xuất nào thắng ở mọi nơi. Tìm "chính sách đổi hàng khi khách đã mặc thử" cần hiểu ý; tìm "SKU AO-2291-XL" cần khớp từng ký tự; hỏi "tháng trước chi nhánh nào bán áo khoác nhiều nhất" thì chẳng cần tìm đoạn văn nào cả, mà cần một câu truy vấn trên bảng số liệu.

Bài này giúp bạn trả lời: với một loại dữ liệu và một kiểu câu hỏi, chọn cách truy xuất nào?

Ví dụ xuyên suốt: trợ lý nội bộ của một chuỗi thời trang

Một chuỗi bán lẻ thời trang làm trợ lý cho nhân viên văn phòng. Dữ liệu gồm:

  1. Chính sách và quy trình: vài trăm trang văn bản (đổi trả, bảo hành, khuyến mãi).
  2. Danh mục sản phẩm: 80.000 mã SKU kèm mô tả ngắn.
  3. Dữ liệu bán hàng: kho dữ liệu SQL có bảng doanh số theo ngày, chi nhánh, sản phẩm.
  4. Mã nguồn hệ thống bán hàng: đội kỹ thuật sửa hằng ngày.

Câu hỏi đầu tiên: có cần truy xuất không

Bài viết về contextual retrieval của Anthropic nói kho kiến thức dưới khoảng 200.000 token có thể đưa cả vào prompt, kết hợp prompt caching. Bộ chính sách vài trăm trang nằm quanh ngưỡng này: nếu vừa, đưa cả vào prompt có cache thường đơn giản và đủ tốt hơn dựng một chỉ mục vector.

Khớp cách truy xuất với dữ liệu

CáchHợp vớiTrong ví dụ
Embedding (dense retrieval)Câu hỏi diễn đạt khác chữ trong tài liệu, văn bản tự do"Khách mặc thử rồi có đổi được không"
Từ khoá (sparse, BM25)Mã định danh, từ hiếm, thuật ngữ chính xác"SKU AO-2291-XL", mã lỗi máy POS
Truy vấn có cấu trúc (structured query)Lọc và tổng hợp trên cơ sở dữ liệu có schema và chỉ mụcDoanh số áo khoác theo chi nhánh tháng trước
Hybrid (embedding + BM25)Câu hỏi trộn ý nghĩa và mã chính xác"Áo AO-2291 có được đổi size khi đang khuyến mãi không"
Cả kho trong promptKho nhỏ, đọc nhiều lầnBộ chính sách nếu dưới ngưỡng
Agent tự tìm bằng tool lúc chạyDữ liệu đổi liên tụcMã nguồn đang sửa hằng ngày

Với dữ liệu bán hàng, cách đúng là cho Claude một tool chạy truy vấn SQL (chỉ đọc, giới hạn đúng bảng được phép), không phải embed từng dòng doanh số rồi tìm theo nghĩa.

Hybrid search và rerank

Bài viết về contextual retrieval nói embedding có thể lỡ những chỗ khớp chính xác, còn BM25 đặc biệt hiệu quả với mã định danh. Hybrid chạy cả hai rồi gộp kết quả. Hướng dẫn trong Claude Cookbook lấy 150 kết quả đầu từ mỗi bên, gộp bằng cách xếp hạng có trọng số (mặc định nghiêng về embedding), và trọng số này chỉnh được theo tỉ lệ câu hỏi chứa mã và câu hỏi diễn đạt bằng lời trong dữ liệu của bạn.

Rerank là bước xếp hạng lại: lấy nhiều ứng viên (ví dụ 150), dùng một model xếp hạng chọn ra số ít tốt nhất (ví dụ 20) đưa vào prompt. Bài viết nói rerank giảm thêm tỉ lệ truy xuất hỏng, nhưng có đánh đổi: xếp hạng lại nhiều đoạn thì tốt hơn, ít đoạn thì nhanh và rẻ hơn. Bài viết cũng thấy đưa 20 đoạn vào prompt tốt hơn 10 hay 5 trong thử nghiệm của họ. Theo hướng dẫn Cookbook, chỉ thêm ngữ cảnh cho chunk (contextual embeddings) đã cho tỉ lệ hiệu quả trên chi phí tốt nhất; rerank dành cho khi cần độ chính xác cao nhất.

Truy xuất tính trước hay để agent tự tìm

Bài viết về context engineering của Anthropic phân biệt hai cách:

  • Truy xuất tính trước: đánh chỉ mục sẵn, tìm và đưa vào prompt trước khi gọi model. Nhanh, nhưng chỉ mục có thể cũ.
  • Truy xuất đúng lúc (just-in-time): agent giữ các định danh nhẹ (đường dẫn file, câu truy vấn đã lưu, đường link) và dùng tool để nạp dữ liệu khi cần. Luôn mới, nhưng bài viết nói khám phá lúc chạy chậm hơn dùng dữ liệu tính sẵn, và cần tool tốt để agent không phí context.

Bài viết lấy Claude Code làm ví dụ cho cách kết hợp: file CLAUDE.md được nạp sẵn từ đầu, còn code thì agent tự tìm bằng glob và grep khi cần. Bài viết cũng nói cách kết hợp hợp với nội dung ít thay đổi, như tài liệu pháp lý hay tài chính.

Trong ví dụ: mã nguồn đổi hằng ngày, chỉ mục vector dựng mỗi đêm sẽ luôn trễ một ngày; để agent tìm trực tiếp bằng tool tìm file và tìm chữ. Bộ chính sách ít đổi thì nạp sẵn.

Nguồn

  1. Exam Guide CCAR-P v1.0, Domain 3(mở tab mới)
  2. Introducing Contextual Retrieval (Anthropic)(mở tab mới)
  3. Contextual embeddings guide (Claude Cookbook)(mở tab mới)
  4. Effective context engineering for AI agents (Anthropic)(mở tab mới)
  5. Embeddings (Claude Docs)(mở tab mới)

Nắm rồi thì thử sức với đề

Xem khoá luyện thi
Chọn chiến lược truy xuất theo dữ liệu và kiểu câu hỏi · Anthropic Exam Pro