Có một kiểu PR trong release notes mà bạn phải đọc hai lần, vì lần đầu đọc xong vẫn không hiểu chuyện gì thật sự xảy ra. Mục liên quan trong release notes Hermes Agent v0.8.0 là:
Guidance sử dụng tool GPT/Codex tự tối ưu — Agent tự chẩn đoán và vá 5 kiểu lỗi trong cách GPT và Codex gọi tool thông qua benchmark hành vi tự động, cải thiện đáng kể độ tin cậy trên các model OpenAI. (#6120)
Lần đầu đọc, tôi tưởng ai đó dùng từ "tự tối ưu" hơi phóng khoáng. Lần thứ hai đọc, tôi nhận ra đó là nghĩa đen. Agent chạy bộ benchmark lên chính mình, phát hiện GPT và Codex gọi tool sai một cách có hệ thống, tạo guidance nhắm đúng từng lỗi, đo xem bản vá có tác dụng không. Con người duyệt kết quả cuối cùng. Nhưng toàn bộ bước chẩn đoán và vá là tự động.
Chuyện này đáng bóc ra kỹ, vì nó là kiểu năng lực lẻn vào một bản phát hành dưới dạng một dòng ngắn, nhưng thay đổi diện mạo của những bản phát hành tiếp theo.
Vấn đề cụ thể
Sự kết hợp giữa Hermes Agent với các model OpenAI — GPT-5, Codex — đã lung lay rõ rệt qua vài bản gần đây. Người dùng báo Anthropic Claude chạy mượt trong khi GPT-5 đôi khi tạo argument sai kiểu, bỏ bước, hoặc quên tool call nào đã thành công trong chuỗi multi-tool. Đây không phải bug tinh vi; bạn có thể nhìn thấy chúng xảy ra. Nhưng sửa bằng tay thì điên, vì kiểu lỗi phụ thuộc vào model và cách viết prompt theo những kiểu khó đoán.
Theo mô tả PR, có năm pattern lặp đi lặp lại:
- •Bỏ qua bước kiểm tra trước khi gọi tool phá huỷ.
- •Truyền argument tool dưới dạng chuỗi thô trong khi schema yêu cầu object hoặc số.
- •Quên tool call nào đã thành công trong chuỗi, dẫn đến gọi trùng.
- •Không retry sau lỗi tạm thời dù guidance bảo làm vậy.
- •Trôi từ "thực thi kế hoạch" sang "lập kế hoạch lại kế hoạch" khi context dài.
Không cái nào là lý thuyết. Mỗi cái đều có một vệt issue trên GitHub đằng sau.
Vòng lặp đã sửa chúng
Cách tiếp cận trong PR #6120 có ba phần chuyển động.
Thứ nhất, bộ benchmark hành vi tự động. Một harness chạy agent qua tập kịch bản tổng hợp được thiết kế để kích hoạt từng kiểu lỗi trong năm kiểu. Với mỗi kịch bản, benchmark ghi lại model làm gì, đáng ra phải làm gì, và sai lệch đó có khớp với pattern lỗi đã biết không.
Thứ hai, bước tạo guidance. Khi benchmark đánh dấu một lỗi, harness tạo ra các chuỗi guidance ứng viên — hướng dẫn ngắn, dành riêng cho model, sẽ được thêm vào system prompt nhắm đúng pattern vừa lỗi. Không phải "cẩn thận hơn"; mà kiểu "trước khi gọi bất kỳ tool phá huỷ nào, hãy gọi tool preview tương ứng với argument giống hệt và báo cáo output." Ứng viên được tạo dựa trên lỗi thực tế quan sát được, không phải rubric chung chung.
Thứ ba, bước chạy lại benchmark. Mỗi chuỗi guidance ứng viên được test trên cùng bộ kịch bản. Guidance cải thiện điểm thì giữ. Guidance làm kịch bản khác tụt thì bỏ. Các chuỗi sống sót được gom vào system prompt GPT/Codex mà Hermes ship.
Tại sao chuyện này khác biệt
Từ trước tới giờ, prompt đi kèm một framework agent đều do con người viết — đôi khi một người, đôi khi một nhóm nhỏ — họ dần hình thành quan điểm về cái gì hiệu quả bằng cách tự đọc qua các cuộc hội thoại. Quy trình đó có ba vấn đề: nó không scale sang nhiều model, không chạy lại rẻ khi model được cập nhật, và tạo ra prompt mà trong đó pha trộn mê tín cá nhân lẫn bằng chứng thật.
Thay vòng lặp "người viết, người đánh giá" bằng "benchmark viết ứng viên, benchmark đánh giá" không có nghĩa là cho AI tự tune không ai giám sát. Con người vẫn duyệt guidance cuối cùng. Nhưng phần tìm pattern và đề xuất bản vá giờ đo đếm được và lặp lại được. Khi GPT-6 ra, cùng một harness chạy lại. Khi có kiểu lỗi mới được báo, thêm kịch bản mới và vòng lặp chạy lại. Chi phí giữ prompt đồng bộ với hành vi thực của model giảm cỡ một bậc.
Các thay đổi liên quan trong v0.8.0 cũng chỉ cùng hướng. Thinking-only prefill continuation (#5931) xử lý trường hợp model tạo khối suy luận mà không có khối nội dung rồi bị kẹt. Guidance kỷ luật thực thi (#5414) thêm quy tắc chung "không lập kế hoạch lại trừ khi có gì thật sự thay đổi" vào system prompt. Ép kiểu argument tool call (#5265) tự chuyển chuỗi thành số và boolean khi JSON schema yêu cầu, lấp đúng lỗi argument-typing mà benchmark bắt được. Ba PR này trông không liên quan trong changelog. Đọc chung với PR #6120, chúng là mặt nổi của một chiến dịch có chủ đích: làm agent đáng tin cậy hơn trên một họ model cụ thể bằng cách đo, sửa, và đo lại.
Hàm ý lặng lẽ
Điều khiến chuyện này giống một bước ngoặt chứ không chỉ một bản phát hành hay, là nó gợi mở agent engineering trông thế nào khi bạn ngừng viết prompt bằng tay. Một repo như Hermes phải nhắm mười hai provider và ba mươi model khác nhau. Theo dõi hành vi từng model bằng tay đã là không thể. Nếu bạn thay vào đó coi "nên prompt model X thế nào" là bài toán tuning mà benchmark harness giải, bạn có quy trình scale theo kích thước vườn thú model thay vì chìm trong đó.
Không gì trong số đó là tiêu đề chính của v0.8.0. Tiêu đề chính là "bản phát hành trí tuệ" và demo là đổi model ngay lúc chạy. Nhưng thứ nằm yên dưới sàn nhà là Hermes giờ có cách giữ agent thông minh trên mọi model nó hỗ trợ, mà không cần ai bỏ cả cuối tuần để tinh chỉnh system prompt cho từng model. Đó là kiểu năng lực sẽ không xuất hiện dưới dạng tính năng bản sau — nó sẽ chỉ thể hiện qua việc "độ tin cậy GPT trên Hermes cứ tốt lên" suốt sáu bản phát hành liên tiếp.
Mà nếu bạn cũng đọc release notes cho vui như tôi, thì đó chính là dạng thứ bạn nên để mắt tới.