Domain 6: Prompt and Context Engineering·Task 6.1
Context engineering - chống trôi và phình context, cô lập bằng subagent
Context engineering khác prompt engineering ở đâu, vì sao context dài làm Claude kém đi, cách cắt tỉa kết quả tool, nén hội thoại, cô lập bằng subagent.
- 9 phút đọc
- Đối chiếu docs 02/11/2026
- 7 nguồn
Đọc xong bạn nắm được
- Phân biệt prompt engineering với context engineering
- Giải thích vì sao thêm context không phải lúc nào cũng tốt hơn, và cái gì đang chiếm context
- Cắt tỉa kết quả tool cũ bằng context editing và nén hội thoại bằng compaction, biết mỗi cách ảnh hưởng prompt cache thế nào
- Cô lập ngữ cảnh cho từng bước bằng subagent hoặc workflow nhiều bước
- Chọn cách xử lý theo đúng nguồn gây phình context
Context window 1 triệu token nghe như vô tận, nhưng agent vẫn có thể "quên" ràng buộc đặt ra từ đầu sau vài chục lần gọi tool. Vấn đề thường không phải hết chỗ, mà là thông tin quan trọng bị chìm giữa một đống thứ đã hết giá trị.
Bài này giúp bạn trả lời: context engineering là gì, vì sao context dài làm Claude làm kém đi, và có những cách nào để giữ context gọn?
Ví dụ xuyên suốt: agent hỗ trợ kỹ thuật của hãng máy in
Một hãng máy in văn phòng có agent hỗ trợ kỹ thuật cho khách. Mỗi phiếu hỗ trợ, agent gọi tool khoảng 20 lần: đọc log lỗi của máy, tra tài liệu sửa chữa 800 trang, xem lịch sử bảo hành, kiểm tồn kho linh kiện. Mỗi kết quả tool dài vài nghìn token.
System prompt có một ràng buộc quan trọng: "chỉ hướng dẫn những thao tác khách tự làm được, không bao giờ bảo khách tháo vỏ máy". Đội nhận thấy sau khoảng 20 lần gọi tool, agent bắt đầu trả lời lan man và thỉnh thoảng quên ràng buộc đó.
Prompt engineering và context engineering
Bài viết "Effective context engineering for AI agents" của Anthropic phân biệt:
- Prompt engineering: cách viết và sắp xếp chỉ dẫn cho LLM để ra kết quả tốt. Tập trung vào từng prompt.
- Context engineering: các chiến lược chọn lọc và duy trì tập token tốt nhất trong lúc model chạy, gồm mọi thông tin khác đi vào context ngoài prompt: kết quả tool, lịch sử hội thoại, tài liệu, bộ nhớ.
Anthropic coi context engineering là bước phát triển tiếp theo của prompt engineering. Với việc dài nhiều bước như agent máy in, phần quyết định chất lượng là context engineering.
Thêm context không phải lúc nào cũng tốt hơn
Docs về context window nói: số token càng tăng thì độ chính xác và khả năng nhớ lại càng giảm, hiện tượng gọi là context rot. Vì vậy chọn lọc cái gì nằm trong context quan trọng ngang với việc có bao nhiêu chỗ. Bài viết về context engineering nói LLM có một "ngân sách chú ý" hữu hạn; context tốt là tập token nhỏ nhất mà mang nhiều tín hiệu nhất.
Thứ chiếm context gồm: system prompt, định nghĩa tool, toàn bộ hội thoại, kết quả tool, khối thinking, tài liệu, ảnh. Trong ví dụ, 20 kết quả tool vài nghìn token mỗi cái đã chiếm phần lớn context, và ràng buộc "không tháo vỏ máy" ở đầu system prompt bị loãng giữa chúng.
Cắt tỉa kết quả tool cũ: context editing
Cách nhẹ nhàng và an toàn nhất, theo bài viết của Anthropic, là xoá kết quả tool cũ: một khi tool đã được gọi từ lâu, agent hiếm khi cần xem lại nguyên văn kết quả. Đề thi gọi đây là cắt tỉa kết quả tool (tool output pruning).
Claude API làm việc này phía máy chủ qua context editing (đang beta, header context-management-2025-06-27) với chiến lược clear_tool_uses_20250919: khi prompt vượt ngưỡng, API xoá các kết quả tool cũ nhất và thay bằng một dòng báo cho Claude biết nội dung đã bị bỏ.
"context_management": {
"edits": [{
"type": "clear_tool_uses_20250919",
"trigger": { "type": "input_tokens", "value": 100000 },
"keep": { "type": "tool_uses", "value": 3 },
"exclude_tools": ["tra_bao_hanh"]
}]
}| Tham số | Mặc định | Ý nghĩa |
|---|---|---|
trigger | 100.000 token đầu vào | Khi nào bắt đầu xoá |
keep | 3 lần gọi tool | Giữ lại bao nhiêu cặp gọi và kết quả gần nhất |
exclude_tools | Không có | Tool không bao giờ bị xoá kết quả |
clear_at_least | Không có | Chỉ xoá khi xoá được ít nhất bấy nhiêu token |
Một điểm cần nhớ: xoá kết quả tool làm mất hiệu lực prompt cache từ chỗ bị xoá. Docs khuyên dùng clear_at_least để mỗi lần xoá đủ nhiều, đáng với việc phá cache. Trong ví dụ, kết quả tra bảo hành được giữ (exclude_tools) vì agent cần nó tới cuối phiếu.
Nén hội thoại: compaction
Compaction thay các lượt cũ của hội thoại bằng một bản tóm tắt do Claude viết. Bản tóm tắt giữ cái cốt lõi (mục tiêu, quyết định đã chốt, việc còn dở), chi tiết vụn bị nén lại. Trên Claude API, compaction chạy ở máy chủ (đang beta): theo yêu cầu, hoặc tự động khi vượt một ngưỡng token. Agent SDK và Claude Code tự nén khi context gần đầy.
Compaction hợp với chuyện hội thoại dài mà model cứ bám vào chi tiết cũ không còn liên quan: phần cũ vẫn còn ý chính nhưng không còn nặng ký như trước. Bài viết của Anthropic cảnh báo nén quá tay có thể làm mất chi tiết nhỏ mà sau mới thấy quan trọng.
Cô lập ngữ cảnh bằng subagent
Có những bước không nên thấy toàn bộ lịch sử. Một khi nội dung đã nằm trong context, dặn "hãy bỏ qua" không xoá được nó; cách chắc chắn là đừng đưa vào. Đề thi gọi đây là cô lập ngữ cảnh (context isolation) qua subagent hoặc workflow nhiều bước.
Bài viết của Anthropic mô tả: mỗi subagent có thể dùng hàng chục nghìn token để tìm tòi, nhưng chỉ trả về bản tóm tắt cô đọng, thường 1.000–2.000 token. Trong ví dụ, việc tra tài liệu sửa chữa 800 trang giao cho một subagent; agent chính chỉ nhận "bước 3 trang 214: lau trục kéo giấy bằng khăn khô", không nhận cả chương.
Một ý gần đó là nạp "vừa đúng lúc" (just in time): thay vì nạp sẵn mọi dữ liệu, agent giữ các tham chiếu nhẹ (đường dẫn file, mã tài liệu) và chỉ dùng tool nạp nội dung khi cần.
Chọn cách theo nguồn gây phình
Docs về quản lý ngữ cảnh tool chia các cách theo thứ chúng giảm:
| Nguồn phình | Cách xử lý |
|---|---|
| Quá nhiều định nghĩa tool nạp từ đầu (từ 20 tool trở lên) | Tool search: Claude tìm tool khi cần |
| Chuỗi nhiều lần gọi tool qua lại | Programmatic tool calling: chạy cả chuỗi trong một đoạn script |
| Định nghĩa tool lặp lại tốn tiền | Prompt caching (giảm tiền, không giảm độ dài context) |
| Kết quả tool cũ trong lịch sử | Context editing |
| Cả hội thoại quá dài | Compaction |
| Việc tìm tòi sinh nhiều token | Subagent |
| Thông tin cần qua nhiều phiên | Ghi chú ra ngoài (memory tool, file) |
- Kết quả tool cũ đã hết giá trị?Context editing, giữ vài kết quả gần nhất
- Hội thoại dài, model bám chi tiết cũ?Compaction
- Một bước sinh rất nhiều token tìm tòi?Giao cho subagent, nhận bản tóm tắt
- Bước sau không nên thấy lịch sử?Cô lập ngữ cảnh, chỉ truyền phần cần
- Còn lạiQuá nhiều định nghĩa tool thì dùng tool search
Nguồn
- Exam Guide CCDV-F v1.0, Domain 6(mở tab mới)
- Effective context engineering for AI agents (Anthropic Engineering)(mở tab mới)
- Context windows (Claude API Docs)(mở tab mới)
- Context editing (Claude API Docs)(mở tab mới)
- Compaction overview (Claude API Docs)(mở tab mới)
- Manage tool context (Claude API Docs)(mở tab mới)
- Subagents in the SDK (Claude Code Docs)(mở tab mới)
Anthropic Exam Pro