Quy trình làm việc "Không cần Prompt": Lý thuyết vòng lặp của Boris giúp tăng năng suất cho lập trình viên

@nobel_824
TIẾNG NHẬT4 tuần trước · 17 thg 6, 2026
220K
145
6
0
427

TL;DR

Bài viết này khám phá Loop Engineering, một phương pháp được Boris Cherny, trưởng nhóm Claude Code, sử dụng để tự động hóa quá trình phát triển. Bài viết giải thích cách sử dụng lệnh /loop và các tệp trạng thái để tạo ra các hệ thống AI có khả năng lập trình và sửa lỗi mà không cần sự can thiệp của con người.

"Tôi không còn gõ prompt vào Claude nữa. Vòng lặp đang chạy, và chính vòng lặp đó quyết định bước tiếp theo bằng cách đưa prompt cho Claude. Công việc của tôi giờ đây là viết các vòng lặp."

Đây là lời phát biểu công khai của Boris Cherny, người đứng đầu Claude Code (được đề cập trong The New Stack và các bài viết của Addy Osmani).

Trong khi nhiều người vẫn đang tinh chỉnh prompt để cải thiện độ chính xác, thì người xây dựng công cụ đã bước ra khỏi vai trò "người ra prompt".

Khi nghĩ về điều này, chừng nào còn có "lượt con người"—ngồi trước màn hình, chờ AI phản hồi, kiểm tra và đưa ra hướng dẫn tiếp theo—thì giới hạn tốc độ vẫn được quyết định bởi tốc độ đôi tay của bạn.

Loop Engineering là ý tưởng loại bỏ lượt con người đó khỏi cấu trúc. Boris hoàn toàn cam kết với điều này; anh ấy nói đã xóa IDE vào tháng 11 năm 2024 và không mở lại từ đó. Anh ấy khẳng định gần như mọi đóng góp cho Claude Code trong tháng qua đều do chính Claude Code viết (được báo cáo là hơn 200 PR).

Người tạo ra công cụ không tự viết code mà đã chuyển sang phe "theo dõi xem vòng lặp có đang chạy đúng không". Hôm nay, tôi sẽ phân tích điều này ở cấp độ đặc tả kỹ thuật, không chỉ là cảm tính. Tôi cũng đang trong quá trình chuyển dịch sang phía vòng lặp, và tôi có thể cảm nhận đôi tay mình ngày càng tự do hơn khi càng chuyển dịch.

Bài viết liên quan: Giới thiệu về Vibe Coding: 6 bước cho người không biết code để xây dựng ứng dụng với Claude. Kỷ nguyên tự sản xuất vào cuối tuần đã đến

tatsuki | Claude Code活用支援 on X — cover

https://note.com/nobel/n/n8192ec07d689

Loop Engineering Đồng Nghĩa Với Sự Thay Đổi Vai Trò

Nói cách khác, vị trí của bạn thay đổi. Trước đây, con người ngồi ở trung tâm của một cuộc đối thoại qua lại: con người chỉ đạo, AI trả lời, con người kiểm tra và sửa lỗi. Trong thiết kế vòng lặp, con người chịu trách nhiệm thiết kế cơ chế tuần hoàn (vòng lặp), trong khi việc thử-sai và xác minh kết quả được chuyển sang phía AI. Bạn chỉ cần chờ thông báo khi nó hoàn thành.

Addy Osmani của Google cũng viết điều tương tự trong một bài viết có tựa đề Loop Engineering, mô tả nó là "thay thế người gõ prompt bằng một cơ chế tự động gõ prompt thay họ." Điểm đòn bẩy đã chuyển từ khả năng viết prompt tốt sang cách thiết kế một hệ thống để AI viết prompt cho bạn. Đây là cốt lõi.

Tuy nhiên, chính Addy cũng cảnh báo: "Nó vẫn đang ở giai đoạn đầu, và tôi khá hoài nghi. Bạn thực sự phải cẩn thận về chi phí token." Chúng ta sẽ quay lại cạm bẫy này ở nửa sau.

Thông Số Kỹ Thuật Của /loop

Claude Code có một kỹ năng tích hợp sẵn gọi là /loop (từ v2.1.72 trở đi). Đây là điểm vào dễ nhất cho loop engineering. Vì các giải thích trên mạng thường bị pha trộn với lỗi, tôi sẽ tập trung vào các điểm chính dựa trên tài liệu về tác vụ theo lịch chính thức.

Hành vi thay đổi tùy thuộc vào tham số bạn truyền cho nó:

  • Cả khoảng thời gian và prompt: /loop 5m check if the deployment is finished and let me know sẽ chạy theo khoảng thời gian cố định.
  • Chỉ prompt: /loop check if the CI passed and respond to review comments. Claude sẽ tự quyết định khoảng thời gian từ 1 phút đến 1 giờ (tự điều chỉnh nhịp độ).
  • Không truyền gì /loop: Prompt bảo trì tích hợp sẵn (tiếp tục công việc chưa hoàn thành, chăm sóc PR, dọn dẹp nhẹ) hoặc file loop.md bạn đặt sẽ chạy.

Khoảng thời gian có thể đặt ở đầu như 30m hoặc cuối như every 2 hours. Đơn vị là s / m / h / d. Bạn cũng có thể truyền các lệnh khác, ví dụ /loop 20m /review-pr 1234, để chạy các kỹ năng đã lưu mỗi lần. Để dừng lại, nhấn Esc trong khi chờ (các tác vụ được tạo bằng yêu cầu ngôn ngữ tự nhiên không dừng bằng Esc; bạn phải yêu cầu xóa chúng). Ở chế độ tự điều chỉnh nhịp độ, nếu Claude xác định tác vụ thực sự hoàn thành, nó sẽ kết thúc mà không lên lịch lần chạy tiếp theo.

Chế độ tự điều chỉnh nhịp độ có một lợi thế tinh tế: nó tự động điều chỉnh, chờ một khoảng thời gian ngắn nếu bản dựng sắp xong và chờ lâu hơn nếu không có gì xảy ra. Đôi khi một cơ chế gọi là "Monitor" được sử dụng để truyền phát đầu ra nền thay vì thăm dò, thường rẻ hơn so với việc gửi prompt ở khoảng thời gian cố định.

Hãy để tôi sửa một hiểu lầm phổ biến trong các bài viết nguồn. Đôi khi người ta viết rằng các tác vụ "tự động bị xóa 3 ngày sau khi tạo", nhưng chính xác là các tác vụ định kỳ hết hạn 7 ngày sau khi tạo (chúng chạy lần cuối và biến mất). Ngoài ra, /loop có phạm vi trong phiên làm việc và biến mất khi bạn bắt đầu cuộc trò chuyện mới. Nếu bạn đóng nó, bạn có thể quay lại bằng --resume nếu nó chưa hết hạn.

Có ba phương pháp lập lịch, được chọn theo trường hợp sử dụng:

  • Cloud (Routines): Chạy trên phía Anthropic. Nó chạy ngay cả khi máy của bạn tắt. Khoảng thời gian tối thiểu là 1 giờ.
  • Desktop Scheduled Tasks: Chạy trên máy của bạn và có thể truy cập các file cục bộ.
  • /loop: Chỉ khi phiên làm việc đang mở. Tối thiểu 1 phút, tiện lợi cho việc thăm dò trong phiên.

Sự phân công lao động là: sử dụng Routines hoặc GitHub Actions để thường trực mà không cần can thiệp của con người, và /loop để giám sát trong phiên làm việc.

Các Tác Vụ Tiêu Chuẩn Mà Vòng Lặp Hoạt Động Hiệu Quả

Các tác vụ trong quy trình thường ngày của bạn như "kiểm tra và sửa một chút" lặp đi lặp lại thường phù hợp với vòng lặp. Có ba mô hình phổ biến:

  • Bug Patrol: Phát hiện vấn đề hoặc lỗi kiểm thử, đọc nguyên nhân, sửa nó, chạy kiểm thử và tạo PR theo khoảng thời gian đều đặn.
  • Continuous Review: Theo dõi các thay đổi code và liên tục chỉ ra các khu vực cần quan tâm. Con người chỉ quyết định có chấp nhận các đề xuất hay không.
  • Document Sync: Phát hiện các thay đổi trong mã nguồn và cập nhật README hoặc thông số kỹ thuật.

Điểm chung của ba mô hình này là mục tiêu có thể được đánh giá rõ ràng, chẳng hạn như "các bài kiểm thử vượt qua" hoặc "PR đã được tạo". Ngược lại, các tác vụ có tiêu chí mơ hồ không phù hợp với vòng lặp. Nếu điểm dừng không rõ ràng, nó sẽ chạy mãi và tiêu tốn token. Với tác vụ đầu tiên, an toàn hơn khi chọn một tác vụ mà thành công hay thất bại hiện rõ ngay lập tức.

Ngăn Chặn Chạy Tràn Và Quên Bằng "State Files"

Có hai nỗi sợ với vòng lặp: lặp lại cùng một lỗi và tiêu tốn token vô tận.

Đây là lúc thiết kế với một state file duy nhất trong dự án trở nên hiệu quả. Dù là STATE.md hay todo.md, AI đọc và ghi mục tiêu hiện tại / các mục đã hoàn thành / các bước tiếp theo / các điểm bế tắc trong mỗi vòng lặp. Ngay cả khi phiên làm việc bị gián đoạn, AI không mất dấu "nó đang ở đâu và đang nhắm đến điều gì."

Đây không chỉ là một thực hành ngẫu nhiên; chính Anthropic cũng đã đạt đến kết luận gần như tương tự trong Effective harnesses for long-running agents (tháng 11 năm 2024). Cấu hình của họ sử dụng hai vai trò: một agent khởi tạo để thiết lập môi trường và một agent viết code để tiến triển một tính năng mỗi phiên. Tiến độ được chuyển giao giữa các phiên qua git commits và một file claude-progress.txt. Đối với các công việc dài, nén bằng cách tóm tắt là không đủ. Chính sách là ghi ra một file có cấu trúc một lần và xây dựng lại ngữ cảnh.

Trong hoạt động của riêng tôi, tôi sử dụng tasks/state.md làm trung tâm cho trạng thái chia sẻ, mà cả phía động não và phía triển khai đều đọc trước khi hành động. Nó giống như bài báo: "Đừng tin vào ngữ cảnh, hãy tin vào file." Đơn giản, nhưng không có nó, vòng lặp sẽ lạc lối ở vòng thứ hai.

Phương Pháp Ralph Và Tách Biệt Maker Khỏi Checker

Có một phiên bản cực đoan của vòng lặp gọi là phương pháp "Ralph". Được phổ biến bởi Geoffrey Huntley, nguồn gốc chỉ đơn giản là một vòng lặp bash:

Bằng cách đưa cùng một prompt liên tục và sử dụng một file Markdown với kế hoạch làm trạng thái chia sẻ trên đĩa, AI đọc nó mỗi lần và tự quyết định "làm gì tiếp theo". Trông có vẻ liều lĩnh, nhưng vì có state file, nó tiến lên trong mỗi vòng lặp. Claude Code cũng có một plugin ralph-loop chính thức giúp tiếp tục gửi cùng một prompt cho đến khi điều kiện hoàn thành (completion promise) được đáp ứng. Có một ràng buộc rằng tuyên bố hoàn thành chỉ được đưa ra khi nó thực sự đạt được.

Tuy nhiên, nếu để mọi thứ cho một AI, nó sẽ nói "OK" với code do chính nó viết. Đây là lúc việc tách biệt AI tạo (Maker) và AI kiểm tra (Checker) trở nên hiệu quả. Trong hoạt động của riêng tôi, tôi tách biệt việc triển khai và xác minh thành các agent khác nhau, và tôi không cung cấp ý định triển khai cho phía xác minh—tôi chỉ đưa ra các yêu cầu và để nó đánh giá độc lập. Tôi đã học được một cách khó khăn rằng tự đánh giá trong cùng một phiên chắc chắn sẽ dễ dãi.

Kết hợp một "agent chỉ để đánh giá với góc nhìn khác" vào vòng lặp—thiết kế lớp kiểm tra đa cấp này là một trong những công việc con người nên giữ lại.

Mức Độ Tự Chủ Trong Thiết Kế Theo Ba Giai Đoạn

Giao phó mọi thứ cùng một lúc sẽ dẫn đến tai nạn. An toàn hơn khi phân chia mức độ tham gia thành các lớp:

  • L1 (Thủ công): Con người gõ prompt và kiểm tra từng cái. Cách truyền thống.
  • L2 (Vòng lặp bán tự động): Theo dõi một state file và giám sát một tập hợp tác vụ cụ thể cho đến khi hoàn thành với /loop.
  • L3 (Thường trực): Chạy liên tục qua Routines hoặc GitHub Actions mà không cần can thiệp của con người.

Thực tế là bắt đầu với L2. Chạy một tác vụ đến khi hoàn thành với /loop và quan sát hành vi. Chuyển lên L3 khi bạn thấy phạm vi độ tin cậy. Trong vài lần đầu tiên, tôi xem nhật ký trên một màn hình phụ để thấy "nó đã đưa ra quyết định sai ở đâu."

Cạm Bẫy (Hãy Biết Trước)

Vì tôi chỉ viết về mặt tốt, đây là ba điểm bạn có thể gặp khó khăn:

  1. Chi phí Token: Vòng lặp tiêu thụ nhiều token hơn khi chạy. Đây là điều Addy nhấn mạnh; nếu bạn đặt khoảng thời gian quá ngắn, nó có thể tốn một khoản kha khá qua đêm. Tự điều chỉnh nhịp độ tốt hơn khoảng thời gian cố định vì nó chờ khi cần, giảm lãng phí.
  2. Các Thao Tác Không Thể Hoàn Nguyên: Prompt bảo trì tích hợp sẵn chỉ thực hiện các hành động không thể hoàn nguyên như push hoặc xóa trong "phạm vi đã được cho phép trong cuộc trò chuyện." Khi viết prompt của riêng bạn, an toàn hơn khi tự xác định ranh giới cho các thao tác phá hủy.
  3. Hết Hạn Sau 7 Ngày: Các tác vụ /loop định kỳ hết hạn 7 ngày sau khi tạo. Nếu bạn muốn chạy lâu hơn, hãy chuyển sang Routines hoặc Desktop tasks.

Lưu Ý Cho Người Dùng Trung Cấp

  • /loop/goal khác nhau. /loop chạy theo khoảng thời gian. Nếu bạn muốn tiếp tục mỗi lượt cho đến khi đáp ứng điều kiện, hãy sử dụng /goal. Nếu bạn muốn nó phản ứng ngay khi sự kiện xảy ra, hãy sử dụng push qua Channels.
  • Đặt một file loop.md (.claude/loop.md hoặc ~/.claude/loop.md) cho phép bạn thay thế prompt mặc định của /loop trống bằng prompt của riêng bạn. Nó hữu ích để viết các tác vụ thường ngày như "sửa nếu CI của nhánh release bị đỏ."
  • Có tối đa 50 tác vụ theo lịch cho mỗi phiên. Bạn có thể xem danh sách bằng CronList và xóa theo ID bằng CronDelete.

Tóm Lược

Trước đây, thời gian tôi ngồi trước màn hình là giới hạn trên của tiến độ. Giờ đây, một vòng lặp đọc state file trong khi tôi ngủ tiến triển từng tính năng một, và buổi sáng của tôi bắt đầu bằng việc kiểm tra tiến trình đó.

Trước khi cải thiện nội dung (độ chính xác của prompt), hãy thiết kế cách nó chạy (tách biệt vòng lặp, quản lý trạng thái và xác minh). Đòn bẩy đã chuyển dịch sang đó—đây là điểm chung trong các câu chuyện của Boris, Addy và harness của Anthropic. Tôi tin rằng đó không phải là một lý thuyết khó, mà là sự tích lũy ổn định của các thiết kế đơn giản, như quyết định thời điểm dừng trước khi bạn bắt đầu vòng lặp.

tatsuki | Claude Code活用支援 - inline image

Thông tin hữu ích không thể chia sẻ trên X đang được chia sẻ trong LINE OpenChat. Nếu bạn quan tâm đến việc sử dụng Claude Code/Codex hoặc sử dụng AI cho các hoạt động X, hãy tham gia cùng chúng tôi.

https://t.co/9LOoUYvCbO

Lưu một chạm

Đọc sâu bài viết viral bằng AI trong YouMind

Lưu nguồn, đặt câu hỏi tập trung, tóm tắt lập luận và biến một bài viết viral thành các ghi chú có thể tái sử dụng trong một không gian làm việc AI duy nhất.

Khám phá YouMind
Dành cho nhà sáng tạo

Biến Markdown của bạn thành bài viết 𝕏 gọn gàng

Khi bạn đăng bài viết dài của riêng mình, việc định dạng hình ảnh, bảng và khối mã cho 𝕏 rất mệt mỏi. YouMind biến cả bản nháp Markdown thành một bài viết 𝕏 gọn gàng, sẵn sàng để đăng.

Thử Markdown sang 𝕏

Thêm pattern để giải mã

Bài viết viral gần đây

Khám phá thêm bài viết viral