📖 Nội dung bài học
Tóm tắt
Retrieval Augmented Generation (RAG) là một kỹ thuật giúp bạn làm việc với các tài liệu lớn mà không thể nhét vừa vào một prompt duy nhất. Thay vì nhồi nhét mọi thứ vào một prompt khổng lồ, RAG chia tài liệu thành các phần nhỏ và chỉ bao gồm những phần liên quan nhất khi trả lời câu hỏi.
Vấn đề với tài liệu lớn
Hãy tưởng tượng bạn có một tài liệu tài chính dày 800 trang và muốn hỏi Claude những câu hỏi cụ thể về nó, ví dụ: "Công ty này có những yếu tố rủi ro nào?" Bạn cần cung cấp thông tin liên quan từ tài liệu cho Claude bằng cách nào đó, nhưng có giới hạn về lượng văn bản bạn có thể đưa vào một prompt.

Lựa chọn 1: Bao gồm mọi thứ trong prompt
Cách tiếp cận đầu tiên rất đơn giản - trích xuất tất cả văn bản từ tài liệu và nhồi nó vào prompt của bạn cùng với câu hỏi của người dùng. Prompt của bạn có thể trông như thế này:
Trả lời câu hỏi của người dùng về tài liệu tài chính.
<user_question>
{user_question}
</user_question>
<financial_document>
{financial_document}
</financial_document>

Cách tiếp cận này có những hạn chế nghiêm trọng:
- Có giới hạn cứng về độ dài prompt - tài liệu của bạn có thể quá dài
- Claude kém hiệu quả hơn với các prompt rất dài
- Prompt lớn hơn tốn nhiều chi phí xử lý hơn
- Prompt lớn hơn mất nhiều thời gian xử lý hơn
Lựa chọn 2: Chia tài liệu thành các phần
RAG thực hiện một cách tiếp cận thông minh hơn. Đầu tiên, bạn chia tài liệu thành các phần nhỏ hơn trong một bước tiền xử lý. Sau đó, khi người dùng hỏi một câu hỏi, bạn tìm các phần liên quan nhất đến câu hỏi của họ và chỉ bao gồm chúng trong prompt của bạn.

Cách hoạt động như sau: nếu ai đó hỏi "Công ty này đối mặt với những rủi ro nào?", bạn sẽ tìm kiếm trong các phần của mình, tìm phần "Yếu tố rủi ro" và chỉ bao gồm phần liên quan đó trong prompt của bạn.

Lợi ích của RAG
- Claude có thể tập trung vào nội dung liên quan nhất
- Mở rộng quy mô cho các tài liệu rất lớn
- Hoạt động với nhiều tài liệu
- Prompt nhỏ hơn tốn ít chi phí và chạy nhanh hơn
Thách thức với RAG
- Yêu cầu bước tiền xử lý để chia nhỏ tài liệu
- Cần cơ chế tìm kiếm để tìm các phần "liên quan"
- Các phần được bao gồm có thể không chứa đủ ngữ cảnh mà Claude cần
- Có nhiều cách để chia nhỏ văn bản - cách tiếp cận nào là tốt nhất?
Ví dụ, bạn có thể chia tài liệu thành các phần có kích thước bằng nhau, hoặc bạn có thể tạo các phần dựa trên cấu trúc tài liệu như tiêu đề và các mục. Mỗi cách tiếp cận đều có những đánh đổi mà bạn cần đánh giá cho trường hợp sử dụng cụ thể của mình.
Khi nào nên sử dụng RAG
RAG liên quan đến nhiều quyết định kỹ thuật và đòi hỏi nhiều công sức hơn là chỉ đơn giản bao gồm mọi thứ trong một prompt. Bạn cần phân tích xem lợi ích có lớn hơn sự phức tạp đối với ứng dụng của mình hay không. Nó đặc biệt có giá trị khi làm việc với các tài liệu rất lớn, nhiều tài liệu, hoặc khi bạn cần tối ưu hóa chi phí và hiệu suất.
Điểm mấu chốt là RAG đánh đổi sự đơn giản để lấy khả năng mở rộng và hiệu quả. Mặc dù nó đòi hỏi nhiều công sức ban đầu để triển khai đúng cách, nhưng nó cho phép bạn làm việc với các bộ sưu tập tài liệu mà lẽ ra không thể xử lý bằng cách nhồi prompt đơn giản.
🔁 Bài học liên quan
- Bài tiếp: Text chunking strategies
- Bài trước: Quiz on tool use with Claude
- Cùng section: Making a request · Multi-Turn conversations · Chat exercise
- Thuộc lộ trình: Path C
- Docs tham khảo: Glossary · Skills atlas · By use-case
📚 Nguồn & ghi nhận
- Bài học gốc Anthropic Academy: https://anthropic.skilljar.com/claude-with-the-anthropic-api/287763
- © 2025 Anthropic. Chỉ dùng cho mục đích giáo dục, fair-use.
- Crawl: 2026-04-23 · Chuẩn hoá: 2026-05-01