Các kỹ sư tại Anthropic đang hợp nhất lượng code mỗi ngày nhiều gấp 8 lần so với một năm trước. Mô hình không thay đổi. Phần cứng không thay đổi. Quy mô đội ngũ không thay đổi. Điều thay đổi chính là những gì Claude nhìn thấy trước khi bắt đầu làm việc.
Hầu hết các lập trình viên dành thời gian để viết các câu lệnh (prompt) tốt hơn. Các kỹ sư tại Anthropic dành thời gian để xây dựng ngữ cảnh (context) tốt hơn. Sự thay đổi đó chính là nguyên nhân tạo ra khoảng cách hiệu suất gấp 8 lần.
Nghiên cứu của chính Anthropic đã chỉ ra trực tiếp điều này: chất lượng của một tác nhân AI (AI agent) được quyết định ít hơn bởi mô hình và nhiều hơn bởi ngữ cảnh mà bạn cung cấp cho nó. Claude chỉ nhìn thấy những gì nằm trong cửa sổ ngữ cảnh. Mọi thứ bên ngoài cửa sổ đó đều không tồn tại. Điều này có nghĩa là toàn bộ công việc của một kỹ sư AI chuyên nghiệp không phải là viết những câu lệnh khéo léo - mà là đảm bảo Claude có chính xác thông tin cần thiết trước khi thực hiện bất kỳ hành động nào.
Kỷ luật đó hiện đã có tên gọi. Kỹ thuật ngữ cảnh (Context engineering). Và nó đang thay thế kỹ thuật câu lệnh (prompt engineering) giống như cách mà prompt engineering đã thay thế việc viết mã thủ công hai năm trước.
Hãy đánh dấu bài viết này và theo dõi
Tôi là Noisy, một lập trình viên với 4 năm kinh nghiệm. Tôi xây dựng các hệ thống AI, các quy trình tự động hóa và tìm cách biến công nghệ thành thu nhập thực tế.
Tại sao tác nhân AI của bạn đưa ra câu trả lời tệ
Hầu hết mọi người đổ lỗi cho mô hình khi một tác nhân AI thất bại. Chỉnh sửa sai tệp. Đưa ra giả định sai. Những lỗi hiển nhiên mà bất kỳ lập trình viên nào cũng có thể nhận ra.
Mô hình hầu như không bao giờ là vấn đề. Vấn đề nằm ở việc thiếu ngữ cảnh.
1Những gì hầu hết mọi người cung cấp cho Claude | một câu lệnh (prompt)2Những gì Claude thực sự cần | kiến thức, bộ nhớ, tệp tin,3 | quy tắc, ví dụ, công cụ,4 | trạng thái, các hành động trước đó
Một câu lệnh chỉ là một câu văn. Ngữ cảnh là toàn bộ môi trường thông tin mà Claude vận hành trong đó. Sự khác biệt giữa một tác nhân hoạt động hiệu quả và một tác nhân không hiệu quả hầu như luôn nằm ở những gì có trong môi trường đó - chứ không phải mô hình nào đang chạy.
Anthropic mô tả điều này như sau: LLM chỉ nhìn thấy những gì có trong cửa sổ ngữ cảnh. Ngữ cảnh chính là hệ điều hành cho AI. Xây dựng nó sai cách thì sẽ chẳng có gì hoạt động được, bất kể mô hình có năng lực đến đâu.
Ngữ cảnh thực sự là gì
Hầu hết mọi người nghĩ ngữ cảnh có nghĩa là văn bản họ dán trước câu hỏi. Đó chỉ là một lớp. Một ngữ cảnh được thiết kế đúng cách có bảy thành phần hoạt động cùng nhau.
1Bộ nhớ (Memory) | những gì tác nhân biết từ các phiên làm việc trước2Hướng dẫn (Instructions) | quy tắc, ràng buộc, phong cách viết code3Ví dụ (Examples) | kết quả đầu ra tốt thực sự trông như thế nào4Tệp tin (Files) | code, tài liệu, kiến trúc liên quan5Hành động trước đó | những gì tác nhân đã thử thực hiện6Kết quả công cụ | những gì các tìm kiếm và hàm đã trả về7Trạng thái (State) | nơi tác vụ đang đứng ở thời điểm hiện tại
Mỗi khi Claude thực hiện một hành động, ngữ cảnh lại tăng lên. Kết quả công cụ trả về. Các tệp mới được đọc. Trạng thái được cập nhật. Claude nhìn thấy ngữ cảnh mới và quyết định hành động tiếp theo. Chu kỳ này chính là cơ chế thực sự của một tác nhân - không phải câu lệnh, không phải mô hình, mà là ngữ cảnh tiến hóa theo từng bước.
1Yêu cầu của người dùng2↓3Ngữ cảnh được xây dựng từ tất cả bảy thành phần4↓5Claude quyết định hành động6↓7Công cụ thực thi8↓9Kết quả được thêm vào ngữ cảnh10↓11Claude nhìn thấy ngữ cảnh mới12↓13Hành động tiếp theo14↓15Lặp lại cho đến khi hoàn thành
Một tác nhân tồi sẽ phá vỡ chu kỳ này ở bước hai. Ngữ cảnh không đầy đủ nên Claude đưa ra các giả định. Các giả định sai nên kết quả đầu ra sai. Hầu hết các lập trình viên khắc phục điều này bằng cách viết lại câu lệnh. Cách khắc phục thực sự là xây dựng ngữ cảnh một cách chính xác.
Ngăn xếp ngữ cảnh ba lớp
Anthropic khuyến nghị nên suy nghĩ về ngữ cảnh theo ba lớp. Mỗi lớp phục vụ một mục đích khác nhau và được tải vào ở các thời điểm khác nhau trong quá trình làm việc của tác nhân.
1Ngữ cảnh toàn cục (Global) | luôn hiện diện, trong mọi phiên2Ngữ cảnh dự án (Project) | được tải khi bắt đầu dự án3Ngữ cảnh tác vụ (Task) | được tải cho tác vụ cụ thể
Ngữ cảnh toàn cục là lớp vĩnh viễn. Danh tính, các quy tắc cốt lõi, phong cách viết code, những gì tác nhân không bao giờ được làm. Điều này không bao giờ thay đổi giữa các phiên và không bao giờ cần phải giải thích lại.
1Ngữ cảnh toàn cục bao gồm:2- Danh tính và vai trò của tác nhân3- Tiêu chuẩn viết code và quy tắc phong cách4- Các ràng buộc bảo mật5- Những gì không bao giờ được chạm vào hoặc sửa đổi6- Cách xử lý sự không chắc chắn
Ngữ cảnh dự án là lớp kiến thức. Mọi thứ Claude cần để hiểu cơ sở mã (codebase) cụ thể này - kiến trúc, các mẫu được sử dụng, các quyết định đã đưa ra và lý do tại sao, những điều đã xảy ra sai sót trước đó.
1Ngữ cảnh dự án bao gồm:2- README và tổng quan kiến trúc3- AGENTS.md với các quy tắc dành riêng cho dự án4- Cấu trúc thư mục và quy ước đặt tên5- Các yêu cầu và mẫu kiểm thử (testing)6- Các phụ thuộc chính và lý do tại sao chúng được chọn
Ngữ cảnh tác vụ là lớp thực thi. Tệp cụ thể đang được xử lý, ticket hiện tại, mục tiêu trước mắt, các ràng buộc áp dụng cho chính tác vụ này.
1Ngữ cảnh tác vụ bao gồm:2- Tệp hiện tại và các tệp liên quan3- Mục tiêu cụ thể cho phiên này4- Các thay đổi gần đây và kết quả của chúng5- Kết quả kiểm thử hiện tại6- Các ràng buộc cụ thể cho tác vụ này
Hầu hết các lập trình viên chỉ cung cấp cho Claude ngữ cảnh tác vụ. Tác nhân bắt đầu mỗi phiên mà không có ngữ cảnh toàn cục hoặc dự án và phải đoán mọi thứ mà nó không biết. Những suy đoán đó chính là nơi phát sinh sai lầm.
AGENTS.md - tệp tin thay đổi mọi thứ
Tệp tin đơn lẻ quan trọng nhất trong bất kỳ thiết lập Claude Code nghiêm túc nào. Các nhà nghiên cứu đã xác định AGENTS.md là tiêu chuẩn mới cho ngữ cảnh của tác nhân lập trình AI - nó hiện đã có mặt trong hàng nghìn kho lưu trữ (repository) sản xuất vì nó thực sự hiệu quả.
AGENTS.md là nơi ngữ cảnh dự án tồn tại vĩnh viễn. Claude tự động đọc nó khi bắt đầu mỗi phiên. Sau đó, nó không bao giờ cần phải được nhắc lại bất kỳ điều gì trong số đó nữa.
1# AGENTS.md23## Kiến trúc4Monorepo với frontend Next.js và backend Express.5Tất cả các route API nằm trong /api. Không bao giờ sửa đổi trực tiếp /legacy.67## Quy tắc viết code8Không bao giờ sử dụng axios. Luôn sử dụng fetch.9Mọi component: TypeScript, Tailwind, Server Actions.10Không có export mặc định ngoại trừ các trang.1112## Kiểm thử (Testing)13Vitest cho unit test. Playwright cho E2E.14Chạy npm test trước mỗi lần commit.15Không bao giờ vô hiệu hóa một bài kiểm thử bị lỗi - hãy sửa nó hoặc báo cáo lên cấp trên.1617## Git18Không bao giờ commit trực tiếp vào main.19Luôn mở một PR với mô tả rõ ràng.20Liên kết mọi PR với một ticket Linear.2122## Không bao giờ chạm vào23src/payments/ - mọi thay đổi đều cần sự phê duyệt của con người24src/auth/tokens/ - yêu cầu đánh giá bảo mật25các tệp .env - không bao giờ đọc hoặc sửa đổi
Mỗi quy tắc trong tệp này là một sai lầm mà Claude sẽ không bao giờ mắc phải nữa. Dự án chạy càng lâu, AGENTS.md càng trở nên cụ thể và có giá trị - đó là kiến thức tích lũy từ mọi lỗi mà tác nhân đã mắc phải và mọi quy ước mà nhóm đã thiết lập.
Ngăn xếp ngữ cảnh hỗ trợ các tác nhân chuyên nghiệp
Các kỹ sư AI giỏi nhất không bắt đầu một tác vụ bằng cách viết câu lệnh. Họ xây dựng một ngăn xếp ngữ cảnh - một chuỗi thông tin có cấu trúc được tải trước khi Claude thực hiện bất kỳ hành động nào.
1Bước 1 | tải ngữ cảnh toàn cục - danh tính, quy tắc, phong cách2Bước 2 | tải ngữ cảnh dự án - AGENTS.md, kiến trúc, tài liệu3Bước 3 | tìm kiếm bộ nhớ về kinh nghiệm quá khứ liên quan4Bước 4 | tải các tệp liên quan cho tác vụ cụ thể này5Bước 5 | tải trạng thái hiện tại - kết quả kiểm thử, thay đổi gần đây6Bước 6 | xác định mục tiêu tác vụ với tiêu chí thành công rõ ràng7Bước 7 | Claude hành động với thông tin đầy đủ
Hãy so sánh một tác nhân được thiết kế ngữ cảnh tốt trông như thế nào so với mặc định:
1Tác nhân tồi:2Câu hỏi → Claude → Câu trả lời3Claude đoán mọi thứ nó không biết45Tác nhân tốt:6Câu hỏi7↓ tìm kiếm tài liệu8↓ tìm kiếm bộ nhớ9↓ đọc AGENTS.md10↓ đọc các tệp liên quan11↓ kiểm tra trạng thái hiện tại12↓ Claude13↓ Câu trả lời được xây dựng trên thông tin đầy đủ
Tác nhân thứ hai không thông minh hơn. Nó được cung cấp thông tin tốt hơn. Mô hình là như nhau. Ngữ cảnh thì không.
Bộ nhớ - ngữ cảnh tồn tại giữa các phiên làm việc
Anthropic phân biệt rõ ràng giữa các loại bộ nhớ cung cấp cho ngữ cảnh. Hầu hết các tác nhân chỉ có một - cuộc trò chuyện hiện tại. Đó là lý do tại sao chúng bắt đầu mỗi phiên từ con số không.
1Bộ nhớ dài hạn | mọi thứ đã học qua tất cả các phiên quá khứ2Bộ nhớ ngắn hạn | những gì đã xảy ra trước đó trong cuộc trò chuyện này3Bộ nhớ làm việc | những gì có trong cửa sổ ngữ cảnh ngay lúc này
Bộ nhớ dài hạn là thứ làm cho giá trị của một tác nhân tăng dần theo thời gian. Mỗi phiên đều thêm vào đó. Mỗi sai lầm đều được ghi lại. Mỗi mẫu thành công đều được lưu trữ. Tác nhân đã chạy trên một cơ sở mã trong sáu tháng biết những điều về dự án đó mà không câu lệnh nào có thể sao chép được.
Việc triển khai thực tế là một tệp bộ nhớ - một tài liệu markdown bên ngoài cuộc trò chuyện mà tác nhân đọc khi bắt đầu mỗi phiên và cập nhật khi kết thúc.
1# Bộ nhớ dự án23## Các quyết định kiến trúc4- Chọn Supabase thay vì Firebase: thời gian thực ít quan trọng hơn, cần các truy vấn SQL5- Chuyển từ REST sang tRPC: an toàn kiểu dữ liệu (type safety) trên toàn bộ stack, tháng 6 năm 202667## Những gì đã hiệu quả8- Độ bao phủ kiểm thử cao hơn trước khi tái cấu trúc giúp ngăn ngừa hồi quy (regression)9- Chia nhỏ các PR lớn thành các bản phát hành tính năng (feature flag) giúp giảm thời gian đánh giá1011## Những gì chưa hiệu quả12- Tự động tạo migration: lệch lược đồ (schema drift) gây ra sự cố sản xuất13- Tác nhân ghi song song vào cùng một tệp: luôn sử dụng worktree1415## Các mẫu lặp lại16- Các vấn đề xác thực (Auth) hầu như luôn bắt nguồn từ thứ tự middleware17- Các vấn đề hiệu suất thường bắt đầu ở lớp truy vấn cơ sở dữ liệu
Mỗi phiên tệp này đều được đọc. Mỗi phiên nó đều được cập nhật. Tác nhân không bao giờ quên.
MCP - ngữ cảnh từ mọi nơi
Ngữ cảnh không chỉ đến từ các tệp trong kho lưu trữ. Một tác nhân sản xuất cần ngữ cảnh từ mọi hệ thống mà nhóm làm việc - trình theo dõi vấn đề (issue tracker), trình giám sát lỗi, tài liệu, cơ sở dữ liệu, các công cụ giao tiếp.
Model Context Protocol (MCP) là cách Claude lấy ngữ cảnh từ các hệ thống bên ngoài mà không cần tích hợp tùy chỉnh cho từng hệ thống.
1Filesystem | tệp cục bộ, cấu hình, cơ sở mã2GitHub | các vấn đề, PR, lịch sử commit, kết quả CI3Linear / Jira | ticket, mức độ ưu tiên, trạng thái dự án4Slack | các quyết định đã đưa ra, ngữ cảnh từ các cuộc thảo luận5Postgres | dữ liệu trực tiếp, lược đồ, kết quả truy vấn6Google Drive | tài liệu, thông số kỹ thuật, ghi chú cuộc họp7Sentry | lỗi trực tiếp, tần suất, người dùng bị ảnh hưởng
Một tác nhân được cấu hình MCP không chỉ nhìn thấy code. Nó nhìn thấy ticket mô tả lý do tại sao tính năng này là cần thiết, cuộc trò chuyện trên Slack nơi kiến trúc được quyết định, lỗi Sentry cho thấy người dùng đang gặp lỗi như thế nào và lược đồ cơ sở dữ liệu mà bản sửa lỗi cần phải tuân thủ.
Đó là ngữ cảnh đầy đủ. Mọi thứ Claude cần để đưa ra quyết định đúng đắn mà không cần đoán mò.
Quy trình kỹ thuật ngữ cảnh

Đây là những gì một tác vụ được thiết kế ngữ cảnh đúng cách trông như thế nào từ đầu đến cuối.
Thay vì:
1Xây dựng tính năng xuất dữ liệu (export).
Bạn cung cấp cho Claude:
1Mục tiêu2Tính năng xuất dữ liệu đang chặn việc chuyển đổi từ miễn phí sang trả phí.3Xem tín hiệu: /signals/export-too-hidden.md45Các tệp liên quan6src/features/export/ - triển khai hiện tại7src/components/ui/Button.md - các mẫu nút để tuân theo8tests/features/export.test.ts - độ bao phủ kiểm thử hiện có910Ràng buộc kiến trúc11Đọc phần AGENTS.md: Quy tắc xuất dữ liệu12Không bao giờ sửa đổi trực tiếp tích hợp thanh toán1314Tiêu chí thành công15Tất cả các kiểm thử hiện có đều vượt qua16Các kiểm thử mới bao gồm ba định dạng xuất17Mở PR với ticket Linear EXP-47 được liên kết18Không có thay đổi nào đối với src/payments/
Cùng một tác vụ. Ngữ cảnh hoàn toàn khác. Kết quả đầu ra không chỉ tốt hơn một chút - mà nó khác biệt hoàn toàn vì Claude đang đưa ra quyết định với thông tin đầy đủ thay vì những suy đoán thông minh.
Thiết lập thực tế vào cuối tuần này
Ngày 1 - Xây dựng ngăn xếp ngữ cảnh ba lớp. Viết một tệp ngữ cảnh toàn cục với danh tính và các quy tắc cốt lõi. Tạo AGENTS.md với kiến trúc dự án, quy ước viết code và danh sách không bao giờ chạm vào của bạn. Thiết lập một tệp bộ nhớ tải khi bắt đầu phiên và cập nhật khi kết thúc phiên.
Ngày 2 - Kết nối ngữ cảnh bên ngoài thông qua MCP. Cài đặt trình kết nối GitHub để Claude nhìn thấy trình theo dõi vấn đề và lịch sử PR của bạn. Cài đặt trình kết nối filesystem để nó điều hướng cơ sở mã hiệu quả. Thêm Slack hoặc Linear nếu nhóm của bạn sử dụng chúng để đưa ra quyết định.
Ngày 3 - Kiểm tra sự khác biệt. Chạy cùng một tác vụ với phương pháp chỉ dùng câu lệnh cũ của bạn và với ngăn xếp ngữ cảnh đầy đủ. Khoảng cách về kết quả đầu ra chính là nơi tạo ra năng suất gấp 8 lần.
Sự thay đổi đã diễn ra
Kỹ thuật câu lệnh (Prompt engineering) là về việc tìm kiếm những từ ngữ phù hợp. Kỹ thuật ngữ cảnh (Context engineering) là về việc xây dựng môi trường thông tin phù hợp.

Các kỹ sư AI giỏi nhất tại Anthropic không dành thời gian để tạo ra các câu lệnh khéo léo. Họ dành thời gian để đảm bảo Claude có chính xác kiến thức, bộ nhớ, tệp tin, quy tắc và trạng thái phù hợp trước khi thực hiện bất kỳ hành động nào. Câu lệnh chỉ là 1% cuối cùng của công việc. Ngữ cảnh là 99% còn lại.
Một tác nhân với câu lệnh hoàn hảo nhưng ngữ cảnh kém sẽ mắc những sai lầm thông minh. Một tác nhân với câu lệnh trung bình nhưng ngữ cảnh đầy đủ sẽ đưa ra các quyết định chính xác. Mô hình là như nhau. Môi trường thông tin thì không.
Ngữ cảnh chính là hệ điều hành cho AI. Xây dựng nó đúng cách và khoảng cách hiệu suất gấp 8 lần sẽ không còn là điều chỉ xảy ra tại Anthropic mà sẽ trở thành điều xảy ra trong cơ sở mã của chính bạn.
Hầu hết các lập trình viên sẽ tiếp tục viết lại câu lệnh của họ và tự hỏi tại sao kết quả không cải thiện. Một vài người sẽ dành một ngày cuối tuần để xây dựng một ngăn xếp ngữ cảnh phù hợp và không bao giờ quay lại cách làm cũ.
**Bạn xây dựng cuộc đời của chính mình - vì vậy hãy chọn con đường đúng đắn.
/ Nếu bài viết này hữu ích - hãy theo dõi /**





