HarnessDev: Khi các LLM tự xây dựng cơ sở hạ tầng riêng

ByteDance cùng một nhóm các trường đại học đã ra mắt HarnessDev, một framework cho phép các mô hình ngôn ngữ lớn (LLM) tự viết "hệ điều hành tác nhân" (agent operating systems) của riêng chúng, được gọi là Agent Harnesses. Nhóm nghiên cứu cung cấp cho LLM một bộ công cụ khởi đầu (starter kit) tối giản và để nó tự hoàn thiện phần còn lại, cho thấy cách AI có thể xây dựng lớp điều khiển để vận hành các vòng lặp sử dụng công cụ, các bước xác minh và xử lý lỗi của chính nó — mà không cần con người phải gõ từng dòng mã.

Tại sao một harness tự xây dựng lại quan trọng

Các tác nhân AI (AI agents) đã tiến hóa từ những trợ lý phản hồi theo câu lệnh đơn lẻ thành những nhân sự thực hiện đa bước, có khả năng gọi API, truy vấn cơ sở dữ liệu và kết nối các kết quả lại với nhau. Cho đến nay, các nhà phát triển thường phải tự tay viết mã điều phối (orchestration code) để chỉ dẫn mô hình khi nào cần gọi công cụ tìm kiếm, cách lưu trữ trạng thái trung gian và cách xác minh câu trả lời cuối cùng. HarnessDev đảo ngược mô hình đó: một seed harness (harness hạt giống) chỉ cung cấp vừa đủ khung sườn — các hàm cơ bản để lặp, chọn công cụ và theo dõi trạng thái — và sau đó LLM sẽ mở rộng nó thành một môi trường thực thi (runtime) đầy đủ tính năng.

Trong bài kiểm tra chuẩn (benchmark) của nghiên cứu, mô hình đã tạo ra 18 harness riêng biệt, bổ sung thêm hơn 17.000 dòng mã vào bản hạt giống ban đầu. Mỗi harness đều quản lý toàn bộ vòng đời của một tác vụ: thực thi các vòng lặp, chọn đúng công cụ, duy trì ngữ cảnh, theo dõi trạng thái, xác minh kết quả và phục hồi sau lỗi.

Những chi phí ẩn mà nghiên cứu đã phát hiện

Các con số trông có vẻ ấn tượng, nhưng các tác giả cảnh báo rằng việc triển khai thô không đồng nghĩa với việc có thể sử dụng thực tế.

  • Các thành phần không được sử dụng – Một phần đáng kể mã được tạo ra chưa bao giờ được chạy trong quá trình thực hiện tác vụ thực tế. LLM đã viết các hàm mà tác nhân không bao giờ gọi đến, làm phình to cơ sở mã mà không mang lại giá trị.
  • Sự phụ thuộc vào mô hình (Model lock-in) – Các harness có xu hướng được tinh chỉnh để phù hợp với chính LLM đã tạo ra chúng. Khi cùng một harness đó được giao cho một mô hình khác, hiệu suất giảm xuống đáng kể, cho thấy logic điều khiển được tạo tự động đã lồng ghép các đặc điểm riêng biệt của mô hình đó.
  • Lỗ hổng xác minh – Một harness thử nghiệm báo cáo tỷ lệ thành công là 99% (99 trên 100 lần chạy) nhưng chỉ chính xác 48% thời gian. Nếu không có cơ chế xác minh mạnh mẽ, một tác nhân có thể đưa ra các câu trả lời sai một cách đầy tự tin.
  • Chi phí token dư thừa – Việc sử dụng token — một thước đo cho chi phí tính toán — biến động rất lớn. Một harness yêu cầu lượng token gấp bảy lần so với harness khác để đạt được cùng một kết quả, làm dấy lên lo ngại về khả năng mở rộng trong môi trường thực tế (production).

Những phát hiện này nhấn mạnh nhu cầu về thiết kế có kỷ luật, ngay cả khi mã nguồn được tạo ra từ một LLM.

Những điều nhà phát triển cần lưu ý

  1. Coi thiết kế harness như một kiến trúc hệ thống – Đừng chỉ dựa vào việc mô hình sẽ "tự chạy được". Hãy xác định các module rõ ràng cho việc kiểm soát vòng lặp, lựa chọn công cụ, xử lý trạng thái và xác minh trước khi để LLM lấp đầy chúng.
  2. Xây dựng cơ chế xác minh mạnh mẽ – Hãy chèn các bước kiểm tra rõ ràng để so sánh khẳng định của tác nhân với ground truth hoặc một mô hình phụ. Độ chính xác 48% của nghiên cứu mặc dù tỷ lệ thành công tự báo cáo là 99% cho thấy việc xác minh không thể là một bước bổ sung sau cùng.
  3. Kiểm soát ngân sách token – Các harness phức tạp hơn có thể làm tăng vọt lượng token tiêu thụ. Hãy phân tích (profile) các biến thể harness khác nhau từ sớm để tránh tình trạng chi phí tăng đột biến một cách tiềm ẩn.
  4. Kiểm thử trên nhiều mô hình – Chạy cùng một harness với nhiều backend LLM khác nhau. Nếu hiệu suất giảm mạnh, bạn có thể cần một thiết kế không phụ thuộc vào mô hình (model-agnostic) hoặc các harness riêng biệt cho từng mô hình.

Tóm lại: HarnessDev chứng minh rằng các LLM có thể soạn thảo mã điều khiển giống như một hệ điều hành cho chính chúng.