Kỹ năng cốt lõi của 2026 không phải là viết prompt giỏi hơn — mà là thiết kế cả một hệ thống biết tự tìm việc, tự làm, tự kiểm tra và tự quyết định bước tiếp theo, trong khi bạn chỉ giám sát.
Tài liệu dùng vài từ tiếng Anh đã thành "tên riêng" trong ngành. Chỉ cần nhớ nghĩa đơn giản:
Phần 1
Hai năm qua, mọi "kỹ thuật về AI" đều dạy bạn làm việc tốt hơn. Loop Engineering thì khác: nó kéo bạn ra khỏi vị trí người làm việc.
Người đặt tên và viết bài về khái niệm này là Addy Osmani (kỹ sư đội Google Chrome). Định nghĩa của ông rất ngắn:
Trọng tâm nằm ở chữ "thay thế chính mình". Đây là sự dịch chuyển về vị trí: từ người vận hành cỗ máy sang người thiết kế cỗ máy. Thứ bạn viết ra không còn là lời nói cho AI, mà là một thứ tự động gửi lời nói đến AI.
Tháng 6/2026, ba nhóm độc lập va vào cùng một ý tưởng gần như cùng lúc:
Một mồi lửa, một tiếng vọng, một cái tên — tất cả trong một tuần.
Không phải ngẫu nhiên. Các công cụ xung quanh vừa âm thầm vượt một ngưỡng:
Khi mọi mảnh ghép đã có, cách kết hợp chúng trở nên hiển nhiên với tất cả mọi người cùng lúc. Thực hành có trước, cái tên đến sau.
Phần 2
Các "kỹ thuật về AI" không thay thế nhau — chúng chồng lên nhau, mỗi tầng lo một thứ lớn hơn tầng dưới. Loop nằm ở tầng cao nhất, ngay trên Harness.
⬆ Càng lên cao, phạm vi quan tâm càng lớn: từ một câu → một cửa sổ → một lần chạy → một vòng lặp tự chạy.
Phần 3
Trước khi đi sâu vào cấu trúc, đây là lộ trình thực tế để tự định vị: từ nơi gần như ai cũng bắt đầu, đến nơi những người giỏi nhất đang làm việc. Bạn leo từng nấc một.
Nơi mọi người bắt đầu và phần lớn dừng lại. Mỗi lượt đều cần bạn. Trần cứng: tốc độ của bạn bị giới hạn bởi tốc độ gõ và đọc. Bạn chính là vòng lặp — mà người chạy vòng lặp thì chậm, dễ mệt, mỗi lúc chỉ làm một việc.
Bạn nhận ra: hầu hết việc thật là một chu trình, không phải một câu trả lời. Bạn chạy chu trình đó một cách có chủ đích: "giờ chạy thử", "giờ sửa lỗi đó", "giờ kiểm tra lại". Đây là vòng lặp thật đầu tiên — nhưng bạn vẫn là động cơ đẩy nó.
Bước nhảy kỹ năng thật sự đầu tiên. Thay vì "nhìn bằng mắt", bạn viết ra điều kiện thành công và để một bài kiểm tra thực thi nó: test đậu, mã sạch lỗi, kết quả khớp tiêu chí.
Vòng lặp tự chạy chính nó: đọc lỗi → truy nguyên → sửa → kiểm tra lại → lặp lại, mà không cần bạn lái từng lượt. Trong Claude Code, lệnh /goal chạy đến khi điều kiện bạn viết là đúng — và dùng một model riêng, nhanh hơn để chấm, thay vì tin lời AI làm việc.
Loop design trở thành thiết kế hệ thống. Bạn không còn vận hành một AI — bạn điều hành một tổ chức nhỏ gồm nhiều AI. Ba yếu tố:
CLAUDE.md hoặc một "skill"), nên sửa đổi đó tồn tại mãi trong mọi lần chạy sau./goal), và thêm rào chắn.Phần 4
Đừng hiểu "loop" là quay vòng vô nghĩa. Mỗi vòng làm 5 việc cụ thể. Bỏ bất kỳ bước nào, vòng lặp sẽ không quay — hoặc quay tại chỗ.
Mỗi sáng, một tự-động-hóa tự khởi chạy. Một "skill phân loại" đọc: các bài test bị lỗi hôm qua, các vấn đề còn mở, các thay đổi code gần đây — rồi ghi kết quả vào một file. Với mỗi việc đáng làm, nó mở một "không gian làm việc tách biệt": một AI con soạn bản sửa, một AI con khác soi lỗi bản sửa đó dựa trên test. Một "đầu nối" tự động tạo đề xuất thay đổi (PR) và cập nhật phiếu việc. Thứ gì nó không xử lý được sẽ đẩy vào hộp chờ cho con người. Một file trạng thái được giữ lại để hôm sau chạy tiếp từ chỗ dừng.
Không bước nào cần đến tay người — nhưng nó dừng đúng chỗ cần dừng để chờ con người.
| Bước | Nó làm gì | Trong vòng lặp phân loại | Ví dụ đời thường |
|---|---|---|---|
| 🔍 Discovery Tự tìm việc | Tự tìm ra việc của vòng này, thay vì được giao sẵn danh sách | Skill đọc test lỗi / vấn đề / thay đổi code | Trợ lý tự rà email & lịch xem hôm nay cần làm gì |
| 📤 Handoff Giao việc tách biệt | Chuyển việc cho AI làm, mỗi việc một không gian riêng | Mỗi việc mở một "worktree" riêng | Giao mỗi nhân viên một bàn riêng để không giẫm chân nhau |
| ✋ Verification Đổi người để chấm | Một AI khác vào soi lỗi và nói "chưa được" | AI con thứ hai soi lỗi dựa trên test | Giám khảo riêng chấm bài, không để thí sinh tự chấm |
| 💾 Persistence Lưu ra ngoài | Ghi trạng thái ra nơi không bị xóa khi hội thoại kết thúc | PR + hộp chờ + file trạng thái | Ghi sổ công việc, không nhớ trong đầu rồi quên |
| ⏰ Scheduling Quay vòng | Làm một lượt trở thành cả vòng lặp tự lặp lại | Tự-động-hóa chạy mỗi sáng | Đặt báo thức/lịch lặp lại, không phải tự nhớ mỗi ngày |
Discovery đặt trần chất lượng cho cả vòng lặp: nếu tìm ra toàn việc vô giá trị, thì 4 bước còn lại có làm đẹp đến mấy cũng phục vụ cho... số 0.
Phần 5
Nếu "5 bước" mô tả điều gì xảy ra trong một vòng, thì "6 bộ phận" là những thứ phải có sẵn trong tay để vòng đó quay được. Chúng khớp 1-1 với các bước.
| Bộ phận | Là gì (giải thích cho non-tech) | Phục vụ bước |
|---|---|---|
| ⏰ Automations Tự-động-hóa | Bộ hẹn giờ / kích hoạt tự khởi động vòng lặp theo lịch hoặc sự kiện. Không có nó thì bạn chỉ có một lần chạy, không phải vòng lặp. Có loại chạy trên máy của bạn (máy phải bật) và loại chạy trên đám mây (máy tắt vẫn chạy). | Scheduling |
| 📁 Worktrees Không gian làm việc tách biệt | Cơ chế cho phép nhiều AI làm việc trên các "bản sao thư mục" riêng trong cùng một dự án. Hai AI sửa cùng một file một lúc cũng rối như hai người cùng viết đè lên một trang giấy. Worktree biến "chạy nhưng lộn xộn" thành "chạy và sạch sẽ". | Handoff |
| 📘 Skills Kiến thức cố định | Một file (SKILL.md) lưu kiến thức về dự án để AI không phải giải thích lại từ đầu mỗi vòng. Nó trả "nợ ý định" (intent debt) — cái giá của việc lặp đi lặp lại "dự án này là gì, luật là gì, bẫy ở đâu". Skill thì tái dùng & bảo trì được; một đống prompt dán thì không. | Discovery |
| 🔌 Connectors Đầu nối | Cầu nối (xây trên chuẩn MCP) gắn vòng lặp với thế giới bên ngoài: hệ thống quản lý việc, cơ sở dữ liệu, Slack... Một vòng lặp chỉ nhìn thấy file trên máy là một vòng lặp tí hon. Đầu nối quyết định "tầm nhìn" của vòng lặp. | Persistence / Discovery |
| 👥 Sub-agents AI con (người làm ≠ người chấm) | Tách AI viết ra khỏi AI chấm. Khi một AI vừa đá bóng vừa thổi còi, trọng tài sẽ thiên vị. Nghịch lý: chỉnh một "giám khảo độc lập" cho khó tính dễ hơn nhiều so với bắt người viết tự khắt khe với chính mình. | Verification |
| 🧠 Memory Bộ nhớ trên đĩa | Trạng thái được lưu ngoài một cuộc hội thoại — một file hoặc một bảng. Khi cửa sổ hội thoại bị xóa, AI quên sạch; để hôm nay nối tiếp hôm qua, bộ nhớ phải nằm trên đĩa. AI thì quên, kho lưu trữ thì không. | Persistence |
Có đủ 6 bộ phận, vòng lặp mới có "bộ xương": tự-động-hóa làm nó cử động, worktree giúp nó không tự giẫm chân, skill giúp nó không làm lại việc cũ, đầu nối cho nó nhìn ra ngoài, AI con giúp nó tự sửa mình, bộ nhớ giúp nó nhớ. Nhưng xây xong mới chỉ là khởi đầu: cùng bộ phận đó, hai người xây có thể ra hai kết quả hoàn toàn trái ngược.
Phần 6 · Phần quan trọng nhất
Phần khó nhất của một vòng lặp không phải là làm cho AI chạy — mà là đặt vào trong đó một thứ biết nói "KHÔNG". Và chính AI viết code lại là kẻ ít có khả năng nói điều đó nhất.
Bảo một AI tự chấm thứ nó vừa làm, nó sẽ tự khen một cách đầy tự tin — kể cả khi con người nhìn vào thấy rõ chất lượng chỉ tầm tầm (quan sát của kỹ sư Anthropic, Prithvi Rajasekaran).
Đây không phải vấn đề thông minh, mà là "tự chấm bài của chính mình". Khi AI nhìn lại sản phẩm, nó không thấy kết quả — nó thấy chuỗi lý lẽ đã thuyết phục chính nó làm như vậy. Trong một vòng lặp, lỗi này bị khuếch đại: mỗi vòng nó gật đầu với chính mình, càng chạy lâu càng trôi xa khỏi chất lượng thật.
Cố làm cho người viết tự phê bình hơn thì hiệu quả kém. Rajasekaran phát hiện: chỉnh một giám khảo độc lập cho hoài nghi thì dễ hơn nhiều.
Khác biệt là về cấu trúc, không phải câu chữ: bạn không thể bắt một tác giả bước ra ngoài góc nhìn của chính họ, nhưng bạn có thể đổi sang một AI khác, với hướng dẫn hoàn toàn khác, nhìn code từ đầu mà không mang theo bất kỳ "định kiến tự thuyết phục" nào.
Ý tưởng vay mượn từ GAN (mạng đối nghịch): một bên xây, một bên bới lỗi.
Đổi AI thôi chưa đủ. Nếu giám khảo chỉ đọc code, nó chấm "trông có vẻ đúng", chứ không phải "chạy có đúng không". Rajasekaran nối giám khảo với công cụ Playwright để nó mở trang web, bấm nút, chụp màn hình, kiểm tra thật như một nhân viên QA. Cơ sở để chấm chuyển từ "đoạn code này trông ổn" sang "tôi đã bấm nút, trang chuyển đúng, đây là ảnh chụp màn hình".
/goalClaude Code biến cấu trúc này thành một tính năng có sẵn: cho AI một điều kiện và để nó chạy đến khi điều kiện đạt. Sau mỗi vòng, một model nhỏ, nhanh, mới tinh kiểm tra xem điều kiện đã thỏa chưa — "xong" do một model khác quyết định, không phải model đang làm việc.
# Giám khảo (.claude/agents/reviewer.md) VAI TRÒ: Người soi lỗi đối nghịch (adversarial reviewer). MẶC ĐỊNH: code này HỎNG cho đến khi chứng minh ngược lại. KHÔNG khen. Hãy tìm cái gì sai. KIỂM TRA theo thứ tự: 1. Nó có chạy không? (thực thi, đừng chỉ đọc) 2. Test: chạy thật, dán kết quả thật ra. 3. Các trường hợp biên mà tác giả bỏ sót. 4. Hành vi có khớp yêu cầu không? DÙNG Playwright: mở trang, bấm, chụp màn hình, kiểm tra DOM. → Chấm HÀNH VI, không chấm Ý ĐỊNH. KẾT LUẬN: PASS chỉ khi MỌI mục đều đạt. Ngược lại: REJECT + liệt kê từng lý do. # Điều kiện dừng, do một model nhỏ mới tinh chấm /goal tất cả test trong test/auth đều đậu và bước lint sạch lỗi
Đây chính là nguyên tắc "maker–checker" (người-làm / người-kiểm) — có từ hàng chục năm trong ngân hàng: người nhập lệnh chuyển tiền lớn và người duyệt lệnh bắt buộc phải là hai người khác nhau. (Lưu ý: /goal chạy-đến-khi-đạt, khác /loop vốn chỉ chạy lại theo chu kỳ.)
Phần 7
Các thất bại còn dạy ta nhiều hơn thành công, và phổ biến hơn nhiều. Mỗi kiểu hỏng tương ứng với một trong 5 bước bị bỏ qua hoặc làm ẩu.
Phổ biến nhất. AI viết code rồi chính nó tuyên bố là tốt. Không có kiểm tra độc lập, mỗi vòng cho ra kết quả tự-duyệt, và lỗi tích tụ với tốc độ máy móc. Dấu hiệu: một vòng lặp chạy hàng trăm vòng mà chưa từng một lần nói "không" với chính nó — điều bất khả thi về mặt thống kê với bất kỳ công việc thật nào.
Tìm ra việc tốt, làm xong, rồi quên là đã làm — vì kết quả chỉ nằm trong cửa sổ hội thoại đã bị xóa. Vòng sau lại phát hiện cùng việc đó, hoặc tệ hơn, làm lại và xung đột với lần trước. Dấu hiệu: không có tiến triển tích lũy, mỗi sáng lại bắt đầu từ cùng một chỗ.
Có 4 bước tốt nhưng không có tự-động-hóa thì không phải vòng lặp — chỉ là một script con người chạy bằng tay rồi quên chạy lại. Hôm demo thì ấn tượng, rồi lặng lẽ dừng ngày bạn lơ là. Dấu hiệu: lần chạy cuối cùng là... ngày nó được demo.
Con người vẫn giao việc mỗi sáng — "sửa 3 lỗi này" — nên vòng lặp đã tự động hóa việc làm nhưng chưa tự động hóa việc tìm. Tiết kiệm ít hơn vẻ ngoài, vì chọn việc gì để làm thường mới là phần tốn kém. Dấu hiệu: bạn vẫn dành buổi sáng để quyết định loop nên làm gì.
Chạy nhiều AI song song nhưng để chúng cùng sửa một thư mục, nên các chỉnh sửa đụng nhau và mớ kết quả không ai gỡ nổi. Vấn đề chỉ lộ ra khi chạy song song: một AI thì ổn, nhưng sáng đầu tiên 5 AI cùng chạy là rối.
5 kiểu này không độc lập. Vòng lặp thiếu kiểm chứng thường cũng thiếu lưu trữ — đội nào ẩu ở một khâu thường ẩu ở các khâu khác. Vòng lặp kỷ luật cài đủ 5 bước; vòng lặp vội vàng chỉ cài Discovery + Handoff (hai bước cho ra kết quả nhìn thấy được) và bỏ 3 bước tạo ra sự an toàn.
Phần 8
Ba trường hợp công khai, khác nhau hoàn toàn về quy mô nhưng cùng một "bộ xương": một bộ kích hoạt nhấn nút bắt đầu, một bộ ràng buộc giữ nó đi đúng đường, và một điểm kiểm tra của con người ở cuối. "Chạy trong lúc bạn ngủ" chưa bao giờ là chuyện model mạnh cỡ nào — mà là bộ xương đó vững cỡ nào.
Vòng lặp phân loại của Osmani chạy tự động mỗi sáng (đã mô tả ở Phần 4). Chi tiết đáng nhấn lại: tự-động-hóa gọi một skill, chứ không phải một khối hướng dẫn khổng lồ dán vào lịch chạy mà chẳng ai cập nhật. Đây là hình ảnh một vòng lặp một người có thể vận hành — một người, một máy, việc tay chân được làm xong mỗi sáng.
1.300+ đề xuất thay đổi code (PR) được gộp mỗi tuần, không một dòng nào viết tay (kể bởi kỹ sư Stripe, Steve Kaliski).
Bộ kích hoạt rất nhẹ — gọi bot trong Slack, hoặc thả một biểu tượng cảm xúc. Thứ làm nó đáng tin cậy nằm ở đoạn trước khi AI thức dậy: một "bộ điều phối tất định" (deterministic orchestrator) ráp sẵn bối cảnh — quét link, kéo dữ liệu từ Jira, tìm tài liệu, dùng công cụ định vị code liên quan. Để AI tự tìm bối cảnh là phần khó kiểm soát nhất, nên việc đó — vốn có thể viết thành luật cứng — được lấy ra khỏi tay model.
Kiến trúc của nó đan xen các "cổng tất định" (luật cứng) với các "bước sáng tạo" của AI: AI viết code → một quy trình cứng chạy bộ kiểm tra lỗi mà AI không được phép bỏ qua → AI sửa lỗi → một bước cứng lưu lại. Bất cứ gì logic tất định giải được thì không bao giờ đưa cho model xác suất. Ranh giới bạn vẽ ở đâu quyết định vòng lặp có đáng tin hay không. Và 1.300 PR đó vẫn được con người duyệt — con người không rời đi, chỉ đổi bàn: từ chỗ viết sang chỗ duyệt.
Chạy trên máy của bạn (local) thì máy phải bật — tắt máy là loop dừng. Muốn chạy khi máy tắt, câu trả lời đúng là chạy trên đám mây (Cloud Routines hoặc lịch trên CI). Không một bộ lập lịch nào làm được tất cả:
| Tiêu chí | ☁️ Đám mây (Cloud) | 🖥️ Máy bàn (Desktop) | ⌨️ /loop (local) |
|---|---|---|---|
| Chạy ở đâu | đám mây | máy của bạn | máy của bạn |
| Máy phải bật? | Không | Có | Có |
| Phải mở phiên làm việc? | Không | Không | Có |
| Khoảng cách chạy tối thiểu | 1 giờ | 1 phút | 1 phút |
| Thấy được file trên máy? | Không | Có | Có |
Quy tắc chọn (rất đơn giản): Việc của loop có dính chặt vào máy của bạn không? Cần kiểm tra một tiến trình đang chạy trên laptop mỗi phút → bắt buộc local (đám mây không thấy được, và không chạy nhanh hơn 1 giờ/lần). Cần quét kho code lúc 3 giờ sáng và mở PR → đừng buộc vào laptop (laptop bị gập nắp, hết pin, bị mang đi) → dùng đám mây. Loop trưởng thành thường dùng cả hai: local cho các kiểm tra nhanh bên trong, cloud cho lượt quét qua đêm.
Phần 9
Một vòng lặp tự chạy cũng là một vòng lặp tự mắc lỗi. Nó chạy càng vui vẻ, nó sai càng lặng lẽ. Cả 4 chi phí dưới đây đều không hú còi báo động khi loop đang chạy.
Mỗi PR mở ra và gộp vào đều tiết kiệm thời gian — nhưng thời gian đó biến thành kết quả chưa được kiểm chứng chờ trả nợ. Lỗi ẩn ở chỗ test không phủ tới, trong khoảng cách giữa "chạy được" và "đúng", tích tụ đến một buổi sáng phát hành thì nổ tung cùng lúc.
Loop xuất code bạn không viết càng nhanh, khoảng cách giữa cái đang tồn tại và cái bạn thực sự hiểu càng lớn. Đọc code chán hơn viết code, mà loop đã giành phần viết; kho code phình to trong khi bản đồ trong đầu bạn đứng yên.
Khi loop tự chạy trơn tru, ta dễ thôi có chính kiến và nhận đại bất cứ gì nó trả về. Đây là phiên bản thái độ của hai cái trên: không phải "không có thời gian" mà là "không buồn bận tâm nữa". Loop càng đáng tin, càng dễ giao phó luôn cả phán đoán.
Chi phí duy nhất đập thẳng vào hóa đơn, và khó ước lượng trước: loop sinh trợ lý phụ, thử lại, chạy vòng này đến vòng khác — một con bug có thể quay vòng vô ích cả đêm và đẻ ra một hóa đơn lạ lẫm thay vì code đã sửa.
Một loop mở 20 PR qua đêm, tất cả test đều xanh. Nhìn bề mặt là một chiến thắng. Nhưng giả sử 3 trong 20 chứa lỗi tinh vi mà test không phủ:
3 lỗi chôn vùi giờ nằm trong một kho code mà con người không còn hiểu trọn, được canh giữ bởi một con người đã thôi nhìn — chỉ bị phát hiện khi một trong số đó nổ ra thành sự cố thật.
Điều thú vị nhất của Loop Engineering là nó cho một người làm việc của cả đội. Điều nguy hiểm nhất nằm đúng chỗ đó: một đội thì còn cãi nhau, còn một người cộng với một đống loop dễ thành một "phòng vọng âm" nơi không ai phản biện.
Phần 10
Loop làm cho việc tạo ra (code, kế hoạch, bản sửa) gần như miễn phí. Thứ còn lại khan hiếm là phán đoán. Đây không phải khẩu hiệu — nó là một quan sát kinh tế có hệ quả.
Khi một nguồn lực trở nên dư thừa, giá của nó rớt. Loop làm code, kế hoạch, bản sửa, PR trở nên dư thừa — một kỹ sư với một loop tốt có thể tạo ra sản lượng của cả một đội nhỏ. Việc gõ phím, viết khuôn mẫu, refactor máy móc... sụp về gần bằng 0 chi phí.
Phản ứng đầu tiên hợp lý: điều này làm kỹ sư kém giá trị hơn. Sự thật thì ngược lại — nhưng chỉ với những ai nắm giữ được thứ khan hiếm.
Thứ khan hiếm là phán đoán để quyết định giữ cái nào trong đống output dư thừa. Loop tạo được trăm bản, nhưng không nói được bản nào đúng — chỉ bản nào trông có vẻ hợp lý. Khoảng cách giữa "trông hợp lý" và "thực sự đúng" chính là nơi nghề kỹ sư tồn tại.
Khi việc tạo ra tiến về miễn phí, toàn bộ giá trị của kỹ sư cô đặc lại vào khoảng cách đó — phán đoán thuần khiết, đã gột sạch lớp lao động tay chân từng vây quanh nó.
Loop là một dấu nhân trung thành — và thứ nó nhân lên chính là con người vận hành nó.
Phần 11
Nếu phán đoán là nguồn lực khan hiếm, câu hỏi thực tế là: tiêu nó cho khéo bằng cách nào? Ba kỷ luật nên thành thói quen thường trực.
Chống "mục ruỗng hiểu biết" không phải bằng cách đọc mọi thứ loop tạo ra (vậy thì mất ý nghĩa), mà đọc một mẫu đại diện, mỗi ngày, và tự ép mình giải thích từng thay đổi đã chọn: nó làm gì và vì sao làm thế. Không giải thích nổi = bản đồ trong đầu đã tụt lại. Mẫu không cần lớn — cần đều đặn và thật sự được soi.
Chống "cháy túi token" bằng cách đặt trần cứng trước lần đầu chạy không người canh, không phải sau hóa đơn gây sốc đầu tiên. Ngân sách mỗi lần chạy + ngân sách mỗi ngày + số lần thử lại tối đa = bộ ngắt mạch, biến một rủi ro vô hạn thành rủi ro có biên. Loop không có trần là loop đã giao quyền chi tiêu cho chính những con bug của nó.
Chống "đầu hàng nhận thức" bằng cấu trúc, không chỉ bằng thái độ. Cài ít nhất một điểm dừng nơi loop tạm dừng chờ con người — không phải vì con người sẽ luôn can thiệp, mà vì sự tồn tại của điểm dừng giữ con người ở vị thế có thể can thiệp. Người hàn chết mọi cánh cửa, đến ngày buộc phải vào sẽ nhận ra mình không còn giữ chìa khóa.
Phần 12 · Thực hành
Pipeline của Stripe là đích đến, không phải điểm xuất phát. Vòng lặp đầu tiên nên nhỏ đến mức gần như không giống một hệ thống — một thứ tí hon kiểm tra cái gì đó theo giờ.
Lệnh /loop chạy lại cùng một việc theo chu kỳ. Nó gắn với phiên làm việc, chạy trên máy của bạn (tắt máy là dừng).
/loop 5m kiểm tra deploy # cố định: mỗi 5 phút /loop kiểm tra deploy # AI tự căn nhịp /loop # chạy file .claude/loop.md
Chạy lại một dòng chưa phải vòng lặp. Cho nó một việc: mỗi sáng nhìn 3 thứ và liệt kê cái nào đáng xử lý. Lên lịch + tự tìm việc = vòng lặp nhập môn. Logic tìm việc nên nằm trong một skill, không nằm trong lịch.
# .claude/skills/morning-triage/SKILL.md
NAME: morning-triage
WHEN: được tự-động-hóa gọi mỗi sáng.
READ:
- các lần chạy CI bị lỗi từ hôm qua
- vấn đề mở ra trong 24h qua
- các thay đổi đã gộp từ lần chạy trước
JUDGE: với mỗi mục, có đáng hành động không?
Bỏ nhiễu. Chỉ giữ phát hiện đáng làm.
OUTPUT: ghi phát hiện + trạng thái vào
./state/triage.md (mỗi phát hiện một dòng).Đừng để kết quả trong cửa sổ chat. Ghi mọi phát hiện và mức độ đã xử lý vào một file (hoặc một bảng). AI quên; kho lưu trữ thì không.
# ./state/triage.md (bộ nhớ của loop)
| phát hiện | nguồn | trạng thái |
|-----------------|----------|------------|
| test auth chập | CI #4821 | đang sửa |
| lỗi null deref | issue 92 | PR đã mở |
| thư viện cũ | commit a3| hộp chờ |Bước quan trọng nhất và dễ bị bỏ qua nhất. /goal chạy đến khi điều kiện đạt, với một model khác chấm xem đã đạt chưa.
/goal tất cả test trong test/auth đậu và bước lint sạch lỗiDùng --worktree để mỗi AI nền có một không gian riêng, không giẫm chân nhau.
# mỗi phát hiện một worktree tách biệt claude --worktree fix/auth-test "soạn bản sửa" claude --worktree fix/null-deref "soạn bản sửa"
Hai yếu tố đầu quyết định loop có chạy được không; bốn yếu tố sau quyết định nó có gặp rắc rối không một khi đã chạy. Người mới hay chỉ làm 2 cái đầu — và kết quả là một loop không ai canh, không ai dừng được, cứ gật gù với chính nó.
| Yếu tố | Tự hỏi mình |
|---|---|
| Nguồn Discovery | Nó đọc gì theo giờ? (CI / vấn đề / thay đổi code / hộp chờ) |
| File trạng thái | File nào trên đĩa giữ bộ nhớ xuyên các vòng? |
| Người chấm | Có một bộ kiểm tra độc lập biết nói "không" chưa? |
| Cách ly | Mỗi AI song song có worktree riêng chưa? |
| Trần token | Đã đặt trần chi tiêu chưa? Ai dừng nó nếu nó chạy loạn? |
| Điểm con người duyệt | Bước nào dừng lại cho bạn xem, thay vì tự động chạy thẳng một mạch? |
Lời khuyên khép lại: vòng lặp đầu tiên nên nhỏ, nhưng phải cài đủ bộ kiểm tra biết nói "không" và điểm con người duyệt. Lớn lên thì thêm chạy song song sau cùng, sau khi các bộ kiểm tra đã được chứng minh. Một vòng lặp giành được quyền chạy nhiều AI bằng cách trước hết chứng minh nó dừng được một AI tồi.
Phần 13
Đánh dấu những câu đúng với bạn. Câu được đánh dấu ở bậc cao nhất chính là bậc hiện tại của bạn.
Phần lớn mọi người kẹt ở bậc 1–2 không phải vì các bậc cao khó, mà vì chưa ai nói cho họ biết cái thang này tồn tại.
Câu duy nhất cần mang theo — câu mà cả ngành hội tụ lại chỉ trong một tuần:
“Đừng ra lệnh cho AI nữa. Hãy thiết kế hệ thống ra lệnh cho nó —
nhưng thiết kế như một người vẫn quyết tâm làm kỹ sư, chứ không chỉ là người bấm nút Start.”
Mọi thứ kỹ thuật trong tài liệu này — người chấm, file trạng thái, hạn mức ngân sách, cánh cửa để mở — đều phục vụ một tư thế duy nhất:
giữ cho một con người vẫn còn khả năng nói "KHÔNG" với một cỗ máy được tạo ra để nói "CÓ" thật nhanh.
Điều khiến các đội bất ngờ không phải việc xây loop (giờ thật sự dễ) — mà là cảm giác dễ chịu khi loop "cứ chạy ngon" làm xói mòn chính những kỷ luật đã khiến nó chạy ngon, và sự xói mòn đó vô hình cho đến buổi sáng nó không còn vô hình nữa.
Phần 14
| Thuật ngữ | Nghĩa |
|---|---|
| Loop (Vòng lặp) | Một hệ thống tự tìm việc, làm, kiểm chứng, lưu trữ và lên lịch lại — mà không có con người trong vòng quay bên trong. |
| Harness (Bộ đồ nghề) | Bộ kit trang bị cho một lần chạy của AI: công cụ, hành động được phép, cách phục hồi, định nghĩa "xong". |
| Move (Bước) | Một trong 5 bước của một vòng quay: Discovery, Handoff, Verification, Persistence, Scheduling. |
| Part (Bộ phận) | Một trong 6 thành phần hiện thực hóa các bước. |
| Generator (Người làm) | AI viết ra kết quả. |
| Evaluator (Người chấm) | Một AI riêng để chấm, mặc định nghi ngờ và kiểm chứng bằng hành động. |
| Worktree | Cơ chế cho mỗi AI song song một thư mục làm việc riêng. |
| Skill | Kiến thức về dự án được cố định trong một file SKILL.md. |
| Connector (Đầu nối) | Giao diện (qua chuẩn MCP) nối loop với các hệ thống bên ngoài. |
| Memory (Bộ nhớ) | Trạng thái lưu trên đĩa, sống sót qua bất kỳ cuộc hội thoại nào. |
| Intent debt (Nợ ý định) | Cái giá lặp lại của việc giải thích lại dự án mỗi lần — được trả bằng một skill. |
| Verification debt (Nợ kiểm chứng) | Kết quả chưa kiểm chứng tích tụ trong khoảng giữa "chạy được" và "đúng". |
| Maker–checker | Nguyên tắc ngân hàng: người làm và người duyệt bắt buộc là hai người khác nhau — áp vào điều kiện dừng của loop. |