- Trên Claude Opus 5 và Claude Fable 5, giảm hơn 80% system prompt của Claude Code vẫn không gây suy giảm hiệu năng đo được trong các bài đánh giá lập trình
- Các quy tắc chi tiết từng giúp ngăn tình huống xấu nhất ở các mô hình trước đây có thể xung đột giữa system prompt, Skills, CLAUDE.md và yêu cầu người dùng, nên với mô hình mới nhất, tốt hơn là để chúng tận dụng ngữ cảnh xung quanh và phán đoán riêng
- Thay vì cung cấp trước toàn bộ chỉ dẫn và ví dụ công cụ, áp dụng progressive disclosure với giao diện giàu khả năng biểu đạt và chỉ nạp thông tin/công cụ khi cần
- Khuyến nghị trong CLAUDE.md chỉ ghi ngắn gọn các cạm bẫy của kho mã, tách hướng dẫn dài sang Skills, và tận dụng tài liệu tham chiếu phong phú như đặc tả, test suite, mô hình HTML, mã nguồn và rubric đánh giá
- Có thể điều chỉnh kích thước Skills và CLAUDE.md bằng
/doctorvàclaude doctor; ngữ cảnh cho các mô hình mới nhất nên được cấu trúc để giảm lặp lại và ràng buộc quá mức, đồng thời tìm thông tin liên quan khi cần
Kỹ thuật ngữ cảnh vượt ra ngoài prompt
- Khi Claude xử lý thông điệp, prompt của người dùng chỉ là một phần của toàn bộ ngữ cảnh; phần còn lại được ghép từ system prompt, Skills, CLAUDE.md, memory, v.v.
- Kỹ thuật ngữ cảnh áp dụng chung cho nhiều yêu cầu nên khó viết cụ thể như prompt riêng lẻ, nhưng có ảnh hưởng lớn đến kết quả của Claude Code và các agent tự xây dựng
- Cần thiết kế prompt và chỉ dẫn mang tính tổng quát trong khi chưa biết trước yêu cầu người dùng, và khi năng lực của Claude tiến bộ thì cách làm phù hợp cũng thay đổi
- Trên Claude Opus 5 và Claude Fable 5, xóa hơn 80% system prompt của Claude Code vẫn không gây suy giảm hiệu năng đo được trong đánh giá lập trình
- Best practice này đã được phản ánh trong
claude doctor, và trong Claude Code có thể dùng/doctorđể điều chỉnh Skills và CLAUDE.md về kích thước phù hợp
Giải phóng mô hình khỏi ràng buộc quá mức
- Claude Code trước đây không chỉ bị quá nhiều ràng buộc trong system prompt mà còn trong CLAUDE.md và Skills
- Trong một yêu cầu, các chỉ dẫn như “để lại tài liệu phù hợp” và “không thêm chú thích” có thể xung đột qua system prompt, Skills và yêu cầu người dùng
- Dù Claude có thể diễn giải ý định người dùng, các chỉ dẫn chồng chéo hoặc mâu thuẫn khiến nó phải suy nghĩ thận trọng hơn trước khi quyết định hành động
- Trước đây những ràng buộc như vậy cần thiết để tránh tình huống xấu nhất, nhưng với các mô hình mới nhất có thể xóa nhiều ràng buộc và để chúng tận dụng ngữ cảnh xung quanh và phán đoán riêng
- Các công cụ mà Claude Code có thể sử dụng cũng đã tăng lên
- Trước đây CLAUDE.md là nơi lưu trữ chính cho memory, thông tin và chỉ dẫn
- Hiện nay có thể nạp và chia sẻ ngữ cảnh giữa các phiên thông qua memory, artifacts và Skills
Dùng phán đoán theo ngữ cảnh thay vì quy tắc cố định
- Claude Code thời kỳ đầu có những chỉ dẫn mạnh, không phải lúc nào cũng phù hợp, để ngăn các tình huống tệ nhất như xóa file
- System prompt trước đây yêu cầu mặc định không viết chú thích trong mã, cấm docstring nhiều đoạn hoặc chú thích nhiều dòng, và không tạo tài liệu kế hoạch, ra quyết định hay phân tích nếu người dùng không yêu cầu
- Những quy tắc này có thể không phù hợp trong một số yêu cầu
- Người dùng có thể có sở thích tài liệu hóa riêng
- Một số phần cụ thể của mã phức tạp có thể cần chú thích nhiều dòng
- Các mô hình cũ thường viết chú thích sai nếu thiếu guardrail nên cần kiểu đánh đổi này, nhưng các mô hình mới nhất xử lý tốt hơn các quyết định liên quan ngay cả khi không có quy tắc tường minh
- System prompt mới dùng chỉ dẫn dựa trên ngữ cảnh như “viết mã sao cho đọc giống phần mã xung quanh, và khớp mật độ chú thích, cách đặt tên và thành ngữ”
Thiết kế giao diện giàu khả năng biểu đạt hơn là nhồi ví dụ
- Quy tắc cốt lõi trước đây cho việc dùng công cụ là cung cấp ví dụ sử dụng cho Claude
- Với các mô hình mới nhất, ví dụ có thể giới hạn không gian khám phá vào một khu vực cụ thể, nên cần ưu tiên tính biểu đạt của giao diện và tham số của công cụ, script và file
- Nếu định nghĩa
statuscủa công cụ Todo là enumpending,in_progress,completed, cách dùng sẽ được gợi ra một cách tự nhiên - Chỉ dẫn giữ đúng một mục ở trạng thái
in_progresssẽ cụ thể hóa hành vi mong muốn ở cấp độ giao diện
Progressive disclosure: mở thông tin đúng lúc cần
- Khi Claude Code còn tập trung vào lập trình, phương pháp review và xác minh mã từng được đưa chi tiết vào system prompt
- Thông tin này không phải lúc nào cũng cần, nhưng lại quan trọng trong một số tác vụ nhất định
- Hiện nay có thể dùng progressive disclosure để nạp ngữ cảnh phù hợp vào đúng thời điểm cần
- Chuyển chỉ dẫn xác minh và review mã sang các Skill riêng để Claude Code gọi có chọn lọc
- Một số công cụ được lazy-load, và agent phải tìm toàn bộ định nghĩa bằng
ToolSearchtrước khi dùng - Có thể cung cấp nhiều công cụ như Task mà vẫn không chiếm ngữ cảnh trước khi thật sự cần
- Không nhất thiết phải biến CLAUDE.md và Skill.md thành kho lưu trữ trung tâm cho mọi thực hành có thể có
- Thay vào đó có thể cấu trúc thành cây file được nạp khi cần; cách tiếp cận này cũng được nói tới trong harness quy trình động theo từng tác vụ
Hợp nhất chỉ dẫn lặp lại thành mô tả công cụ đơn giản
- Các mô hình Claude trước đây đôi khi cần lặp lại cùng một chỉ dẫn, và còn có xu hướng tuân theo chỉ dẫn ở cuối ngữ cảnh tốt hơn ở đầu
- Vì vậy cùng một chỉ dẫn hoặc ví dụ dùng công cụ được đặt cả trong phần thân system prompt lẫn mô tả công cụ
- Với các mô hình mới nhất, có thể xóa các ví dụ lặp lại và chỉ đặt cách dùng công cụ trong mô tả công cụ
Chuyển từ CLAUDE.md sang memory tự động
- Trước đây từng khuyến khích người dùng tự lưu memory của Claude bằng cách tự động ghi thông tin vào CLAUDE.md với phím tắt
# - Hiện nay Claude tự động ghi nhớ thông tin liên quan đến tác vụ và người dùng
Tài liệu tham chiếu phong phú vượt xa đặc tả đơn giản
- Claude Code ở chế độ lập kế hoạch từng phụ thuộc nhiều vào các file kế hoạch Markdown để tham chiếu lại khi cần, và trong các dự án dài hạn người ta cũng lưu đặc tả trong codebase
- Claude mới nhất có thể xử lý các tài liệu tham chiếu ở định dạng phức tạp hơn
- HTML artifact được tạo bằng tính năng artifacts mới
- Mã như các hàm có thể port từ codebase khác
- Đặc tả được thể hiện qua test suite chi tiết
- Rubric là một dạng tham chiếu khác giúp Claude thử và kiểm chứng các gu thẩm mỹ hoặc tiêu chí chất lượng trong một lĩnh vực cụ thể
- Có thể định nghĩa các tiêu chí như thế nào là thiết kế API tốt
- Có thể tạo agent xác minh dùng rubric đó thông qua quy trình động
Vai trò của từng thành phần ngữ cảnh
-
System prompt
- Gắn chặt với ngữ cảnh sản phẩm và cho Claude biết nó đang làm việc gì trong sản phẩm nào
- Người dùng Claude Code hầu như không cần chỉnh sửa, nhưng nếu tự xây agent harness thì đây là khu vực cần đầu tư nhiều thời gian
-
CLAUDE.md
- Nên giữ nhẹ, mô tả ngắn mục đích của kho mã, nhưng dùng phần lớn token để ghi lại các cạm bẫy cần chú ý trong codebase
- Những quy tắc của kho mã như đặt mọi type trong một file duy nhất là điều đáng để ghi lại
- Nên tránh các thông tin hiển nhiên mà Claude có thể tự biết khi xem hệ thống file hoặc kho mã
- Nếu có nhiều chỉ dẫn riêng cho việc xác minh tác vụ, hãy tạo Skill xác minh và tham chiếu từ CLAUDE.md để áp dụng progressive disclosure
-
Skills
- Nên được cấu trúc như hướng dẫn nhẹ giúp Claude tìm thông tin khi cần
- Trừ khi là lĩnh vực cực kỳ quan trọng, nên tránh ràng buộc quá mức
- Skill dài nên tách thành nhiều file để được nạp dần
- Hữu ích nhất khi chứa quan điểm, kiến thức và best practice đặc thù cho cá nhân, nhóm hoặc sản phẩm
-
Tài liệu tham chiếu
- Khi mention file bằng
@, Claude có thể kiểm tra thông tin chi tiết liên quan đến kế hoạch hiện tại - File đặc tả, mô hình, hay toàn bộ codebase đều có thể là tài liệu tham chiếu
- Mã thường nên được ưu tiên hơn file ở dạng code, vì nó cung cấp chỉ dẫn rõ ràng và trung thực bằng ngôn ngữ mà Claude hiểu rõ
- Mô hình thiết kế HTML thường cho kết quả tốt hơn mô tả thiết kế hoặc ảnh chụp màn hình
- Khi mention file bằng
Đơn giản hóa ngữ cảnh hiện có
- Cần đơn giản hóa ngữ cảnh bằng cách xóa các quy tắc, lặp lại và thông tin không cần thiết trong system prompt, Skills và CLAUDE.md
- Lệnh
claude doctortự động hỗ trợ công việc đơn giản hóa này - Có thể xem thêm cách viết prompt cho các mô hình nâng cao trong cẩm nang thực địa Claude Fable
Chưa có bình luận nào.