Articles
Thiết kế vòng lặp tự chủ ── Kiến trúc vượt ra ngoài prompt
Product
Career
Đây là bản dịch tự động từ bản gốc tiếng Nhật
※Bài viết này được xây dựng dựa trên tài liệu nội bộ (dạng biểu đồ minh họa) và được cấu trúc lại theo định dạng Manuscript. Chủ đề là thiết kế kiến trúc đa tác nhân "Generator-Evaluator" có khả năng phục hồi, giữ cho công việc viết mã, xem xét và hợp nhất tiếp tục chạy ngay cả khi con người đang ngủ.
Kết thúc của "đồng hồ loài người"
Trước đây, việc sử dụng AI chạy theo "đồng hồ loài người". Tác nhân chờ đợi đầu vào, con người nhấn Enter, token được tạo ra, rồi dừng lại. Nó lặp lại như vậy. Vào tháng 6 năm 2026, một điểm chuyển tiếp đã đến. Peter Steinberger (OpenClaw), Boris Cherny (Claude Code), Addy Osmani (Chrome) đã độc lập hội tụ đến cùng một nhận thức trong cùng một tuần. Các công cụ đã vượt ngưỡng.
본질của sự chuyển dịch như sau: thay vì là người đánh máy các lời nhắc cho tác nhân, hãy trở thành người thiết kế hệ thống để thực hiện việc đó thay thế.Động cơ vòng lặp tự chủ có 3 đặc tính: (1) khởi động theo bộ định thời (thức dậy theo lịch), (2) sinh ra các tác nhân phụ song song (những trợ giúp viên), và (3) tự cấp cứu cho chính nó (đầu ra của hôm qua trở thành đầu vào của hôm nay).
Ngăn xếp giao thức AI 4 lớp
Các lớp của việc sử dụng AI có thể được tổ chức thành 4 lớp, và lớp trên cùng có phạm vi ảnh hưởng của lỗi (bán kính vụ nổ) càng lớn.
| Lớp | Mối quan tâm cốt lõi | Đơn vị ranh giới | Phạm vi ảnh hưởng của lỗi | Vị trí của con người |
|---|---|---|---|---|
| Layer 1: Lời nhắc | Nói gì với mô hình | Một lần tương tác | Câu trả lời sai lầm dễ thấy | Người gõ máy |
| Layer 2: Bối cảnh | Đặt gì vào cửa sổ | Một phiên | Suy luận sai lầm được đưa ra tự tin | Biên tập viên |
| Layer 3: Harness | Trang bị một lần thực hiện (công cụ/hành động) | Một nhiệm vụ | Sai số không được bắt trước khi xuất hàng | Người xem xét |
| Layer 4: Vòng lặp | Lập lịch cho harness | Lặp lại không có người giám sát | Ăn mòn cấu trúc diễn ra trong vài ngày | Kiến trúc sư |
Giải phẫu của vòng lặp chạy liên tục
Vòng lặp tự chủ được tạo thành từ 5 nút.
Khám phá (Discovery) ── được hỗ trợ bởi Skills (SKILL.md). Kiến thức vĩnh viễn của dự án, hoàn trả "nợ ý định".
Bàn giao (Handoff) ── được hỗ trợ bởi Worktrees. Thư mục git độc lập cho thực hiện song song.
Xác minh (Verification) ── được hỗ trợ bởi các tác nhân phụ. Tách biệt Generator-Evaluator. "Một thực thể có thể nói không".
Bền vững hóa (Persistence) ── được hỗ trợ bởi các trình kết nối (MCP) và bộ nhớ. Trạng thái được đặt trong các tệp trên đĩa (chẳng hạn ./state/triage.md). Tác nhân quên, nhưng kho lưu trữ không quên.
Lập lịch (Scheduling) ── được hỗ trợ bởi cơ sở hạ tầng tự động hóa (cron cục bộ, GitHub Actions, thường trình đám mây). Đóng vòng lặp.
Song song hóa Worktree
Vấn đề: Hai tác nhân chỉnh sửa cùng một thư mục làm việc giống như hai kỹ sư cam kết cùng một dòng. Xung đột phá vỡ quy trình máy. Nguyên thủy: Tách các thư mục làm việc độc lập như claude --worktree fix/auth-test 'draft the fix'. Tác dụng: Thay đổi song song hóa từ "hoạt động nhưng lộn xộn" sang "hoạt động và sạch sẽ". Nhiều thư mục làm việc độc lập trong một kho lưu trữ cho phép phân loại vấn đề thông lượng cao.
Bong bóng tự thuyết phục ── Tách Generator và Evaluator
Một chống mẫu là người tạo (Generator) tự chấm điểm bài tập của mình. Người tạo không nhìn thấy mã của mình mà nhìn thấy chuỗi tự thuyết phục của chính họ. Trái lại, phân tách GAN tách biệt người tạo và người đánh giá (Evaluator), giao cho người đánh giá vai trò là một người xem xét mã đối kháng. "Giả sử mã này bị hỏng cho đến khi được chứng minh ngược lại. Đừng khen. Tìm những nơi nó sẽ thất bại".
Một hiểu biết cốt lõi: Điều chỉnh một người đánh giá độc lập thành một người hoài nghi nghiêm ngặt có thể thực hiện được về mặt toán học và thực tiễn dễ dàng hơn nhiều so với làm cho người tạo trở nên phê phán đối với kết quả của chính họ.
Xác định bằng cách thực hiện bên ngoài
Khiếm khuyết: Nếu người đánh giá chỉ đọc mã, thì phán xét là "có vẻ đúng" chứ không phải "chạy đúng". Sự dịch chuyển: Kết nối người đánh giá với môi trường thực hiện bên ngoài (ví dụ: Playwright MCP). Tiêu chuẩn mới: Người đánh giá nhấp vào một nút, buộc chuyển tiếp màn hình, tìm nạp trạng thái DOM, chạy các bài kiểm tra. Phán xét chuyển từ "ý định" sang "hành vi". Luồng trở thành: tác nhân đánh giá → Kết nối Playwright MCP → Kiểm tra DOM/Ảnh chụp màn hình/Trình chạy kiểm tra → Vượt qua/Không vượt qua, là một luồng.
Điều kiện dừng của Maker-Checker
Vòng lặp nên kết thúc khi nào. Nguyên thủy /goal biểu thị "chạy cho đến khi điều kiện được đáp ứng" (ví dụ: /goal tất cả các bài kiểm tra trong test/auth đều vượt qua và lint sạch). Generator (mô hình nặng) viết mã, Evaluator (mô hình nặng) chạy các bài kiểm tra qua MCP, Gatekeeper (mô hình mạnh mẽ, tươi tới) đánh giá /goal. Nếu được đáp ứng, hãy thoát vòng lặp; nếu thất bại, hãy chuyển lý do từ chối trở lại Generator.
Nguyên tắc: Xác định hoàn thành phải được thực hiện bởi một mô hình tươi không mang bất kỳ hành trang bối cảnh nào từ mô hình thực hiện công việc. Và có một lời cần nhớ: Sàn của vòng lặp là người đánh giá. Người tạo quyết định trần của những gì được tạo ra, người đánh giá quyết định sàn của những gì không được tạo ra.
5 cách một vòng lặp có thể thất bại
| Phần tử bị thiếu | Chống mẫu | Các triệu chứng | Sửa chữa cần thiết |
|---|---|---|---|
| Thiếu xác minh | Vòng lặp chỉ gật đầu | 100 lượt, tiếp tục phê duyệt rác của riêng mình | Triển khai tách biệt Generator-Evaluator |
| Thiếu bền vững hóa | Vòng lặp mất trí nhớ | Mỗi buổi sáng khám phá lại chính xác công việc tương tự | Buộc ghi tệp trạng thái vào đĩa |
| Thiếu lập lịch | Vòng lặp thủ công | Kể từ ngày được trình diễn, nó chưa bao giờ chạy | Kết nối cron/trình kích hoạt sự kiện |
| Thiếu khám phá | Vòng lặp mù quáng | Vẫn dành 30 phút mỗi lần để dán "sửa lỗi này" | Nướng heuristic vào SKILL.md |
| Thiếu bàn giao | Vòng lặp rối tơi | 5 tác nhân song song phá hủy 1 thư mục git | Buộc tách biệt bằng --worktree |
Xen kẽ xác định quy mô doanh nghiệp
Quy trình "Minions" của Stripe có luồng: Trigger (Slack) → Context Orchestrator (Sourcegraph/Jira) → Code Generation (LLM) → Essential Linter Gate → Lint Fix (LLM) → Git Commit → Human Review, hợp nhất 1.300 PR do máy tạo ra mỗi tuần (được điều khiển bởi khung mã nguồn mở Goose).
Bí quyết là làm cho các hệ thống xác định thực hiện công việc xác định. Thu thập bối cảnh và lint được mã hóa cứng chặt chẽ, và LLM bị nhốt hoàn toàn bên trong các hàng rào được ràng buộc bởi các quy tắc cứng. Môi trường được coi là "Gia súc, không phải Thú nuôi (Cattle, Not Pets)", và các Devbox trên EC2 được thay thế và loại bỏ ngay lập tức để tránh suy thoái trạng thái.
Cấu trúc liên kết thực hiện ── Vòng lặp sống ở đâu
| Cấu trúc liên kết | Trạng thái máy | Phiên | Khoảng thời gian tối thiểu | Truy cập FS cục bộ |
|---|---|---|---|---|
| Đám mây (Cloud Routines / GitHub Actions) | Có thể tắt máy | Không bắt buộc | 1 giờ | Không có (sao chép sạch sẽ) → Lý tưởng cho phân loại triage ban đêm |
| Desktop (macOS cron) | Máy BẬT | Không bắt buộc | 1 phút | Có → Lý tưởng cho bảo trì kho lưu trữ định kỳ |
| Cục bộ (/loop lệnh) | Máy BẬT | Bắt buộc | 1 phút | Có → Lý tưởng cho kiểm tra tần suất cao trong quá trình phát triển |
Gọi lại chạy cục bộ "chạy ngay cả khi đang ngủ" là quá mức. Lập lịch cục bộ mua tần suất, lập lịch đám mây mua tự chủ thực sự.Một bộ lập lịch không thể mua được cả hai.
Vòng lặp không được giám sát - Vòng luẩn quẩn
Vòng lặp không có người giám sát có 4 rủi ro: Nợ xác minh (các bài kiểm tra vượt qua nhưng mã được hợp nhất có các lỗi logic tinh tế) → Suy thoái sự hiểu biết (bản đồ tâm trí của cơ sở mã lệch so với thực tế) → Từ bỏ nhận thức ("Tôi không biết nó hoạt động như thế nào nhưng hãy chấp nhận PR") → Lãng phí token (tác nhân không được giám sát tạo ra trợ giúp viên suốt đêm, liên tục thử lại sửa lỗi vô ích). Đây không phải là 4 rủi ro riêng biệt mà là một chế độ thất bại phức hợp duy nhất.Một vòng lặp không có người đánh giá nghiêm ngặt đang giao quyền quyết định chi tiêu cho bug của riêng nó.
Kinh tế của thế hệ chi phí bằng không
Những gì trở nên phong phú: Thế hệ. Chi phí mã, kế hoạch, sửa chữa, yêu cầu kéo hướng tới không và lao động máy sụp đổ. Những gì vẫn hiếm: Phán xét. Vòng lặp có thể tạo ra 100 ứng cử viên triển khai, nhưng sự lựa chọn được dựa trên "có vẻ đúng" chứ không phải "thực sự đúng". Vòng lặp như một bộ khuếch đại: Vòng lặp là một ký hiệu nhân trung thực. Đưa vào hiểu biết, nó khuếch đại sự hiểu biết; đưa vào lười biếng, nó khuếch đại thảm họa.
Bộ ngắt mạch hoạt động
Luôn đọc mẫu (phòng chống suy thoái hiểu biết): Mỗi ngày kiểm tra xem bạn có thể giải thích một PR được tạo bằng máy ngẫu nhiên được chọn bằng cách của chính mình không. Nếu không thể giải thích, bản đồ tâm trí của bạn đã lỗi thời.
Đặt giới hạn trước khi xuất hàng (phòng chống lãng phí token): Giới hạn ngân sách cho mỗi lần thực hiện hay số lần thử tối đa không phải để tiết kiệm mà là bộ ngắt mạch chuyển đổi rủi ro mở thành rủi ro có hạn.
Mở một cánh cửa (phòng chống từ bỏ nhận thức): Tạo ít nhất một điểm kiểm tra để tạm dừng cho con người. Không phải để can thiệp mỗi lần mà để đảm bảo có thể can thiệp.
Triển khai vòng lặp có khả năng phục hồi tối thiểu
Cấu hình tối thiểu trông như sau: Khởi động theo lịch (cron: tự động đám mây), chạy kỹ năng (morning-triage: khám phá), ghi kết quả vào ./state/triage.md (bền vững hóa). Các sửa chữa được phát hiện được thực hiện trong worktree (fix/$finding: bàn giao) và được xác định bằng /goal "các bài kiểm tra vượt qua và lint sạch" (xác minh). Các thư mục đầu ra được chia thành ./inbox/ (tất cả những gì chưa được xác minh), ./state/, ./src/, và không bao giờ tự động hợp nhất. Tất cả những gì chưa được xác minh đều hạ cánh trong ./inbox/ là nguyên tắc.
Cuối cùng, tôi sẽ kết thúc với lời nói này.
「Hãy tạo vòng lặp. Nhưng hãy tạo nó như một người vẫn muốn là kỹ sư. Không phải như một người chỉ nhấn nút.」
Đã đọc
Đọc tiếp ↓