Bỏ qua để đến nội dung

Context Engineering

Level: L2 — Prompt & Context Engineering (Bài 9/10)

Sau bài này, bạn có thể:

  • Phân biệt Context Engineering (quản lý toàn bộ thông tin đưa vào AI qua nhiều lượt) với Prompt Engineering (viết tốt 1 câu lệnh).
  • Áp dụng nguyên tắc “attention budget” (ngân sách chú ý): coi context là tài nguyên hữu hạn, không phải “càng nhiều càng tốt”.
  • Dùng kỹ thuật “just-in-time” — chỉ đưa thông tin vào khi thực sự cần.
  • Kết nối khái niệm này với “context rot” đã học ở Level 1 (bài 2).

Context Engineering — theo Anthropic, “tối ưu hoá việc phân bổ token trong context window có hạn của model” — xem xét toàn bộ trạng thái AI có tại bất kỳ thời điểm nào [S61]. Không chỉ quan tâm câu lệnh bạn viết mà quan tâm toàn bộ những gì AI “nhìn thấy”.

Khác biệt với Prompt Engineering [S61]: prompt engineering tập trung hẹp vào 1 lần yêu cầu; context engineering bao quát hơn — quản lý toàn bộ luồng thông tin qua nhiều lượt tương tác.

“attention budget” [S61] — mỗi token “tiêu tốn” 1 phần khả năng tập trung của AI. Context đầy hơn không đồng nghĩa AI hiểu vấn đề tốt hơn — nguyên nhân kỹ thuật đứng sau “context rot” (bài 2, L1). Context Engineering là kỹ năng chủ động để tránh, khác bài 2 chỉ dạy nhận biết.

  • Bài “nâng cấp tư duy” của cả level: bài 9-16 dạy viết 1 prompt tốt; bài này dạy quản lý toàn bộ phiên làm việc.
  • Thói quen “nhồi càng nhiều thông tin càng an toàn” có thể phản tác dụng — thông tin dư thừa làm loãng “ngân sách chú ý”.
  • Cầu nối trực tiếp tới Level 3 và Level 8 — cả 2 xây trên nền quản lý context có chủ đích.
  1. Coi context là tài nguyên hữu hạn — hỏi “thông tin này có thực sự cần thiết” thay vì “tôi có nên thêm không” [S61].
  2. Bắt đầu tối giản, bổ sung khi cần (just-in-time) — chỉ đưa thông tin cho bước hiện tại [S61, “Just-in-Time Retrieval”].
  3. Dọn dẹp khi hội thoại dài — tóm tắt điểm quan trọng, bắt đầu hội thoại mới [S61, “compaction” — ở mức cá nhân là mẫu tóm tắt đã học bài 2].
  4. Ví dụ chất lượng hơn ví dụ đầy đủ — nguyên tắc đã học ở bài 11 [S61 xác nhận chéo S37].

Nối tiếp mental model “chiếc bàn làm việc” (bài 2, L1): nếu context window là bàn có kích thước cố định, Context Engineering là kỹ năng dọn bàn có chủ đích — chủ động chọn lọc những gì đặt lên bàn, cất đi những gì dùng xong, chỉ lấy thêm khi thực sự cần. Prompt Engineering dạy viết rõ ràng trên tờ giấy đưa ra; Context Engineering dạy quản lý cả chiếc bàn.

  1. Trước khi thêm thông tin, tự hỏi: “cần cho bước hiện tại không, hay chỉ ‘phòng khi cần’?”
  2. Với tài liệu dài, trích phần liên quan thay vì dán toàn bộ (bài 7, L1).
  3. Theo dõi dấu hiệu context rot (bài 2, L1): lệch chủ đề, quên chi tiết → dọn dẹp, không “cố nhồi thêm hướng dẫn để nhắc lại”.
  4. Khi chuyển sang giai đoạn/chủ đề mới, tóm tắt và bắt đầu hội thoại mới.
  5. Với ví dụ minh hoạ (bài 11), ưu tiên chất lượng/đa dạng hơn số lượng.

Soạn 1 báo cáo dự án dài, có 5 tài liệu nguồn (báo cáo tài chính, khảo sát khách hàng, biên bản họp, timeline, ngân sách). Thay vì dán cả 5 vào đầu hội thoại “phòng khi cần”: bắt đầu chỉ với tài liệu cần cho phần đang viết; khi chuyển sang “phân tích ngân sách”, mới dán thêm tài liệu ngân sách; khi hội thoại đã dài, tóm tắt lại quyết định đã thống nhất, bắt đầu hội thoại mới cho phần tiếp theo.

Trước khi dán thêm tài liệu/thông tin vào hội thoại, tự hỏi:
1. Thông tin này có CẦN cho bước hiện tại, hay chỉ "phòng khi cần"?
2. Nếu cần, có thể trích phần liên quan thay vì dán toàn bộ không?
3. Hội thoại đã dài chưa? Có dấu hiệu context rot chưa (lệch chủ đề, quên
chi tiết)?
4. Nếu có dấu hiệu ở bước 3: tóm tắt và bắt đầu hội thoại mới, thay vì tiếp
tục nhồi thêm.
Thông tin cần cho bước hiện tạiBổ sung just-in-time khi cầnContext Window (bàn làm việc — chọn lọc chủ động)Tóm tắt (khi hội thoại dài)
Hình 2.9 — Context Engineering: dọn bàn có chủ đích, mở rộng từ Hình 1.2 (bài 2).

Đây là hình nối tiếp trực tiếp Hình 1.2 (bài 2, L1) — cùng ẩn dụ “bàn làm việc”, nay thêm lớp “chủ động chọn lọc/dọn dẹp” thay vì để chất đống tự nhiên.

Nhớ lại 1 hội thoại AI dài, phức tạp bạn từng có:

  1. Liệt kê: bạn đã dán bao nhiêu thông tin ngay từ đầu, dù chưa dùng tới ngay?
  2. Áp dụng khung ở mục 8 cho 1 hội thoại tương tự sắp tới.
  3. So sánh cảm nhận về chất lượng câu trả lời giữa 2 cách làm.

(Suy luận từ nguyên tắc trong [S61], không phải khảo sát lỗi người dùng đã ghi nhận chính thức.)

  • “Nhồi sẵn cho chắc” — dán mọi tài liệu có thể liên quan ngay từ đầu, phần lớn không dùng tới.
  • Coi context window là “trí nhớ”, càng nhiều thông tin cũ càng tốt — nhầm “có nhiều thông tin” với “AI dùng hiệu quả”.
  • Không dọn dẹp hội thoại dài.

13. Giới hạn & khi nào KHÔNG nên áp dụng

Phần tiêu đề “13. Giới hạn & khi nào KHÔNG nên áp dụng”
  • Với hội thoại ngắn, 1-2 lượt, hầu như không cần áp dụng chủ động.
  • Bài này hạ tầng nguyên tắc từ tài liệu kỹ sư xuống mức cá nhân — kỹ thuật kỹ sư-cấp (sub-agent, structured note-taking) không thuộc phạm vi bài này (mục 16).
  • Không áp dụng máy móc “càng ít context càng tốt” — mục tiêu là chọn lọc đúng.

Việc chủ động quản lý context không thay đổi nguyên tắc an toàn dữ liệu cơ bản (bài 2, L1). Lưu ý bổ sung: khi thực hành “just-in-time”, dán tài liệu vào giữa hội thoại không “an toàn hơn” so với dán từ đầu — mức độ nhạy cảm của dữ liệu không phụ thuộc thời điểm nó được đưa vào context.

  1. Trước khi thêm thông tin, tự hỏi “có cần cho bước hiện tại không”.
  2. Áp dụng just-in-time.
  3. Chủ động tóm tắt và bắt đầu hội thoại mới khi có dấu hiệu context rot.
  4. Nguyên tắc an toàn dữ liệu không đổi theo cách bạn quản lý context.
16. Nội dung nâng cao (không bắt buộc, thuộc phạm vi kỹ sư xây agent)
  • Compaction — cơ chế tự động tóm tắt lịch sử hội thoại khi gần chạm giới hạn context.
  • Structured note-taking — agent duy trì bộ nhớ ngoài (file, to-do list).
  • Sub-agent architecture — agent chuyên biệt xử lý tác vụ hẹp, trả về bản tóm tắt cho agent điều phối.

Cả 3 là phiên bản tự động hoá của chính nguyên tắc đã học ở bài này — sẽ gặp lại ở Level 8.

[S61] Effective context engineering for AI agents, Anthropic Engineering Blog (Anthropic).

2026-07-12. Nguồn đăng 2025-09-29 — nguyên tắc khái niệm ổn định, ít lỗi thời. Chi tiết công cụ cụ thể (mục 16, “memory tool… beta”) là tính năng ở trạng thái beta tại thời điểm nguồn đăng — cần re-check trạng thái hiện tại.