Thủ thuật
Kỷ nguyên mới của kỹ thuật ngữ cảnh: Anthropic cắt giảm 80% system prompt trên Claude 5
(giờ Việt Nam)
Tóm tắt AI
Anthropic đã tối ưu hóa Claude 5 bằng cách loại bỏ hơn 80% system prompt trong Claude Code mà không làm giảm hiệu suất lập trình, mở ra hướng đi mới cho kỹ thuật ngữ cảnh.
Bản dịch AI

Trước đây và hiện nay
Có một số phương pháp kỹ thuật ngữ cảnh (context engineering) tốt nhất trước đây đã trở thành những quan niệm sai lầm. Bao gồm:

Trước đây: Đưa ra các quy tắc cho Claude
Hiện nay: Để Claude tự đưa ra phán đoán
Khi chúng tôi lần đầu triển khai Claude Code, chúng tôi cần đảm bảo rằng Claude tránh được các tình huống xấu nhất, chẳng hạn như xóa tệp. Điều này có nghĩa là chúng tôi phải đưa ra những hướng dẫn đặc biệt nghiêm ngặt mà đôi khi không còn đúng nữa. Ví dụ, trong system prompt, chúng tôi từng viết:
Trong mã nguồn: mặc định không viết chú thích. Không bao giờ viết docstring nhiều đoạn hoặc khối chú thích nhiều dòng — tối đa chỉ một dòng ngắn. Không tạo tài liệu lập kế hoạch, quyết định hoặc phân tích trừ khi người dùng yêu cầu — hãy làm việc dựa trên ngữ cảnh hội thoại, không phải các tệp trung gian.
Nhưng đối với một nhóm các câu lệnh (prompt) nhất định, hướng dẫn này lại không chính xác. Trong trường hợp viết tài liệu, người dùng có thể có sở thích riêng, hoặc các phần cụ thể của mã nguồn rất phức tạp có thể cần các khối chú thích nhiều dòng.
Tuy nhiên, nếu không có những "hàng rào bảo vệ" này cho các mô hình cũ, các chú thích mà Claude viết sẽ không chính xác trong nhiều trường hợp và chúng tôi buộc phải chấp nhận sự đánh đổi này. Nhưng các mô hình mới hơn có khả năng phán đoán tốt hơn và có thể xử lý các quyết định này một cách hiệu quả mà không cần các quy tắc cứng nhắc.
Trong system prompt mới, chúng tôi viết: Hãy viết mã nguồn sao cho dễ đọc như đoạn mã xung quanh: phù hợp với mật độ chú thích, cách đặt tên và phong cách lập trình của nó.
Trước đây: Đưa ra các ví dụ cho Claude
Hiện nay: Thiết kế giao diện
Quy tắc số một khi sử dụng công cụ là cung cấp cho Claude các ví dụ về cách sử dụng chúng. Với các mô hình mới nhất của chúng tôi, chúng tôi nhận thấy rằng việc đưa ra ví dụ thực tế lại giới hạn chúng trong một không gian khám phá nhất định.

Thay vì sử dụng ví dụ, hãy suy nghĩ nhiều hơn về thiết kế các công cụ, tập lệnh và tệp của bạn — Claude có những tham số nào và làm thế nào để chúng có thể biểu đạt tốt hơn?
Ví dụ, trong công cụ Todo, việc chỉ liệt kê trạng thái dưới dạng liệt kê (enumeration) giữa pending (đang chờ), in_progress (đang thực hiện) và completed (đã hoàn thành) sẽ gợi ý cho Claude cách sử dụng nó. Hướng dẫn về việc chỉ giữ một mục ở trạng thái in_progress giúp xác định hành vi mà chúng tôi mong muốn.
Trước đây: Đưa tất cả thông tin lên đầu
Hiện nay: Sử dụng tiết lộ lũy tiến (progressive disclosure)
Vì Claude Code tập trung vào việc lập trình, system prompt của chúng tôi bao gồm thông tin chi tiết về cách thực hiện đánh giá và kiểm chứng mã nguồn. Những thông tin này không phải lúc nào cũng cần thiết, nhưng khi cần, đó lại là thông tin quan trọng.
Kể từ đó, Claude Code đã trở nên rất thành thạo trong việc sử dụng tiết lộ lũy tiến — tải đúng ngữ cảnh vào đúng thời điểm. Ví dụ, chúng tôi đã chuyển việc kiểm chứng và đánh giá mã nguồn thành các kỹ năng riêng biệt mà Claude Code có thể chọn lọc để gọi ra.
Nhưng tiết lộ lũy tiến không chỉ dành cho các kỹ năng, chúng tôi còn sử dụng nó cho các công cụ. Một số công cụ của chúng tôi là "tải chậm" (deferred loading), nghĩa là tác nhân (agent) phải tìm kiếm định nghĩa đầy đủ của chúng bằng ToolSearch trước khi sử dụng. Điều này cho phép chúng tôi có nhiều công cụ hơn (như các công cụ Task) mà không chiếm dụng ngữ cảnh cho đến khi cần thiết.
Điều tương tự có thể áp dụng cho các tệp CLAUDE.md và Skill.md của riêng bạn. Một quan niệm sai lầm phổ biến là bạn muốn biến chúng thành kho lưu trữ trung tâm cho mọi phương pháp thực hành mà bạn có thể gặp phải, vì nếu không, Claude sẽ không tìm thấy. Thay vào đó, hãy cân nhắc việc tạo một cây tệp có thể được tải vào đúng thời điểm.
Trước đây: Lặp lại chính mình
Hiện nay: Mô tả công cụ đơn giản
Các mô hình Claude trước đây đôi khi cần các hướng dẫn lặp đi lặp lại hoặc có xu hướng lắng nghe các hướng dẫn ở cuối cửa sổ ngữ cảnh hơn là ở phần đầu. Điều này có nghĩa là system prompt của chúng tôi đôi khi phải tham chiếu đến các công cụ trong system prompt chính cũng như các hướng dẫn trong phần mô tả công cụ.
Chúng tôi nhận thấy rằng mình có thể xóa các ví dụ lặp lại này và đưa các hướng dẫn về cách sử dụng công cụ vào phần mô tả công cụ thay vì trong system prompt.
Trước đây: Bộ nhớ trong các tệp CLAUDE.md
Hiện nay: Tự động ghi nhớ (Auto-memory)
Chúng tôi từng khuyến khích người dùng lưu thông tin vào bộ nhớ của Claude bằng cách sử dụng phím tắt # để tự động ghi vào tệp CLAUDE.md của họ. Thay vào đó, giờ đây Claude tự động lưu lại những thông tin liên quan đến công việc và liên quan đến bạn.
Trước đây: Thông số kỹ thuật đơn giản
Hiện nay: Tham chiếu phong phú
Ở chế độ lập kế hoạch (plan mode), Claude Code đã dựa rất nhiều vào các tệp markdown chứa kế hoạch. Việc lưu trữ các tệp này dưới dạng kế hoạch giúp Claude tham chiếu đến chúng khi cần. Một phương pháp thực hành tốt khác tương tự là lưu trữ các thông số kỹ thuật (specs) trong cơ sở mã nguồn để Claude tham chiếu trong khi làm việc với các dự án dài hơi hơn.
Nhưng chúng tôi nhận thấy rằng Claude có thể xử lý các tham chiếu ngày càng phức tạp hơn. Thay vì các tệp markdown đơn giản, Claude có thể tham chiếu đến các HTML artifacts được tạo bởi tính năng artifacts mới của chúng tôi.
Bạn cũng có thể cung cấp cho Claude các tham chiếu dưới dạng mã nguồn. Một thông số kỹ thuật cũng có thể là một bộ kiểm thử (test suite) chi tiết, hoặc một hàm trong một cơ sở mã nguồn khác mà Claude có thể chuyển đổi sang.
Rubric (bảng tiêu chí đánh giá) là một dạng tham chiếu khác. Rubric cho phép Claude thử nghiệm và kiểm chứng "gu" của bạn trong một lĩnh vực cụ thể (ví dụ: thiết kế API tốt trông như thế nào) bằng cách sử dụng các quy trình làm việc linh hoạt và khởi chạy các tác nhân kiểm chứng với các rubric đó.
Áp dụng điều này vào ngữ cảnh của bạn
Tổng hợp lại tất cả những điều này, khi bạn xây dựng ngữ cảnh của mình, mọi thứ sẽ trông như thế nào?

System Prompt
Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.