
Hermes agent profile là một thư mục cấu hình riêng (home directory) cho phép bạn chạy nhiều trợ lý AI độc lập trên cùng một máy chủ, mỗi trợ lý có bộ nhớ, công cụ và kênh nhắn tin riêng. Doanh nghiệp nhỏ thường dùng profile để tách bot báo cáo nội bộ khỏi bot tư vấn khách hàng, tránh dữ liệu lẫn lộn mà không cần mua thêm VPS. Bài này giải thích cấu trúc profile, 5 tiêu chí để quyết định khi nào nên tách, cách tạo bằng lệnh, và cách dùng hermes agent kanban để các profile tự giao việc cho nhau.
Profile trong Hermes Agent là gì?
Profile là một thư mục home riêng chứa toàn bộ "bộ não" của một agent: config.yaml, .env, SOUL.md (file mô tả tính cách), bộ nhớ, lịch sử phiên chat, skills, cron job và state database. Theo tài liệu chính thức, các profile nằm dưới ~/.hermes/profiles/ (nguồn: hermes-agent.nousresearch.com).
Khi tạo một profile mới, bạn có ngay bộ lệnh riêng cho nó. Ví dụ chạy hermes profile create coder thì ngay lập tức có coder chat, coder setup, coder gateway start — các alias này tương đương với việc gõ hermes -p coder trước mỗi lệnh.
Có 4 khái niệm dễ nhầm, nên phân biệt rõ trước khi đi tiếp:
- Profile: nơi lưu cấu hình, nằm yên trên đĩa cho tới khi được gọi chạy.
- Agent: tiến trình đang chạy từ một profile cụ thể.
- Bot nhắn tin: tài khoản Telegram, Discord... mà một profile kết nối tới.
- Subagent: "con" tạm thời do lệnh
delegate_tasksinh ra để xử lý một việc nhỏ rồi biến mất, không phải profile thật.
Khi nào nên tách nhiều hermes agent profile?
Nên tách profile khi có ít nhất một trong 5 tiêu chí sau: người dùng khác nhau, quyền công cụ khác nhau, kênh/bot khác nhau, bộ nhớ không được lẫn, hoặc model/chi phí khác nhau.
- Người dùng khác nhau: nhân viên nội bộ và khách hàng bên ngoài không nên dùng chung một bot.
- Quyền công cụ khác nhau: bot cho ban giám đốc có thể cần đọc nhiều dữ liệu hơn bot trả lời khách.
- Kênh/bot khác nhau: mỗi bot token (Telegram, Discord...) chỉ thuộc về một profile duy nhất.
- Bộ nhớ không được lẫn: ghi chú riêng của giám đốc không nên lọt vào bộ nhớ của bot tư vấn khách hàng.
- Model/chi phí khác nhau: việc đơn giản dùng model rẻ, việc cần suy luận sâu dùng model mạnh hơn.
| Tiêu chí | Một bot làm mọi việc | Nhiều profile tách riêng |
|---|---|---|
| An toàn dữ liệu | Rủi ro lộ thông tin nội bộ ra khách | Mỗi nhóm chỉ thấy dữ liệu của mình |
| Bảo trì | Sửa một chỗ ảnh hưởng mọi đối tượng | Sửa SOUL.md hay skill riêng không ảnh hưởng profile khác |
| Chi phí | Dùng chung một model, khó tối ưu | Mỗi profile chọn model phù hợp việc |
| Độ phức tạp vận hành | Đơn giản, dễ bắt đầu | Phức tạp hơn, cần quản lý nhiều cấu hình |
Ngược lại, nếu công ty chỉ có một người dùng và ít việc, tách nhiều profile không cần thiết — thêm profile là thêm việc vận hành (phải nhớ profile nào dùng cho gì, cấu hình riêng cho từng cái) mà lợi ích mang lại chưa rõ ràng.
Tạo và quản lý profile bằng lệnh
Tạo profile mới bằng hermes profile create <tên>. Nếu muốn profile mới kế thừa cấu hình từ một profile sẵn có, dùng các tuỳ chọn clone sau:
hermes profile create work --clone: chép config,.env,SOUL.md, skills,MEMORY.md/USER.mdtừ profile hiện tại.hermes profile create backup --clone-all: chép gần hết, nhưng không chép lịch sử phiên chat và cron job.hermes profile create work --clone-from coder: clone từ một profile cụ thể thay vì profile đang dùng.
Một điểm quan trọng: mọi kiểu clone ở trên đều bỏ qua kênh nhắn tin — bot token và allowlist (như TELEGRAM_BOT_TOKEN) không được chép theo mặc định. Nếu thật sự muốn giữ, dùng thêm --clone-channels.
Các lệnh quản lý thường dùng:
hermes profile use coder: chuyển sang dùng profile này làm mặc định.hermes -p coder: chạy một lệnh với profile chỉ định, không đổi mặc định.hermes profile list: xem danh sách profile.hermes profile show coder: xem chi tiết cấu hình.hermes profile export coder: xuất cấu hình để sao lưu hoặc chuyển máy.
Việc clone không mang theo bot token và allowlist là chủ đích thiết kế để tránh hai profile cùng tranh giành một bot — một vấn đề sẽ nói rõ hơn ở phần sau.
Mỗi profile một bot, một gateway, một bộ quyền
Mỗi profile nên có .env riêng chứa bot token riêng. Hermes chủ động chặn tình huống hai profile dùng chung một token: nếu profile thứ hai cố kết nối cùng token Telegram, Discord, Slack hay WhatsApp, Signal mà profile đầu đang dùng, gateway thứ hai sẽ bị từ chối khởi động.
Để chạy profile như một dịch vụ nền ổn định, dùng coder gateway install — lệnh này tạo một service hệ thống riêng tên hermes-gateway-coder. Mỗi profile nên có service riêng như vậy thay vì chạy chung một tiến trình.
Về công cụ, bạn bật/tắt toolset riêng cho từng profile bằng hermes -p <tên> tools, và nên đặt terminal.cwd (thư mục làm việc mặc định khi agent chạy lệnh terminal) riêng cho mỗi profile để tránh agent này vô tình thao tác vào thư mục của agent khác.
Lưu ý quan trọng: profile KHÔNG phải là sandbox (môi trường cách ly). Backend local của Hermes có cùng quyền đọc/ghi như tài khoản hệ điều hành đang chạy nó — nghĩa là một profile vẫn có thể đọc được mọi thứ mà tài khoản đó đọc được, bất kể bạn có tách bao nhiêu profile. Muốn cách ly thật sự, cần dùng backend Docker.
Ví dụ sơ đồ 4 profile cho một công ty phân phối

| Profile | Ai dùng | Kênh | Công cụ bật | Ghi chú |
|---|---|---|---|---|
| Báo cáo | Ban giám đốc | Đọc nhật ký nhóm chat | Chỉ đọc + viết báo cáo | Không có quyền hành động |
| Trợ lý sản phẩm nội bộ | Nhân viên bán hàng, trong nhóm chat | Nhóm chat nội bộ | Tra thông số, giá | Có cron hẹn giờ riêng |
| Trợ lý cá nhân của chủ | Chỉ chủ doanh nghiệp | Terminal riêng | Bật đủ công cụ | Không ai khác nhắn vào được |
| Tư vấn khách | Khách hàng bên ngoài | Chat website, Zalo OA | Công cụ tối thiểu | Giới hạn chặt vì tiếp xúc người lạ |
Một công ty phân phối phụ kiện nội thất mà tôi đang điều hành đang vận hành đúng theo mô hình 4 profile này trên một VPS Linux. Bài học rút ra: tách profile theo đối tượng người dùng an toàn hơn hẳn so với để một bot làm mọi việc; bot đặt trong nhóm chat đông người phải giới hạn công cụ chặt; chỉ kênh riêng của chủ doanh nghiệp mới nên bật đủ quyền. Các lệnh của agent trong hệ thống này đều chạy trong container Docker để cách ly thêm một lớp, đúng như lưu ý ở phần trên.
Kanban: để các hermes agent profiles giao việc cho nhau
Hermes agent kanban là một bảng công việc chung, lưu trong file ~/.hermes/kanban.db, cho phép các profile phân công và theo dõi việc của nhau như một đội ngũ thật. Mỗi task (công việc) có một người nhận là một profile cụ thể, và di chuyển qua các trạng thái: triage (phân loại) → todo → ready → running → blocked/review → done.
Để bắt đầu dùng, các lệnh cơ bản gồm:
hermes kanban init: khởi tạo bảng.hermes gateway start: chạy gateway (nơi dispatcher — bộ điều phối — hoạt động).hermes kanban create "research AI funding landscape" --assignee researcher: tạo task giao cho profile tênresearcher.hermes kanban watch: theo dõi tiến trình theo thời gian thực.hermes kanban list: xem danh sách task.
Dispatcher (bộ điều phối) chạy ngay trong tiến trình gateway khi bật kanban.dispatch_in_gateway: true, mặc định kiểm tra và khởi chạy profile được giao mỗi 60 giây. Nếu một task thất bại liên tục, kanban.failure_limit mặc định là 2 lần trước khi dừng thử lại.

Agent thao tác với bảng qua bộ công cụ kanban_*, còn con người dùng lệnh hermes kanban hoặc vào tab "Kanban" trên dashboard (chạy hermes kanban init rồi hermes dashboard). Để một profile đóng vai điều phối có quyền tạo task cho profile khác, cần bật công cụ cho nó: hermes -p planner tools enable kanban (thêm --platform telegram nếu muốn bật qua gateway Telegram).
Một mẹo quan trọng: khi tạo profile, nên thêm --description mô tả ngắn gọn profile đó giỏi việc gì, ví dụ hermes profile create researcher --description "Reads source code and external docs, writes findings." — mô tả này giúp bộ điều phối (hoặc người tạo task) biết nên giao việc gì cho profile nào.
Ví dụ một luồng việc thực tế: tạo task "nghiên cứu bảng giá đối thủ tháng 10" giao cho profile researcher → researcher thu thập dữ liệu và chuyển task sang review → profile writer nhận việc viết tóm tắt → cuối cùng chủ doanh nghiệp xem và duyệt task ở trạng thái done.
Kanban khác delegate_task thế nào và khi nào đáng dùng?
Khác biệt cốt lõi: delegate_task giống một lời gọi hàm tức thời, còn Kanban là một hàng đợi công việc bền vững có lưu vết.
| Đặc điểm | delegate_task | Kanban |
|---|---|---|
| Bản chất | Lời gọi hàm, chờ kết quả trả về ngay | Hàng đợi bền, lưu trong SQLite |
| Người thực hiện | Subagent vô danh, tạm thời | Profile có tên, có bộ nhớ riêng |
| Khi lỗi | Lỗi là mất, không lưu vết | Có thể chặn (blocked) hoặc mở lại |
| Con người tham gia | Khó can thiệp giữa chừng | Con người bình luận, duyệt task được |
Về chi phí, một chiến lược hợp lý theo tài liệu là: profile đóng vai điều phối (planner) dùng model mạnh để ra quyết định phân việc chính xác, còn các profile làm việc (worker) dùng model rẻ hơn cho các tác vụ lặp lại, đơn giản.
Với doanh nghiệp nhỏ mới bắt đầu, phần lớn thường chưa cần đến Kanban — một vài profile độc lập, mỗi cái làm một việc rõ ràng, đã đủ dùng. Kanban phù hợp hơn khi số lượng profile tăng lên và các việc cần chuyển tiếp qua nhiều bước, nhiều "người" xử lý.
Lỗi hay gặp khi chạy nhiều profile
Dưới đây là những lỗi phổ biến khi vận hành nhiều hermes agent profile cùng lúc, nên kiểm tra trước khi đưa vào dùng thật:
- Hai tiến trình vô tình trỏ cùng một thư mục home, khiến bộ nhớ của hai "agent" chồng chéo lên nhau.
- Dùng chung bot token giữa hai profile — như đã nói, Hermes sẽ chặn gateway thứ hai, nên nếu thấy gateway không chạy được, đây là nguyên nhân cần kiểm tra đầu tiên.
- Sửa nhầm
SOUL.mdhoặc file bộ nhớ của profile này trong khi tưởng đang sửa profile khác. - Quên rằng đăng nhập OAuth (Codex, Claude, xAI) dùng chung refresh token từ
~/.hermes/auth.jsongốc nên không tự chép sang clone; nếu cần đăng nhập riêng cho từng profile, dùnghermes -p <tên> auth add <provider>. - Một
config.yamlbị lỗi ở một profile có thể làm hỏng bước chuẩn bị phụ thuộc khi chạyhermes updatecho toàn hệ thống. - Bot đặt trong nhóm chat đông người nhưng bật quá nhiều công cụ, dẫn tới rủi ro về quyền và dữ liệu không cần thiết.
Câu hỏi thường gặp: khi nào nên tách nhiều profile?
Nên tách khi rơi vào ít nhất một trong 5 trường hợp đã nêu ở trên: người dùng khác nhau, quyền công cụ khác nhau, kênh/bot khác nhau, cần tách bộ nhớ, hoặc cần model/chi phí khác nhau. Nếu công ty chỉ có một người dùng và một vài việc đơn giản, duy trì một profile duy nhất vẫn là lựa chọn gọn nhẹ và dễ vận hành hơn.
Tóm lại
Hermes agent profile cho phép một doanh nghiệp nhỏ chạy nhiều trợ lý AI tách biệt trên cùng một VPS: mỗi profile có cấu hình, bộ nhớ, bot và quyền công cụ riêng. Nên tách profile theo đối tượng người dùng, kênh và mức độ nhạy cảm dữ liệu, nhưng cần nhớ profile không phải là sandbox — muốn cách ly thật sự phải dùng backend Docker. Khi số lượng profile tăng và việc cần chuyển tiếp qua nhiều bước, hermes agent kanban board là công cụ đáng cân nhắc để các profile giao việc cho nhau có lưu vết, thay vì gọi delegate_task rời rạc.
Bước tiếp theo: nếu đang chạy một profile Hermes duy nhất, hãy thử liệt kê các nhóm người dùng và kênh đang tiếp xúc với bot để xem có nên tách thêm profile không, trước khi tìm hiểu sâu hơn về cách viết SOUL.md cho từng profile hoặc cách dùng cron để hẹn giờ báo cáo tự động. Xem thêm tài liệu chính thức tại hermes-agent.nousresearch.com về Kanban.
Xem thêm
Câu hỏi thường gặp
›Khi nào nên tách nhiều profile?
Nên tách khi có ít nhất một trong 5 yếu tố: người dùng khác nhau (nội bộ vs khách ngoài), quyền công cụ khác nhau, kênh/bot khác nhau, bộ nhớ cần tách riêng, hoặc model/chi phí khác nhau. Nếu chỉ có một người dùng với ít việc, giữ một profile sẽ đơn giản và dễ vận hành hơn.
›Các profile có dùng chung bộ nhớ với nhau không?
Không, mỗi profile có bộ nhớ, phiên chat và state database riêng trong thư mục home của nó. Đây chính là lý do nên tách profile khi cần ngăn ghi chú của nhóm này lọt sang bộ nhớ của nhóm khác.
›Một VPS chạy được bao nhiêu profile Hermes?
Tài liệu chính thức không nêu con số giới hạn cụ thể. Số lượng profile chạy được phụ thuộc vào cấu hình VPS (CPU, RAM) và mức độ hoạt động của từng profile, nên cần theo dõi tài nguyên thực tế khi thêm profile mới.
›Có bắt buộc dùng Kanban khi có nhiều profile không?
Không bắt buộc. Nhiều profile vẫn có thể hoạt động độc lập mà không cần Kanban. Kanban chỉ cần thiết khi các profile phải chuyển tiếp công việc qua nhiều bước và cần lưu vết, theo dõi tiến độ như một hàng đợi chung.
Tác giả
Chuyên gia chuyển đổi số · Đại diện 5F Edu
Hơn 8 năm triển khai và tư vấn chuyển đổi số cho doanh nghiệp vừa và nhỏ: chuẩn hoá quy trình, xây phần mềm quản lý bằng AppSheet và web app, tự động hoá bằng N8N. Người làm kênh YouTube Nghiện AppSheet.



