Hè năm ngoái tôi đăng ký năm tài khoản nhà cung cấp LLM trong một tháng. OpenAI, Anthropic, OpenRouter, Fireworks, Together. Đến tháng Mười tôi không biết thẻ nào trả cho ai. Tháng Mười Hai, một nhà cung cấp âm thầm đổi giá, tôi phát hiện ba tuần sau khi hóa đơn đến.
Đây là sự thật không hào nhoáng về chạy bất cứ thứ gì trên LLM năm 2026: sở thú nhà cung cấp là trạng thái thường trực. Model mới ra hàng tuần. Giá thay đổi. Tier miễn phí xáo trộn. Model đỉnh tháng Ba thành chú thích cuối trang tháng Năm. Nếu framework agent chọn provider cho bạn lúc cài, bạn đăng ký xây lại setup vài tháng một lần.
Hermes Agent đặt cược ngược hướng từ ngày đầu. Provider là giá trị config, không phải lựa chọn kiến trúc thay bạn. Ba tính năng xếp chồng lên nhau để thật sự chạy được.
Bộ định tuyến trung tâm (v0.2.0)
Nền tảng là một điểm gọi duy nhất. v0.2.0 giới thiệu bộ định tuyến provider tập trung — một hàm call_llm() / async_call_llm() mà mọi phần agent đi qua. Vision, tóm tắt, nén, lưu quỹ đạo, vòng chat chính. Tất cả qua cùng một đường code.
Nghe như chi tiết tái cấu trúc cho đến khi bạn thử đổi provider trong agent không có nó. Hầu hết framework có mười một chỗ gọi LLM, mỗi chỗ đọc credential hơi khác. Sửa một chỗ, quên chỗ khác, hỏng theo cách khó phát hiện. Hermes làm bất khả bằng cách chỉ có một chỗ.
Chuỗi dự phòng (v0.6.0)
Hai tuần sau, v0.6.0 thêm lớp tiếp: chuỗi provider dự phòng theo thứ tự. Bạn liệt kê provider trong config.yaml, khi provider chính gặp lỗi — rate limit 429, lỗi tạm 500, endpoint không thể truy cập — Hermes tự động thử provider kế tiếp.
Quan trọng, đây là thứ tự, không phải round-robin. Bạn chọn ưu tiên và backup. Setup điển hình: OpenRouter làm mặc định rẻ, Anthropic trực tiếp làm backup đáng tin, tier miễn phí Nous Portal làm phương án cuối cùng. Nếu đầu chuỗi có ngày tồi, bạn không nhận ra.
Gom credential (v0.7.0)
Bản resilience thêm lớp thứ ba: gom credential cùng provider. Nhận ra rằng "provider chính" và "API key cụ thể với provider đó" là hai thứ khác nhau. Bạn có thể có ba key Anthropic — cá nhân, team, backup trên tài khoản thứ hai — và muốn Hermes dùng cái nào rảnh nhất.
Cấu hình qua wizard setup hoặc block credential_pool, Hermes mặc định chọn key least_used. Nếu key trả 401, pool tự xoay sang key kế và đánh dấu key chết chờ reset. Triển khai thread-safe nghĩa là CLI, gateway Telegram và cron job dùng chung pool mà không giẫm nhau.
Vì sao phân lớp quan trọng
Mỗi tính năng giải quyết vấn đề hẹp, nhưng lý do chúng mạnh là chúng kết hợp không chồng chéo:
- •Bộ định tuyến cho đổi provider nào ở một chỗ.
- •Chuỗi dự phòng cho xử lý lỗi cấp provider không cần restart.
- •Gom credential cho xử lý lỗi và tải cấp key trong một provider.
Từ CLI, hermes model cho tái cấu hình bất kỳ thứ nào mà không sửa file tay. Kết quả là khi model mới ra — gì cũng được, ai ship cũng được, giá ra sao cũng được — chi phí chuyển sang là "sửa một dòng config." Không phải "tái kiến trúc trợ lý." Cho dự án sẽ sống qua nhiều thế hệ model, đây có lẽ là quyết định kiến trúc duy nhất thật sự quan trọng.