Thủ thuật
Harness Engineering là gì? Google trình diễn khả năng tự sửa lỗi code với ADK 2.0 và Antigravity SDK
(giờ Việt Nam)
Tóm tắt AI
Google giới thiệu kỹ thuật 'harness' giúp bao bọc LLM bằng các thành phần xác định như sandbox và công cụ kiểm chứng, cho phép AI tự động tạo và sửa lỗi code an toàn mà không cần con người can thiệp.
Bản dịch AI

Làm thế nào để bạn phát hành một sản phẩm phần mềm mà không cần viết một dòng code thủ công nào?
Một người bạn đã hỏi tôi điều này hôm nay, và tôi nhận ra mình không có câu trả lời đơn giản. Vì vậy, tôi đã tìm hiểu sâu hơn.
Hóa ra câu trả lời nằm ở cách bạn thiết kế "harness" (khung điều phối) của mình.
Khoan đã, cái gì cơ? Harness engineering là gì?
Có lý do khiến đây trở thành xu hướng quan trọng nhất hiện nay xoay quanh các coding agent. Câu hỏi lớn nhất hiện nay là làm thế nào để xác thực code do AI tạo ra mà không cần đọc từng dòng một. Làm sao để đảm bảo một agent không làm hỏng môi trường production hoặc xóa dữ liệu của bạn?
Một blog của OpenAI đã chia sẻ một thí nghiệm thú vị, nơi một nhóm gồm 3 kỹ sư đã xây dựng và phát hành bản beta nội bộ của một sản phẩm phần mềm với 0 dòng code viết thủ công. Mọi dòng code: logic ứng dụng, các bài kiểm thử (tests), cấu hình CI, tài liệu, khả năng quan sát (observability) và các công cụ nội bộ đều được viết bởi Codex.
Họ đã làm điều đó như thế nào? Họ không viết ứng dụng. Họ thiết kế cái harness.
Harness chính xác là gì?
Hãy hình dung một AI agent giống như một con ngựa đua mạnh mẽ. Harness chính là đường đua, tấm che mắt và dây cương của người nài ngựa giúp nó chạy đúng hướng thay vì nhảy ra khỏi khán đài.
Như đồng nghiệp của tôi, Arthur Thompson, đã giải thích hôm nay: đối với các agent, harness bao gồm tất cả các thành phần tất định (deterministic components) bao bọc lấy LLM.
Balaji Subramaniam đã trình bày chi tiết các thành phần tất định đó trong blog của anh ấy — lớp điều phối (orchestration layer), môi trường thực thi sandbox, duy trì trạng thái (state persistence) và các công cụ xác thực.
Nếu bạn muốn xây dựng các hệ thống agent đáng tin cậy, công việc của bạn sẽ chuyển từ viết logic sang thiết kế môi trường. Đây là những gì bạn cần tập trung vào:
Cho tôi xem code
Điều này trông như thế nào trong thực tế? Đây là một ví dụ đơn giản sử dụng Google Antigravity SDK với ADK của Google để cấu hình một harness cục bộ. Hãy chú ý cách chúng ta giới hạn chặt chẽ agent trong một không gian làm việc cụ thể (workspaces=["./sandbox"]) và cung cấp cho nó một nơi để lưu trữ bộ nhớ (save_dir="./trajectories") để nó có thể học hỏi từ những kinh nghiệm trước đó:
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Với thiết kế này, bạn có thể đưa code cũ (legacy code) của mình vào sandbox, viết một vòng lặp đơn giản để chạy các bài kiểm thử đơn vị (unit tests) đối với nó và để agent tự sửa lỗi của chính nó một cách lặp đi lặp lại.
Thêm các bài kiểm thử (Tests)
Vậy, làm thế nào để chúng ta thực sự chạy các bài kiểm thử đối với agent trong sandbox này?
Trong kỹ thuật harness hiện đại, các bài kiểm thử là một phần chủ động trong biểu đồ quy trình làm việc (workflow graph) của agent. Sử dụng ADK 2.0 của Google, vốn giới thiệu các quy trình làm việc dựa trên biểu đồ, bạn có thể định nghĩa một bước xác thực kiểm thử như một nút định tuyến (routing node) đơn giản.
Nếu bài kiểm thử vượt qua, công việc hoàn tất. Nếu thất bại, harness sẽ tự động gửi lỗi ngược lại cho agent để thử lại. Hãy chú ý đến 'công tắc ngắt' (kill switch) được tích hợp sẵn: chúng ta theo dõi số lần lặp, vì vậy nếu agent bị kẹt trong vòng lặp vô tận của việc làm hỏng và sửa code, harness sẽ ngắt kết nối một cách an toàn.
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình
Nếu bạn muốn thấy mô hình định tuyến kiểm thử này hoạt động, bạn có thể xem một ví dụ với bản triển khai đầy đủ trong kho lưu trữ ADK harness của Balaji.
Kết nối mọi thứ lại với nhau bằng quy trình làm việc dựa trên biểu đồ
Để kết nối agent và nút kiểm thử, bạn có thể sử dụng biểu đồ Workflow để vạch ra chính xác cách thực thi nên diễn ra mà không cần các vòng lặp while lồng nhau phức tạp trong Python.
Hãy coi đây là việc vẽ các làn đường thực tế trên đường đua:
Vào chế độ toàn màn hình Thoát chế độ toàn màn hình

Chúc mừng! Bạn đã xây dựng được một hệ thống tự trị. Agent viết code và chuyển nó cho nút kiểm thử. Nếu bài kiểm thử thất bại và trả về một tuyến đường loop_back, agent sẽ thử lại với nhật ký lỗi trong tay.
Xem thêm các ví dụ về mô hình vòng lặp trong các mẫu ADK.
Hãy tự mình thử nghiệm
Bạn có thể tự hỏi tại sao bạn cần một tập lệnh Python để chạy một agent. Trong một cửa sổ chat thông thường, bạn chính là harness: bạn sao chép nhật ký lỗi và trông chừng mô hình. Một software harness cho phép hệ thống tự trông chừng chính nó, cho phép bạn tự động hóa hoàn toàn việc lập trình dựa trên kiểm thử (test-driven coding) hoặc tái cấu trúc an toàn các codebase cũ khổng lồ.
Để chạy vòng lặp tự phục hồi này trên máy của bạn ngay hôm nay, việc thiết lập mất chưa đầy năm phút:
Từ đó, bạn có thể thay thế nút kiểm thử đơn giản của chúng tôi bằng một tiến trình con (subprocess) thực sự thực thi pytest hoặc npm test đối với sandbox của bạn, và bạn sẽ có một vòng lặp sửa lỗi hoạt động hoàn chỉnh.
Nếu bạn đã sẵn sàng mở rộng quy mô này, bạn có thể tải xuống IDE và CLI đầy đủ tại antigravity.google, khám phá Antigravity managed agent để thực thi từ xa và ADK 2.0 của Google để sử dụng các quy trình làm việc dựa trên biểu đồ.
Đọc thêm
Các đồng nghiệp của tôi tại Google đã tổng hợp một số hướng dẫn tuyệt vời về những bước tiếp theo. Để tìm hiểu cách xây dựng môi trường an toàn cho các agent của bạn, hãy xem codelab của Sara giới thiệu về Cloud Run sandboxes. Nếu bạn muốn làm chủ khả năng tự sửa lỗi, Balaji Subramaniam gần đây đã xuất bản một bài phân tích sâu về Loop Engineering cho các Coding Agents. Và để thấy tất cả những điều này được áp dụng vào một trường hợp sử dụng doanh nghiệp khổng lồ, hãy đọc bài phân tích của James O'Reilly về Tự động hóa hiện đại hóa hệ thống cũ ở quy mô lớn bằng cách sử dụng các đường ống agentic (agentic pipelines) và Antigravity.
Bài viết được AI dịch và tổng hợp tự động từ Google AI: DEV. Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.