Loop Engineering: Hướng dẫn toàn tập

TL;DR - Đòn bẩy trong agentic development đã rời việc viết prompt, chuyển sang thiết kế vòng lặp (loop) tự prompt agent. Một vòng lặp là một mục tiêu đệ quy có stop condition kiểm chứng được. Bài này là lộ trình đọc qua cả chín phần của series cộng bài nhánh self-improving, gom vào bốn phase để lúc nào bạn cũng biết mở bài chuyên sâu nào tiếp theo. Nhảy tới lộ trình đọc →

📚 Trong hướng dẫn này có gì:

  • Một định nghĩa loop engineering gọn một đoạn, trích dẫn được
  • Năm khối xây dựng (building block) và một trục bộ nhớ, ánh xạ tới các bài chuyên sâu
  • Lộ trình đọc theo phase: Nền tảng, Hạ tầng, Thực chiến, Phụ lục
  • Phân biệt bài trụ cột với bài hướng dẫn, để bạn biết bài này là gì và không phải là gì
  • Một mục chọn-đường-đọc theo tình huống, cùng FAQ viết để trích dẫn trực tiếp
Prompt từng turn (nút thắt cũ) → bạn chính là thân vòng lặp
Một vòng lặp: mục tiêu đệ quy + stop → hệ thống prompt agent,
condition kiểm chứng được, lặp tới khi bạn duyệt kết quả
điều kiện đúng

Series giờ có mười bài: chín phần đánh số và một bài nhánh. Nếu bạn lỡ đọc một bài lạc thứ tự, hoặc đã mua tiền đề từ Phần 1 và muốn danh sách các phần, đây là tấm bản đồ. Hướng dẫn loop engineering này làm đúng một việc: gộp series thành một lộ trình đọc bạn có thể quay lại mỗi khi các vòng lặp của chính bạn lớn dần. Nó không tranh luận lại xem vòng lặp có thật hay không. Phần 1 làm việc đó. Đây là phần định hướng.

Nếu bạn muốn lý thuyết, đọc bài trụ cột. Nếu bạn muốn danh sách các phần kèm một vòng lặp chạy được, đọc Phần 2. Bài này ngồi trên cả hai: một trang trung tâm trỏ bạn tới đúng bài chuyên sâu cho vị trí bạn đang đứng ngay lúc này.


Loop engineering là gì?

Loop engineering là thiết kế một mục tiêu đệ quy cho coding agent: một mục đích cộng một stop condition kiểm chứng được, hệ thống tự lặp cho tới khi điều kiện đúng, không cần bạn prompt từng turn. Bản dân dã, credit cho Matt Van Horn, là “cron cộng một bộ ra quyết định trong thân vòng lặp”. Model là hàng hoá phổ thông; vòng lặp mới là đòn bẩy.

Đây là định nghĩa chuẩn mà cả series dùng, giữ nguyên tiếng Anh vì nó là mỏ neo trích dẫn cho chín phần:

A loop is a recursive goal: you define a purpose and a verifiable stop condition, and the system iterates agents against it until the condition holds — without you prompting each turn.

Cú dịch chuyển rất cụ thể. Suốt hai năm, điểm kiểm soát là prompt. Rồi là context. Rồi là harness, tất cả những gì bao quanh model để nó chạy đáng tin. Một vòng lặp là chính cái harness đó tự nạp việc cho mình: cái sàn bạn dựng, giờ chạy trên nhịp đập của chính nó cho tới khi một điều kiện kiểm được nói dừng.

Điểm mấu chốt: Harness là cái sàn. Một vòng lặp là cái sàn đó tự nạp việc cho chính nó. Model vẫn là hàng hoá phổ thông, nên điểm khác biệt không còn là thứ bạn gõ mỗi turn, mà là mục tiêu đệ quy và stop condition bạn thiết kế một lần rồi thả cho chạy.

Muốn đọc trọn lập luận, bốn kỷ nguyên lịch sử (prompt, context, harness, loops) và một checklist sáu câu chấm được trong một buổi chiều, đọc bài trụ cột. Hướng dẫn này mặc định bạn đã bị thuyết phục và cần lộ trình.


Dùng hướng dẫn này thế nào

Đọc hướng dẫn này theo phase, đừng đọc một mạch. Series có một mạch tự nhiên: hiểu vòng lặp là gì, cho nó hạ tầng để chạy, rồi xem nó làm việc và thất bại trong production. Bốn phase dưới đây ánh xạ đúng mạch đó. Mỗi phase là một mục, có link bài chuyên sâu, một dòng chú giải cho mỗi phần, và một điểm mấu chốt bạn mang thẳng vào một buổi đánh giá thiết kế được.

Các phase là cộng dồn. Nền tảng (Phần 1 tới 3) định nghĩa cái thứ đó. Hạ tầng (Phần 4 tới 6) cho nó tính bền, tính song song, và một nhịp đập. Thực chiến (Phần 7 tới 9) cho thấy một ca cải tạo thật, một bản thiết kế tái dùng được, và các kịch bản thất bại. Phụ lục nói về bài nhánh self-improving, tầng tuỳ chọn bạn với tới khi vòng lặp đầu tiên đã chạy.

Bạn không bắt buộc đọc theo thứ tự. Mục chọn-đường-đọc ở cuối định tuyến bạn theo tình huống: mới với vòng lặp, vòng-lặp-hay-quên, vòng-lặp-bạn-không-còn-đọc, hay vòng-lặp-tự-cải-thiện. Bảng ngay dưới đánh mục lục cả series theo phần; bảng trục khối xây dựng tiếp sau đánh mục lục theo từng đơn vị gốc.


Toàn bộ series trong một bảng

Mọi phần trong một khung nhìn. Quét bảng để tìm điểm vào của bạn, rồi thả vào các mục phase bên dưới để đọc chú giải đầy đủ và một điểm mấu chốt mỗi phase.

#BàiBạn nhận được gìPhase
1Loop Engineering: Đã đến lúc ngừng prompt từng turnĐịnh nghĩa, bốn kỷ nguyên, và checklist sáu câuNền tảng
2Giải phẫu một vòng lặp: năm khối xây dựng và một trục bộ nhớNăm khối và trục bộ nhớ, ánh xạ tới đơn vị gốc, kèm một vòng lặp quét lint chạy đượcNền tảng
3Điều kiện dừng: để “xong” có nghĩaĐể một model khác kiểm “xong”, bốn nấc verify, giới hạn số vòngNền tảng
4State File Pattern: bộ nhớ sống ngoài context windowMột file trạng thái greppable trên ổ cứng, sống sót qua các lần chạyHạ tầng
5Git Worktrees for Agents: chạy nhiều agent song song không hỗn loạnNhiều agent song song không giẫm chân, tách maker khỏi checkerHạ tầng
6Scheduled Agent Automation: cho vòng lặp một nhịp đậpMột nhịp cron, hook, hoặc CI, một hộp thư phân loại, các lần chạy rỗng gần như miễn phíHạ tầng
7Retrofit Automation Loop: lần đầu thử thật của tụi mìnhMột ca cải tạo thật với đủ vết sẹo, và công thức bốn bướcThực chiến
8AI Devkit Loop: từ fixkit tới plugin tái dùng đượcĐóng gói một harness theo vai kèm nhịp đập thành một plugin Claude CodeThực chiến
9Code rác do AI: thiết kế vòng lặp, không phải may rủiCác kịch bản thất bại, ba giới hạn, nghi thức review ở ghế mergeThực chiến
+Self-Improving Agent Loops: từ trace tới một PR sửa harness (bản Việt sắp ra mắt)Một vòng lặp đọc trace của chính nó rồi đề xuất một bản sửa harness dưới dạng PR bạn duyệtPhụ lục

Các khối xây dựng của một vòng lặp gồm gì?

Một vòng lặp không phải một đơn vị gốc (primitive) mới phải học. Nó là năm khối xây dựng bạn đã dùng, lắp quanh một mảnh mà phần lớn người ta bỏ qua. Cách phân rã này là của Addy Osmani, từ bài tổng hợp “Loop Engineering” của ông, và nó đúng xuyên qua các công cụ. Gọi tên năm khối một lần thì vòng lặp thôi còn là phép màu. Mảnh thứ sáu, trục bộ nhớ, là lý do duy nhất để lần chạy sau biết lần chạy trước đã làm gì.

Bảng này là trục của cả hướng dẫn. Dùng nó như một mục lục vào series:

Khối xây dựngĐơn vị gốc Claude CodeBài chuyên sâu trong series
Scheduled automation (nhịp đập)/loop, Routines, cron, CIPhần 6
Worktrees (cô lập)isolation: worktreePhần 5
SkillsSKILL.mdPhần 8
Plugins và connectorsplugins, MCPPhần 8
Sub-agent (tách maker/checker).claude/agents/Phần 3, 5
Trục bộ nhớmột file trạng thái greppablePhần 4

Phần lớn “vòng lặp” ngoài đời thực ra là script chạy một phát, vì chúng ship năm khối kia mà bỏ mất cái trục. snarktank/ralph (14,3 nghìn sao) giữ bộ nhớ trong git cộng một progress.txt và một prd.json, và dừng khi mọi story đọc passes: true. Nhỏ, greppable, nằm trên ổ cứng. Chính cái file đó làm cho công việc cộng dồn thay vì quên sạch mỗi sáng.

Điểm mấu chốt: Không có gì trong tấm bản đồ là lạ lẫm. Kỹ năng nằm ở khâu lắp ráp: chọn khối nào một việc cần và đấu dây chúng quanh một file trạng thái. Bỏ cái trục đi thì bạn có một cỗ tự động hoá quên sạch mỗi sáng.


Nền tảng: series bắt đầu ở đâu?

Đọc Phần 1 tới 3 trước. Cùng nhau, chúng trả lời ba câu hỏi theo thứ tự: một vòng lặp là gì, nó làm bằng gì, và cái gì làm “xong” có nghĩa. Đọc ba phần này trước thì các bài Hạ tầng mới không đọc lên như những mẹo công cụ rời rạc.

Loop Engineering: Đã đến lúc ngừng prompt từng turn là bài trụ cột. Nó định nghĩa loop engineering, đặt nó là kỷ nguyên thứ tư sau prompt, context, và harness, rồi trao bạn một checklist sáu câu cho biết harness của bạn đã sẵn sàng để bọc vào một vòng lặp chưa. Đọc nó đầu tiên, dù bạn chỉ lướt phần còn lại.

Giải phẫu một vòng lặp: năm khối xây dựng và một trục bộ nhớ là danh sách các phần. Nó gọi tên năm khối và trục bộ nhớ, ánh xạ mỗi khối tới một đơn vị gốc Claude Code cụ thể, và dẫn bạn qua một vòng lặp quét lint tối giản chạy thật: một prompt lên lịch, một file trạng thái, một bước kiểm. Đọc nó thứ hai để biến khái niệm thành thứ bạn dựng được.

Điều kiện dừng: để “xong” có nghĩa là phần phần lớn người ta làm sai. Nó chỉ cách để “xong” của một vòng lặp được kiểm bởi một model khác model đang làm việc, leo bốn nấc verify từ “trông ổn” tới “một checker agent chốt nó bằng một exit code”, và đặt nắp cho mọi vòng lặp để nó không chạy mãi. Đọc nó thứ ba.

Điểm mấu chốt: Một vòng lặp không có stop condition kiểm chứng được chỉ là một cron job đốt token. Stop condition là ranh giới giữa một vòng lặp và một script. Nếu “xong” là bất cứ điều gì model làm việc tự khai, bạn chưa dựng một vòng lặp, bạn dựng một cách đắt tiền để tin lời tự báo của một model.


Hạ tầng: một vòng lặp chạy trên cái gì?

Khi đã biết một vòng lặp là gì, Phần 4 tới 6 cho nó ba thứ cần để sống sót khi va vào việc thật: tính bền, tính song song, và một nhịp đập. Đây là phase một demo thông minh trở thành thứ bạn để chạy được.

State File Pattern: bộ nhớ sống ngoài context window là cái trục làm thành hình. Nó là một file markdown greppable với các mục như đã thử, đã qua, còn mở, và bị chặn, sống trên ổ cứng và sống sót qua các lần chạy. Context window reset mỗi session; file trạng thái thì không. Đọc bài này lần đầu tiên vòng lặp của bạn làm lại việc nó đã xong hôm qua.

Git Worktrees for Agents: chạy nhiều agent song song không hỗn loạn là cách chạy hơn một agent cùng lúc mà không đụng nhau. Cho mỗi sub-agent một worktree riêng, tách maker khỏi checker để chúng không tự chấm bài cho nhau, và gộp kết quả về một file trạng thái. Đọc bài này khi một agent mỗi lần là quá chậm và bạn muốn toả ra nhiều làn một cách an toàn.

Scheduled Agent Automation: cho vòng lặp một nhịp đập là cái nhịp. Chạy phân loại theo cron, theo một hook, hoặc trong CI, dẫn phát hiện về một hộp thư bạn thật sự đọc, và giữ các lần chạy rỗng gần như miễn phí để vòng lặp gần như không tốn gì khi chẳng có việc gì. Nhịp đập là thứ làm một vòng lặp thành vòng lặp, thay vì một thứ bạn phải nhớ để chạy. Đọc bài này để gỡ một nghi thức thủ công khỏi lịch của chính bạn.

Điểm mấu chốt: File trạng thái là lý do duy nhất để lần chạy sau biết lần chạy trước đã làm gì. Tính bền, không phải trí thông minh, mới là thứ tách một vòng lặp bạn để chạy được khỏi một script bạn phải trông. Thêm nhịp đập và worktrees lên trên cái trục, đừng bao giờ thay cho nó.

Nhận tips Claude Code hàng tuần - Mỗi tuần một email. Các mẫu vòng lặp và harness thực chiến, không rườm rà. Đăng ký AI Developer Weekly →


Thực chiến: production trông như thế nào?

Phần 7 tới 9 là phase vòng lặp gặp thực tế. Bạn đã có khái niệm và hạ tầng; giờ xem một ca cải tạo thật với đủ vết sẹo, một bản thiết kế bạn ship được thành plugin, và các kịch bản thất bại quyết định bạn còn là kỹ sư hay thành một con dấu cao su.

Retrofit Automation Loop: lần đầu thử thật của tụi mình là nhật ký hiện trường. Nó đi qua việc biến một nghi thức phân loại thủ công thành một vòng lặp lên lịch có nhịp đập, một file trạng thái, và một stop condition, và nó không giấu cái gì đã vỡ trên đường. Đọc bài này để có phiên bản thực tế của lộ trình mà các tutorial trước mô tả gọn gàng.

AI Devkit Loop: từ fixkit tới plugin tái dùng được là bản thiết kế. Một devkit loop là một harness theo vai kèm nhịp đập. Bài đi qua fixkit loop từ tiếp nhận bug tới bản sửa đã kiểm chứng, rồi chỉ cách đóng gói cả mẫu này thành một plugin Claude Code để dự án sau khởi động với harness và định nghĩa “xong” đã dựng sẵn, bạn vẫn đấu lịch và connector theo từng repo. Đọc bài này khi một vòng lặp tốt khiến bạn muốn một cái tái dùng được.

Code rác do AI: thiết kế vòng lặp, không phải may rủi là bài kết, và là bài để đọc lại. Cùng một vòng lặp cho ra đầu ra sạch hay một đống code rác tuỳ vào thiết kế của nó. Bài gọi tên các chi phí thật (nợ hiểu biết và đốt token), ba giới hạn chặn phần đốt đó (số vòng, chi phí, thời gian), và nghi thức review ở ghế merge giữ một con người trong đường đi. Đọc bài này trước khi bạn thả bất kỳ vòng lặp nào chạy không người trông.

Điểm mấu chốt: Kịch bản thất bại của một vòng lặp không phải là nó ngừng chạy. Là nó cứ chạy tiếp trong khi bạn ngừng hiểu thứ nó ship. Nợ hiểu biết cộng dồn trong lúc vòng lặp vẫn chạy. Ba giới hạn ở Phần 9 chặn phần đốt, nhưng chính cái ghế merge và nghi thức tiền-kiểm của nó mới giữ vòng lặp có trách nhiệm với một người vẫn đọc từng dòng diff.


Phụ lục: vòng lặp tự cải thiện

Bài nhánh là tầng tuỳ chọn nằm trên chín phần. Đọc nó khi vòng lặp đầu tiên của bạn đã chạy và bạn muốn nó tự khá lên, với bạn vẫn ngồi ghế duyệt.

Self-Improving Agent Loops: từ trace tới một PR sửa harness (bản Việt sắp ra mắt) chỉ ra một vòng lặp đọc chính trace của mình, tìm chỗ nó làm chưa tốt, rồi đề xuất một bản sửa harness dưới dạng một pull request bạn duyệt. Bài đi qua một lượt leo dốc thật từ trace tới diff. Nó không tự merge gì cả. Vòng lặp gợi ý; bạn quyết định. Đọc nó như nước cờ nâng cao, không phải điểm khởi đầu.

Điểm mấu chốt: Một vòng lặp tự cải thiện là cái sàn tự nạp việc cho mình thêm một tầng nữa. Thuộc tính an toàn là nó đề xuất một thay đổi rồi chờ, chứ không tự viết lại harness của chính nó trong im lặng. Con người ở lại trong đường leo dốc bằng cách review PR, đúng cái giới hạn giữ cho “tự cải thiện” khỏi biến thành “không ai giám sát”.


Nên bắt đầu đọc từ đâu?

Bốn con đường, dựa trên vị trí bạn đang đứng hôm nay. Mỗi đường dẫn bạn tới một hành động cụ thể, không chỉ là đọc thêm.

Mới với vòng lặp. Bắt đầu với bài trụ cột để lấy định nghĩa và checklist, rồi Phần 2 để lấy năm khối và một vòng lặp chạy được. Quay lại đây chọn bài chuyên sâu tiếp theo.

Bạn có một vòng lặp và nó hay quên. Đi thẳng tới bài state file, rồi thêm một nhịp đập. Hai bài đó phủ tính bền và nhịp, hai lý do phần lớn vòng lặp fail trong im lặng.

Vòng lặp của bạn cho ra đầu ra bạn không còn đọc. Nhảy tới bài kết về kịch bản thất bại và thêm ba giới hạn trước lần chạy sau. Rồi đọc bài điều kiện dừng để “xong” có nghĩa kiểm được.

Bạn muốn vòng lặp tự cải thiện. Đọc bài nhánh self-improving (bản Việt sắp ra mắt), nhưng chỉ sau khi một vòng lặp đầu tiên đã chạy. Muốn leo dốc thì phải có dốc.

Thử ngay:

  1. Chọn con đường ở trên khớp với vị trí bạn hôm nay
  2. Mở bài được link đầu tiên và đọc phần TL;DR của nó
  3. Chép một file trạng thái hoặc mẫu khởi động vào repo của bạn
  4. Chạy một vòng lặp với một stop condition thật, kiểm chứng được
  5. Quay lại đây và chọn phase tiếp theo

FAQ

Loop engineering là gì?

Loop engineering là thiết kế một mục tiêu đệ quy cho coding agent: một mục đích cộng một stop condition kiểm chứng được, hệ thống tự lặp cho tới khi điều kiện đúng, không cần bạn prompt từng turn. Bản dân dã, credit cho Matt Van Horn, là “cron cộng một bộ ra quyết định trong thân vòng lặp”. Model là hàng hoá phổ thông, vòng lặp mới là đòn bẩy.

Hướng dẫn này khác gì với Phần 1, bài trụ cột loop engineering?

Phần 1, Loop Engineering: Đã đến lúc ngừng prompt từng turn, định nghĩa loop engineering là gì, với bốn kỷ nguyên lịch sử và một checklist sáu câu. Đó là bài trụ cột, điểm nút lý thuyết. Hướng dẫn này là lộ trình đọc qua chín phần cộng bài nhánh self-improving, sắp theo phase. Đọc Phần 1 để lấy lý thuyết và hướng dẫn này để định hướng.

Các khối xây dựng của một vòng lặp gồm gì?

Năm khối lắp quanh một trục bộ nhớ: scheduled automation (nhịp đập), worktrees (cô lập), skills, plugins và connectors, và sub-agent (tách maker/checker), đấu dây quanh một file trạng thái greppable sống sót qua các lần chạy. Bỏ cái trục đi thì bạn có một cỗ tự động hoá quên sạch mỗi sáng.

Nên bắt đầu từ đâu nếu tôi chưa từng dựng một vòng lặp?

Đọc Phần 1 để lấy định nghĩa và checklist, rồi Phần 2 để lấy năm khối xây dựng và một vòng lặp quét lint tối giản chạy được, rồi Phần 3 để lấy stop condition. Ba phần đó là phase Nền tảng. Quay lại hướng dẫn này để chọn bài chuyên sâu tiếp theo từ phase Hạ tầng và Thực chiến.


Các phần mới sẽ được thêm vào đúng mục phase ở trên khi chúng ship. Đánh dấu trang này nếu bạn muốn giữ mục lục sống của series.

Sẵn sàng dựng vòng lặp đầu tiên? Chọn một bài chuyên sâu ở trên, đấu một file trạng thái và một stop condition vào repo, rồi thả cho chạy một lần. Lợi ích cộng dồn bắt đầu từ lần chạy #2. Bắt đầu khoá Claude Code Mastery →

Đọc tiếp

{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Loop Engineering: Hướng dẫn toàn tập",
"author": {
"@type": "Organization",
"name": "ShipWithAI"
},
"datePublished": "2026-07-14",
"description": "Lộ trình đọc loop engineering: định nghĩa trích dẫn được, năm khối xây dựng và một trục bộ nhớ, cùng đường đọc theo phase qua cả 9 phần và bài nhánh.",
"image": "/images/blog/loop-engineering-complete-guide-cover.png",
"articleSection": "tutorial",
"keywords": "claude-code, automation, ai, tutorial, vietnamese",
"mainEntityOfPage": "https://shipwithai.io/vi/blog/loop-engineering-complete-guide/"
}
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Loop engineering là gì?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Loop engineering là thiết kế một mục tiêu đệ quy cho coding agent: một mục đích cộng một stop condition kiểm chứng được, hệ thống tự lặp cho tới khi điều kiện đúng, không cần bạn prompt từng turn. Bản dân dã, credit cho Matt Van Horn, là \"cron cộng một bộ ra quyết định trong thân vòng lặp\". Model là hàng hoá phổ thông, vòng lặp mới là đòn bẩy."
}
},
{
"@type": "Question",
"name": "Hướng dẫn này khác gì với Phần 1, bài trụ cột loop engineering?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Phần 1, Loop Engineering: Đã đến lúc ngừng prompt từng turn, định nghĩa loop engineering là gì, với bốn kỷ nguyên lịch sử và một checklist sáu câu. Đó là bài trụ cột, điểm nút lý thuyết. Hướng dẫn này là lộ trình đọc qua chín phần cộng bài nhánh self-improving, sắp theo phase. Đọc Phần 1 để lấy lý thuyết và hướng dẫn này để định hướng."
}
},
{
"@type": "Question",
"name": "Các khối xây dựng của một vòng lặp gồm gì?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Năm khối lắp quanh một trục bộ nhớ: scheduled automation (nhịp đập), worktrees (cô lập), skills, plugins và connectors, và sub-agent (tách maker/checker), đấu dây quanh một file trạng thái greppable sống sót qua các lần chạy. Bỏ cái trục đi thì bạn có một cỗ tự động hoá quên sạch mỗi sáng."
}
},
{
"@type": "Question",
"name": "Nên bắt đầu từ đâu nếu tôi chưa từng dựng một vòng lặp?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Đọc Phần 1 để lấy định nghĩa và checklist, rồi Phần 2 để lấy năm khối xây dựng và một vòng lặp quét lint tối giản chạy được, rồi Phần 3 để lấy stop condition. Ba phần đó là phase Nền tảng. Quay lại hướng dẫn này để chọn bài chuyên sâu tiếp theo từ phase Hạ tầng và Thực chiến."
}
}
]
}
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Blog",
"item": "https://shipwithai.io/vi/blog/"
},
{
"@type": "ListItem",
"position": 2,
"name": "Loop Engineering: Hướng dẫn toàn tập",
"item": "https://shipwithai.io/vi/blog/loop-engineering-complete-guide/"
}
]
}