Trong suốt hai năm qua, cách chúng ta làm việc với AI chủ yếu xoay quanh Prompt Engineering (Kỹ thuật câu lệnh). Dù bạn dùng ChatGPT, Claude hay Github Copilot, quy trình thường là: Bạn đưa ra yêu cầu (prompt) -> AI trả lời -> Bạn kiểm tra lỗi -> Bạn copy lỗi gửi lại cho AI -> AI sửa.

Nói cách khác, chính bạn đang là “vòng lặp” (the loop) của AI.

Nhưng một xu hướng công nghệ mới đang định hình lại toàn bộ ngành công nghiệp phần mềm: Loop Engineering (Kỹ thuật vòng lặp). Đây không chỉ là một thuật ngữ “kêu”, mà là kiến trúc cốt lõi đứng sau các AI Agents mạnh mẽ nhất hiện nay như Claude Code, SWE-agent hay AutoGen. Vậy Loop Engineering là gì và một Tester có thể tận dụng nó như thế nào?

1. Loop Engineering Là Gì? (Khái niệm cốt lõi)

Loop Engineering là kỷ luật thiết kế các chu kỳ thực thi lặp đi lặp lại để AI tự động hoàn thành một nhiệm vụ từ đầu đến cuối mà không cần con người can thiệp vào từng bước nhỏ.

Thay vì tự hỏi: “Làm sao để viết một prompt tốt hơn?”, Loop Engineering buộc bạn phải trả lời câu hỏi: “Làm sao để xây dựng một hệ thống giúp AI tự nhận biết lỗi, tự xác minh (verify), và tự sửa chữa cho đến khi đạt được mục tiêu?”

Cơ Chế Hoạt Động Của Một Agentic Loop

Một vòng lặp AI (Agentic Loop) điển hình không phải là một đường thẳng (A -> B -> C), mà là một chu trình khép kín hoạt động theo mô hình ReAct (Reason + Act):

  1. Perceive (Nhận thức): Agent thu thập thông tin từ môi trường (đọc file log lỗi, xem code, kiểm tra giao diện).
  2. Reason (Suy luận): Agent phân tích nguyên nhân tại sao test case bị fail hoặc code bị lỗi.
  3. Act (Hành động): Agent gọi các công cụ (tools) để thực thi – ví dụ: sửa file, chạy lại lệnh npm test hoặc gửi một API request.
  4. Observe (Quan sát): Agent đọc kết quả trả về từ hành động vừa làm (ví dụ: test đã xanh chưa, hay vẫn báo lỗi dòng 42?).
  5. Iterate & Terminate (Lặp lại & Kết thúc): Nếu chưa đạt, nó quay lại bước 1. Nếu thỏa mãn điều kiện dừng (Termination logic) như “Tất cả các test case đều pass”, vòng lặp kết thúc.

Sự khác biệt lớn nhất: Với Prompt Engineering, nếu AI làm sai, nó sẽ đứng im chờ bạn mắng. Với Loop Engineering, nếu AI làm sai, nó tự đọc Log, tự chửi chính nó, tự sửa và tự chạy lại.

2. 4 Trụ Cột Của Một Vòng Lặp Hoàn Hảo

Một vòng lặp tốt không phải là cho AI “chạy thả ga” (vì nó sẽ ngốn sạch tiền token của bạn). Một Loop Engineer thiết kế hệ thống dựa trên 4 yếu tố:

  • Mục tiêu rõ ràng (Clear Objectives): Không nói “Hãy test chức năng giỏ hàng”. Phải nói “Tất cả 15 test case trong file cart.spec.ts phải báo xanh (Pass)”.
  • Công cụ thực thi (Tools/Actions): Agent phải được cấp quyền chạy terminal, đọc database, hoặc gọi API để có thể tự hành động.
  • Tín hiệu phản hồi (Feedback/Observation): Agent cần nhận được kết quả cụ thể (ví dụ: chuỗi JSON báo lỗi) chứ không chỉ là lời phán “Sai rồi”.
  • Điều kiện dừng chặt chẽ (Termination Logic): Phải quy định rõ vòng lặp dừng khi nào: Khi test pass 100%, hay khi lặp quá 5 lần mà không có tiến triển (để tránh lặp vô hạn).

3. Ứng Dụng Loop Engineering Vào Quy Trình Của QA/Tester

Là một QA/Tester, Loop Engineering biến bạn từ người “chạy test” (test executor) thành người “thiết kế hệ thống kiểm thử tự động” (testing system designer).

Thay vì phải gõ lệnh và kiểm tra từng li từng tí, tôi có thể ứng dụng khái niệm này vào công việc hàng ngày như sau:

A. Vòng Lặp Tự Động Sửa Test Script (Self-Healing Automation)

Kịch bản: Khi giao diện thay đổi, hàng loạt script UI Automation (như Selenium hay Playwright) bị gãy do sai locator (ID/XPath). Áp dụng Loop: Tôi sẽ thiết lập một Agent Loop chuyên sửa test:

  • Trigger (Kích hoạt): Khi CI/CD báo lỗi test UI.
  • Loop (Vòng lặp): Agent đọc file log lỗi -> Tải DOM HTML mới nhất của trang web -> Tìm xem ID mới của nút bấm là gì -> Sửa lại file code Playwright -> Chạy lại test.
  • Stop Condition (Dừng): Dừng lại khi script chạy pass và tự động mở một Pull Request cho tôi duyệt.

B. Vòng Lặp Sinh Dữ Liệu Test (Test Data Generation Loop)

Kịch bản: Cần tạo 100 tài khoản người dùng có trạng thái cực kỳ phức tạp (ví dụ: nợ xấu cấp độ 3, thẻ tín dụng đã khóa, có khoản vay dưới 5 triệu) để test tính năng mới. Áp dụng Loop: Tôi sẽ thiết kế một “Data Generator Loop”:

  • Agent viết script SQL/API để tạo user đầu tiên -> Truy vấn DB để kiểm tra (Verify) xem các cờ trạng thái đã đúng chưa.
  • Nếu đúng chuẩn, nó lưu lại thành pattern (Memory) và tự động lặp lại để bơm đủ 99 user còn lại vào hệ thống một cách hoàn toàn tự động.

C. Triaging Bug Vòng Lặp Đối Kháng (Maker-Checker Split)

Kịch bản: Phân tích một Bug do khách hàng report trên Production nhưng không rõ nguyên nhân. Áp dụng Loop: Tôi sẽ chạy một mô hình đa tác tử (Multi-agent loop).

  • Agent 1 (Checker): Đọc Log hệ thống, dựng lại kịch bản để tái hiện lỗi.
  • Agent 2 (Maker – Dev Ảo): Cố gắng đề xuất mã sửa lỗi.
  • Loop: Agent 2 sửa code -> Agent 1 chạy bộ test hồi quy (Regression Test). Nếu hệ thống vẫn dính lỗi hoặc sinh ra lỗi mới, Agent 1 sẽ gửi trả lại lỗi cho Agent 2 tiếp tục sửa cho đến khi tìm được giải pháp an toàn nhất. Tôi chỉ việc vào xem báo cáo cuối cùng.

Lời Kết

Với Loop Engineering, tương lai của QA không nằm ở việc bấm bao nhiêu nút hay viết bao nhiêu file test thủ công. Tương lai nằm ở khả năng thiết kế các vòng lặp kiểm chứng (Verification Loops) chặt chẽ. Kỹ năng quan trọng nhất của chúng ta sẽ chuyển từ “biết code automation” sang “biết cách định nghĩa tiêu chuẩn thành công để AI tự động thực thi”.