Kỹ Thuật Ngữ Cảnh
Trong bài viết trước về "Lập Trình AI: Từ Lập Trình Vibe Đến Chuyên Nghiệp", tôi đã đề cập đến Quản Lý Ngữ Cảnh như Thực Hành Tốt Nhất #6 trong hành trình trở thành một người điều phối AI. Nhưng đó chỉ là cái nhìn tổng quan – một cái nhìn tổng quát về tầm quan trọng của quản lý ngữ cảnh.
Bài viết hôm nay sẽ đi sâu vào chủ đề này. Tôi sẽ chia sẻ một khung làm việc cụ thể, có thể áp dụng ngay để bạn có thể thật sự làm chủ Kỹ Thuật Ngữ Cảnh – nghệ thuật xây dựng một "bộ não tập thể" cho AI.
Kỹ Thuật Ngữ Cảnh không chỉ đơn thuần là cung cấp thông tin cho AI. Đây là một cách tiếp cận có hệ thống để xây dựng một môi trường mà AI luôn nhận được thông tin đúng lúc, đúng chỗ, để hoàn thành nhiệm vụ một cách hiệu quả nhất. Hãy tưởng tượng: thay vì phải "tóm tắt" cho AI từ đầu mỗi lần, bạn tạo ra một hệ thống mà AI tự động biết phải làm gì, theo quy trình nào, và theo tiêu chuẩn nào.
Đây chính là sự khác biệt giữa việc "đi theo dòng chảy với AI" và "điều phối AI" – giữa Lập Trình Vibe và Người Điều Phối AI.
Khung làm việc này không phải là viên đạn bạc cho mọi loại dự án, nhưng tôi đã thử nghiệm nó trên một số "dự án cuối tuần", vì vậy tôi có thể nói chắc chắn rằng nó sẽ giúp ích cho các dự án nhỏ (dưới 20MD nếu thực hiện bằng con người), và các môi trường thử nghiệm đủ đơn giản để các tác nhân có thể tự động hóa với bộ kiểm thử.
Vì vậy, nếu bạn có những sở thích tương tự như tôi, hãy tiếp tục.
Lập Trình Vibe và Kỹ Thuật Ngữ Cảnh
Một trong những dự án cuối tuần của tôi là xây dựng một máy chủ MCP cho Confluence Data Center với 11 công cụ. Một dự án đủ nhỏ để thử nghiệm khả năng lập trình AI.
Khi vẫn là "Lập Trình Vibe"
Tôi đã lao vào ngay với phong cách "không có kế hoạch". Mở Claude và bắt đầu:
Tôi: "Chào Claude, tôi cần xây dựng một máy chủ MCP cho Confluence DC, với 11 công cụ."
Claude: "Tuyệt! Bạn có thể cho tôi biết cụ thể 11 công cụ đó là gì không?"
Tôi: "À... có createPage, getPage... ừm... để tôi nhớ lại..."
Giá phải trả là rất đắt: 5 ngày trôi qua, chỉ hoàn thành 4/11 công cụ, mã nguồn đầy "nợ kỹ thuật", và mỗi ngày tôi phải dành hàng giờ chỉ để "tóm tắt" cho AI. Căng thẳng tăng cao, sự tự tin xuống đáy.
Chậm lại với "Kỹ Thuật Ngữ Cảnh"
Thất vọng nhưng không bỏ cuộc, tôi quyết định thử lại. Lần này, thay vì vội vàng lập trình, tôi đã dành 2 giờ đầu tiên để xây dựng một "bộ não" cho AI thông qua một hệ thống tài liệu:
docs/
├── 00_context/ # Bộ Nhớ Dài Hạn của AI
│ ├── requirements.md # Mục tiêu kinh doanh, tiêu chí thành công
│ ├── implementation-guide.md # Kiến trúc kỹ thuật, mẫu mã
│ └── reference.md # Tài liệu tham khảo bổ sung
├── 01_plan/ # Quản lý Dự án
│ └── project-roadmap.md # Thời gian, trạng thái hiện tại, các sprint
└── 02_implement/ # Thực hiện Sprint
├── sprint-1.md # Phân tích nhiệm vụ chi tiết
├── sprint-2.md # Theo dõi tiến độ hàng ngày
└── sprint-3.md # Tiêu chí chấp nhận
Và đây là cách mà phiên làm việc mới của tôi bắt đầu:
Tôi: "Chào, chúng ta bắt đầu dự án máy chủ MCP. Đầu tiên, hãy đọc tất cả tài liệu trong
docs/để hiểu ngữ cảnh."Claude: "Tôi đã đọc và hiểu rõ. Theo
project-roadmap.md, chúng ta sẽ bắt đầu với Sprint 1. Dựa trênimplementation-guide.md, tôi sẽ sử dụng mô hình khách hàng API đơn... Chúng ta bắt đầu nhé?"
Thật kỳ diệu. Chỉ trong 3 ngày, tôi không chỉ hoàn thành 11/11 công cụ với chất lượng sẵn sàng sản xuất mà còn xuất bản nó dưới dạng một gói npm.
Phép màu đó được gọi là quy trình – điều mà các Lập Trình Vibe thường quên. Tiếp theo là nội dung đầy đủ của khung làm việc mà bạn có thể lấy và thử ngay lập tức.
3 Bước Để Kỹ Thuật Ngữ Cảnh
Thật tuyệt khi bạn chưa từ bỏ.
Bắt đầu như thế nào bây giờ? Đơn giản hơn bạn nghĩ nhiều. Dưới đây là 3 bước cho bạn:
Bước 1: Xây Dựng Bộ Nhớ Dài Hạn của AI
Đừng làm mọi thứ một mình! Hãy để AI xây dựng ngữ cảnh cho chính nó.
- Tạo
requirements.md: Sử dụng một AI tư duy để đóng vai trò Quản lý Sản phẩm. Hãy cùng nhau động não để tạo ra các yêu cầu chi tiết. Bạn có thể tham khảo quy trình mà tôi đã chia sẻ trong bài viết Tối Ưu Hóa Viết Yêu Cầu Với AI. - Hoàn thiện các tài liệu còn lại: Khi bạn có
requirements.mdphù hợp, hãy giao chúng cho một AI Tìm Kiếm Internet. Nó sẽ nhanh chóng gợi ý kiến trúc, mẫu mã và tạo các tài liệu kỹ thuật còn lại cho bạn.
Bước 2: Thiết Lập Quy Tắc cho AI
Đây là lúc bạn đưa cho AI một "sổ tay quy tắc hành vi". Tạo một tệp quy tắc cơ bản trong dự án của bạn (tùy thuộc vào tác nhân bạn sử dụng, tệp sẽ được đặt tên là CLAUDE.md hoặc clinerules.md).
Trong tệp này, bạn sẽ xác định mọi thứ, từ Quy Trình Khởi Động (những gì AI phải làm khi bắt đầu một phiên), Vòng Đời Nhiệm Vụ (vòng đời của một nhiệm vụ từ bắt đầu đến hoàn thành), Cổng Chất Lượng (các điều kiện để được coi là "hoàn thành"), đến Quy Tắc Tài Liệu. Đây là "sổ tay" giúp AI hành xử như một kỹ sư có kỷ luật thay vì như một thực tập sinh lúng túng.
Hãy hình dung bộ quy tắc này như sau:
Dưới đây là nội dung chi tiết mà bạn có thể sao chép và dán vào CLAUDE.md hoặc clinerules.md, tùy thuộc vào tác nhân của bạn:
### Quy Trình Khởi Động (Mỗi Phiên)
1. Kiểm tra thiết lập dự án.
2. **Đọc `docs/01_plan/project-roadmap.md`** - Để hiểu trạng thái dự án và trọng tâm hiện tại.
3. **Tham khảo tài liệu ngữ cảnh** - `requirements.md`, `implementation-guide.md` khi cần thiết.
### Quy Trình Quản Lý Nhiệm Vụ
Vòng Đời Nhiệm Vụ:
1. Xác định nhiệm vụ: Từ sprint hiện tại hoặc yêu cầu của người dùng.
2. Chế độ tập trung: Làm việc trên một nhiệm vụ tại một thời điểm, không nhảy quanh.
3. Thực hiện tính năng: Thực hiện mã với xử lý lỗi phù hợp.
4. Cập nhật bộ kiểm thử: BẮT BUỘC - Cập nhật bộ kiểm thử cho mỗi tính năng mới.
5. Xác thực chất lượng: Tất cả các bài kiểm tra phải THÀNH CÔNG trước khi đánh dấu một nhiệm vụ là hoàn thành.
6. Cập nhật tiến độ: Cập nhật tài liệu sprint chỉ khi TẤT CẢ CÁC BÀI KIỂM TRA THÀNH CÔNG.
7. Cam kết sạch sẽ: Sử dụng thông điệp cam kết rõ ràng theo quy tắc.
8. Cập nhật trạng thái: Cập nhật tài liệu sprint và `project_roadmap.md`.
Cổng Chất Lượng:
- Mã biên dịch: Quy trình biên dịch phải thành công.
- Bộ Kiểm Thử: Tất cả các bài kiểm tra tự động (kết nối + chức năng) phải THÀNH CÔNG.
- Không có hồi quy: Chức năng hiện có không được bị hỏng.
- Không có rò rỉ token: Không cam kết dữ liệu nhạy cảm.
- Tài liệu: Cập nhật tài liệu với kết quả kiểm tra.
Yêu Cầu Kiểm Thử:
- Mỗi tính năng mới yêu cầu các bài kiểm thử tương ứng.
- Các bài kiểm thử phải THÀNH CÔNG trước khi một nhiệm vụ sprint có thể được hoàn thành.
- Bộ kiểm thử phải được duy trì và cập nhật liên tục.
### Vai Trò của Nhóm Tài Liệu
**`00_context/` - Nền Tảng Kỹ Thuật (KHÔNG SỬA ĐỔI NẾU KHÔNG CÓ CHẤP THUẬN RÕ RÀNG)**:
- `requirements.md`: Các yêu cầu kinh doanh, phạm vi dự án, tiêu chí thành công.
- `implementation-guide.md`: Kiến trúc kỹ thuật, mẫu mã, cấu trúc khách hàng API.
- `confluence-tools-reference.md`: Tài liệu tham khảo hoàn chỉnh cho việc ánh xạ công cụ đến điểm cuối API.
**`01_plan/` - Quản Lý Dự Án**:
- `project-roadmap.md`: Thời gian dự án, trạng thái hiện tại, tiến độ sprint, các hành động tiếp theo.
**`02_implement/` - Thực Hiện Sprint (CẬP NHẬT HÀNG NGÀY)**:
- `sprint-X-*.md`: Phân tích nhiệm vụ chi tiết, tiêu chí chấp nhận, theo dõi tiến độ hàng ngày.
### Quy Tắc Tài Liệu
Quy Tắc Cập Nhật:
project_roadmap.md: Cập nhật cho tiến bộ lớn, hoàn thành giai đoạn, trạng thái hiện tại.
sprint_*.md: Cập nhật cho tiến độ hàng ngày, hoàn thành nhiệm vụ.
00_context/: Không bao giờ cập nhật mà không có sự chấp thuận rõ ràng (các yêu cầu, kiến trúc, thông số API).
Nguyên Tắc Bảo Trì:
- TRÁNH TRÙNG LẶP: Liên kết thay vì lặp lại thông tin.
- GIỮ NGẮN GỌN: Tài liệu tổng quan ngắn gọn, chi tiết trong các tài liệu cụ thể.
- NGUỒN THÔNG TIN DUY NHẤT: Mỗi mảnh thông tin sống ở một nơi.
- THAM KHẢO CHÉO: Sử dụng liên kết để kết nối thông tin liên quan.
- TRẠNG THÁI ĐẦU TIÊN: Luôn hiển thị trạng thái hiện tại một cách rõ ràng.
Phong Cách Viết:
- Ngắn gọn và có thể hành động.
- Sử dụng chỉ số trạng thái: Chưa Bắt Đầu, Đang Tiến Hành, Đã Hoàn Thành, Bị Chặn.
- Bao gồm ước lượng thời gian và thời gian thực tế đã tiêu tốn.
- Liên kết tài liệu liên quan thay vì lặp lại nội dung.
Luồng Tài Liệu: `project_roadmap.md` → `sprint_*.md` → chi tiết cụ thể.
Không bao giờ đưa danh sách nhiệm vụ chi tiết vào tài liệu tổng quan.
Bước 3: Không có Bước 3
Chỉ vậy thôi, hãy yêu cầu tác nhân:
"Bạn biết phải làm gì."
Và sau đó, ngồi xuống, nhâm nhi cà phê của bạn và xem phép màu. AI sẽ tự động đọc lộ trình, xác định nhiệm vụ tiếp theo và bắt đầu thực hiện theo quy trình bạn đã thiết lập.
Kết Luận
Và đó là tất cả. 3 bước đơn giản (thực ra chỉ 2), nhưng hiệu quả rất lớn.
Khung làm việc này không phải là điều gì thần thánh sẽ giải quyết mọi vấn đề. Nó chỉ đặc biệt hiệu quả cho các dự án nhỏ với bộ kiểm thử rõ ràng, và khi bạn có thời gian để đầu tư vào việc thiết lập ngữ cảnh ban đầu.
Nhưng khi nó hoạt động, nó thật sự hiệu quả.
Với nhiều "dự án cuối tuần", kết quả tôi nhận được luôn nhất quán: AI không còn "lạc lối", chất lượng mã ổn định, và quan trọng nhất, tôi không căng thẳng về việc mất kiểm soát.
Đây chính là sự khác biệt giữa Lập Trình Vibe và Người Điều Phối AI.
Lập Trình Vibe chỉ đưa ra yêu cầu và hy vọng. Người Điều Phối AI tạo ra một hệ sinh thái để AI hoạt động hiệu quả.
Nếu bạn đã theo sát hành trình từ bài viết trước - từ Lập Trình Vibe đến quy trình có kỷ luật - thì Kỹ Thuật Ngữ Cảnh là mảnh ghép cuối cùng. Nó biến các Thực Hành Tốt Nhất lý thuyết thành một quy trình cụ thể, có thể lặp lại.
Giờ đây, bạn đã có đủ công cụ để không chỉ "đi theo dòng chảy với AI" mà thật sự "điều phối AI".
Chúc bạn thành công với dự án cuối tuần tiếp theo!