Ralph Wiggum loop: chạy agent lặp đi lặp lại cho tới khi test xanh
Tóm tắt
Ralph Wiggum loop (đặt theo tên nhân vật Simpsons) là kỹ thuật chạy AI agent trong một vòng lặp với prompt cố định, kiểm tra bằng test/lint/type-check sau mỗi lượt, và chỉ dừng khi kiểm tra đạt hoặc chạm giới hạn số vòng. “Xong” do harness quyết định, không phải do mô hình tự nhận.
Cơ chế
for i in $(seq 1 20); do
claude -p "$(cat PROMPT.md)"
npm test && npm run lint && break # kiểm tra không thể nói dối
done- Trạng thái nằm trong repo: mỗi vòng bắt đầu mới, dựa trên những gì đã lưu xuống đĩa.
- Anthropic có plugin Ralph Wiggum cho Claude Code dùng Stop Hook thay cho vòng lặp bash — tiện hơn nhưng che bớt cơ chế.
Khi nào hợp, khi nào không?
| Hợp | Không hợp |
|---|---|
| Refactor, migration, dọn code | Việc khám phá, chưa có tiêu chí nghiệm thu |
| Sửa cho tới khi test suite xanh | Thiết kế UX, quyết định sản phẩm |
| Làm theo một spec cố định | Yêu cầu còn thay đổi giữa chừng |
Rào chắn bắt buộc
- Giới hạn số vòng và thời gian để kiểm soát chi phí token.
- Giữ spec cố định trong suốt vòng lặp để agent không “trôi”.
- Tiêu chí hoàn thành phải là lệnh chạy được, không phải câu hỏi “xong chưa?”.
- Lưu log và diff từng vòng; ưu tiên thay đổi nhỏ.
- Chạy trong nhánh riêng hoặc sandbox, review trước khi merge.
Tham khảo: The Ralph Wiggum Loop (DreamHost) · Self-improving coding agents (Addy Osmani)