Kỹ Thuật "Diagnosing Superpowers": Cấp Quyền Tự Chẩn Đoán Khi AI Agent Bị "Ảo Giác" Và Mất Kiểm Soát
Trong quá trình sử dụng các công cụ AI CLI (như Claude Code) hoặc các AI IDE (như Cursor), một phiên làm việc kéo dài rất dễ dẫn đến hiện tượng "suy sụp nhận thức" (cognitive collapse) ở AI. Khi Context Window bị lấp đầy bởi các đoạn code nháp, log lỗi và những lần thử sai, AI bắt đầu có biểu hiện "ảo giác" (hallucinate): tự bịa ra thư viện, quên mất kiến trúc đã chốt, hoặc rơi vào vòng lặp sửa lỗi vô tận (sửa lỗi A sinh ra lỗi B, sửa lỗi B lại quay về lỗi A).
Thay vì xóa toàn bộ phiên làm việc và làm lại từ đầu một cách chán nản, bạn có thể trang bị cho AI "siêu năng lực tự chẩn đoán" (Diagnosing Superpowers). Kỹ thuật này buộc AI phải thoát khỏi vai trò "người viết code", chuyển sang vai trò "bác sĩ" để khám bệnh cho chính bộ nhớ và luồng tư duy của nó.
Dưới đây là cẩm nang xử lý sự cố Agent ngay trong phiên làm việc.
1. Dấu Hiệu Nhận Biết Agent Đang "Ngộ Độc Context"
Đừng đợi đến khi toàn bộ source code nát bươm mới can thiệp. Hãy bắt mạch Agent ngay khi xuất hiện các triệu chứng sau:
-
Vòng lặp vô tận (Infinite Looping): AI liên tục thay đổi qua lại giữa 2 cách implement mà test vẫn đỏ. Nó đang không hiểu nguyên nhân gốc rễ mà chỉ đang random code.
-
Amnesia (Mất trí nhớ cục bộ): AI bắt đầu sử dụng các cú pháp cũ hoặc thư viện mà bạn đã cấm sử dụng ở đầu phiên (ví dụ: dùng
requiretrong project đã thống nhất dùng ES Modules). -
Tự tin mù quáng: AI báo cáo "Đã sửa xong" nhưng thực tế nó chỉ bọc đoạn code lỗi bằng một khối
try/catchrỗng và phớt lờ exception.
2. Quy Trình 3 Bước Tự Chẩn Đoán (Self-Diagnosis Protocol)
Khi nhận thấy các dấu hiệu trên, hãy lập tức cắt đứt luồng suy nghĩ của AI bằng một quy trình rà soát khẩn cấp.
Bước 1: The "Halt & Reflect" Command (Lệnh Dừng Và Hồi Tưởng)
Tuyệt đối cấm AI sinh thêm code. Bạn phải ra lệnh cho nó đọc lại lịch sử giao tiếp để tự nhận thức sự sai lệch.
Prompt Can Thiệp Khẩn Cấp:
🛑 DỪNG LẠI HOÀN TOÀN. Không được phép viết thêm bất kỳ dòng code nào. Hiện tại, bạn đang rơi vào vòng lặp sửa lỗi và làm cấu trúc code tệ đi. Hãy thoát khỏi vai trò Coder. Trở thành một System Auditor và thực hiện lệnh này:
Đọc lại 5 lượt hội thoại vừa qua.
Tóm tắt lại: Mục tiêu ban đầu của chúng ta là gì?
Thừa nhận sai lầm: Bạn đã đi chệch hướng ở quyết định nào dẫn đến mớ bòng bong hiện tại?
Kết quả kỳ vọng: AI sẽ ngừng output code, lấy lại sự tập trung và phân tích lại: "Mục tiêu ban đầu là thêm Redis Cache, nhưng tôi đã đi chệch hướng khi cố gắng sửa lại toàn bộ Type Interface của Database thay vì chỉ wrap logic cache."
Bước 2: State Inspection (Quét Trạng Thái Mã Nguồn Thực Tế)
AI thường bị lạc trong những gì nó nghĩ là nó đã làm, khác với những gì đang thực sự nằm trên ổ cứng. Hãy yêu cầu AI dùng các công cụ CLI để đối chiếu thực tế.
Prompt Yêu Cầu Thu Thập Bằng Chứng:
"Bây giờ, hãy đánh giá mức độ sát thương. Tự động chạy các lệnh sau trong terminal và đọc kết quả:
git statusvàgit diffđể xem chính xác bạn đã sửa những file nào.
npm run lint(hoặcgolangci-lint run) để xem có bao nhiêu convention bị phá vỡ. Liệt kê các file đang bị sửa sai logic so với kiến trúc chuẩn."
Bước 3: The Surgical Rollback (Phẫu Thuật Phục Hồi)
Sau khi AI đã nhận thức được sai lầm và thấy rõ đống lộn xộn qua git diff, thay vì để nó tự "chữa cháy" (có nguy cơ làm nát thêm), hãy yêu cầu một kế hoạch rollback có kiểm soát.
Prompt Yêu Cầu Kế Hoạch Khắc Phục:
"Đã rõ. Bây giờ chúng ta sẽ khôi phục lại trật tự.
Đề xuất một lệnh
git checkouthoặcgit restoređể reset lại các file không cần thiết bị bạn sửa nhầm.Giữ lại duy nhất 1 file trọng tâm.
Lập ra một Writing Plan 3 bước mới tinh để làm lại tính năng này từ đầu, bỏ qua cách tiếp cận sai lầm ban đầu. Hãy in ra kế hoạch, đợi tôi phê duyệt rồi mới thực thi."
3. Bí Kíp Tránh Lặp Lại Khủng Hoảng (Prevention)
Để không phải liên tục "chữa cháy" cho Agent, bạn cần áp dụng các kỷ luật quản lý Context:
-
Atomic Commits (Commit siêu nhỏ): Mỗi khi Agent hoàn thành 1 task nhỏ trong Writing Plan và test Xanh, hãy
git commitngay lập tức. Nếu task sau Agent bị "ảo giác", bạn chỉ việcgit reset --hardtrong 1 giây thay vì đi gỡ rối luồng tư duy dài 2 tiếng. -
Clear Context (Reset bộ nhớ định kỳ): Trong Claude Code, sử dụng lệnh
/clearsau khi hoàn thành một cụm tính năng lớn. Bắt đầu một luồng chat mới với một prompt khởi tạo sạch sẽ, nạp lại đúng những file cần thiết cho cụm tính năng tiếp theo. Đừng tiếc luồng chat cũ. -
Tạo file
.cursorruleshoặccontext.md: Khai báo các rule bất di bất dịch của dự án (ví dụ: "Luôn dùng Repository Pattern", "Không bao giờ dùng any trong TypeScript"). Các AI Tool sẽ đọc file này như một kim chỉ nam, giúp chúng giảm thiểu tỷ lệ đi chệch hướng khi Context bị quá tải.
Việc cấp quyền "tự chẩn đoán" biến AI từ một cái máy in code ngốc nghếch thành một đối tác có khả năng tự nhận thức giới hạn, biết dừng lại khi bế tắc và biết cách tự dọn dẹp "bãi rác" do chính mình tạo ra.
All rights reserved