close

Cách cấu hình Persistent Memory và tự rút ra Skill trong Hermes Agent

Tác giả: Đông Tùng Ngày đăng: 22/09/2026 Chuyên mục: Hermes Agent
Disclosure
Website Tino blog được cung cấp bởi Tino Group. Truy cập và sử dụng website đồng nghĩa với việc bạn đồng ý với các điều khoản và điều kiện trong chính sách bảo mật - điều khoản sử dụng nội dung. Tino Group có thể thay đổi điều khoản sử dụng bất cứ lúc nào. Việc bạn tiếp tục sử dụng Tino blog sau khi thay đổi có nghĩa là bạn chấp nhận những thay đổi đó.
Why Trust Us
Các bài viết với hàm lượng tri thức cao tại Tino blog được tạo ra bởi các chuyên viên Marketing vững chuyên môn và được kiểm duyệt nghiêm túc theo chính sách biên tập bởi đội ngũ biên tập viên dày dặn kinh nghiệm. Mọi nỗ lực của chúng tôi đều hướng đến mong muốn mang đến cho cộng đồng nguồn thông tin chất lượng, chính xác, khách quan, đồng thời tuân thủ các tiêu chuẩn cao nhất trong báo cáo và xuất bản.

Persistent Memory của Hermes Agent là hai file MEMORY.md và USER.md trong ~/.hermes/memories/, được nạp vào đầu mỗi phiên; bạn bật và giới hạn dung lượng trong khối memory: của ~/.hermes/config.yaml, rồi kiểm soát việc ghi bằng /memory approval on. Việc tự rút ra skill do tiến trình background review đảm nhận, chủ động gọi bằng /refine hoặc /learn.

Một trợ lý AI hữu ích là trợ lý càng làm lâu càng hiểu người dùng và làm việc gọn hơn. Hermes Agent theo đuổi điều đó bằng hai cơ chế: persistent memory và tự đúc kết quy trình thành skill. Bài thuộc nhóm hướng dẫn skills, memory và tích hợp Hermes Agent; muốn thêm bộ nhớ ngoài dạng RAG, vector database, xem cấu hình Long-Term Memory cho Hermes Agent.

Cập nhật 10/2026: cấu hình đối chiếu Hermes Agent v0.22.5. Ảnh chụp là bản tác giả làm tháng 9/2026.

Memory và skill trong Hermes Agent khác nhau như thế nào?

Memory trong Hermes Agent ghi nhớ thông tin ngắn, luôn có mặt trong mọi phiên: sự thật về môi trường, sở thích, quy ước. Skill ghi nhớ cách làm: quy trình, lệnh, kinh nghiệm, chỉ nạp khi việc khớp. Thông tin giống một ghi chú ngắn thì để memory; giống một tài liệu hướng dẫn thì viết thành skill.

Tiêu chíPersistent MemorySkill
Mục đíchGhi nhớ thông tinGhi nhớ cách thực hiện
Nội dungSự thật, sở thích, môi trườngQuy trình, câu lệnh, kinh nghiệm
Dung lượngMEMORY.md 2.200 ký tự, USER.md 1.375 ký tựDài hơn nhiều
Cách nạpCó mặt trong mọi phiênChỉ nạp khi phù hợp
Vị trí~/.hermes/memories/~/.hermes/skills/
Hermes tự cập nhậtCóCó
Ví dụ“Project dùng Docker Compose”“Cách deploy project bằng Docker Compose”
Theo docs Memory của Hermes Agent, kiểm 26/10/2026

Cách chia này khớp hướng dẫn chính thức. So sánh cách hai nền tảng xử lý bộ nhớ: persistent memory của Hermes Agent và OpenClaw.

Hermes Agent tự học từ cuộc trò chuyện như thế nào?

Hermes Agent tự học qua background self-improvement review: sau một số lượt trò chuyện, một tiến trình chạy nền xem lại phiên và tự hỏi có thông tin lâu dài nào đáng lưu vào memory, có quy trình nào đáng thành skill, skill nào cần sửa, người dùng vừa sửa cách làm nào. Nếu có, tiến trình dùng tool memory hoặc skill_manage để ghi.

Hermes Agent tự học từ cuộc trò chuyện như thế nào?
Sơ đồ vòng tự học của Hermes Agent: phiên chat, background review chạy nền sau lượt chat hoặc khi gõ /refine, /learn, đề xuất qua cổng duyệt tuỳ chọn write_approval với /memory và /skills approve, ghi vào memories/MEMORY.md, USER.md và skills/tên/SKILL.md, phiên sau nạp memory đầu phiên và skill khi cần; MEMORY.md 2.200 ký tự, USER.md 1.375 ký tự, review mặc định chạy trên model chính và tốn token

Hermes thường có lý do tạo hoặc cập nhật skill khi:

  • Vừa giải quyết một workflow nhiều bước.
  • Đã thử nhiều cách và tìm được phương án chạy được.
  • Người dùng sửa lại cách làm.
  • Một lỗi khó đã xử lý xong.
  • Quy trình vừa làm có khả năng lặp lại.

Đây là cơ chế thường gọi gọn là “Hermes tự rút ra skill”.

Chuẩn bị trước khi cấu hình Persistent Memory và skill

Trước khi cấu hình, cập nhật Hermes Agent lên bản mới và biết cách khởi động lại gateway, vì gateway trên VPS chỉ đọc lại config.yaml khi khởi động. Lệnh hermes gateway restart liệt kê các lượt chat, cron đang chạy và hỏi trước khi ngắt, an toàn hơn dừng tiến trình đột ngột.

hermes --version

Nếu cần cập nhật:

hermes update

Gateway đang chạy trên VPS, sau khi cập nhật hoặc đổi cấu hình quan trọng:

hermes gateway restart
Chuẩn bị trước khi cấu hình Persistent Memory và Skill

Cách cấu hình Persistent Memory trong Hermes Agent

Cấu hình Persistent Memory gồm sáu bước: mở config.yaml, bật memory và đặt giới hạn ký tự, chọn chế độ ghi (tự động hay chờ duyệt), thử lưu một ghi nhớ, kiểm tra file trong ~/.hermes/memories/ và mở phiên mới để xác nhận Hermes nhớ. Trên VPS, mọi thao tác làm qua SSH.

Bước 1: Mở file cấu hình Hermes Agent

nano ~/.hermes/config.yaml

File đã có cấu hình model, API hay gateway thì giữ nguyên, chỉ thêm phần memory.

Bước 2: Bật Persistent Memory

memory:
  memory_enabled: true
  user_profile_enabled: true
  memory_char_limit: 2200
  user_char_limit: 1375
  • memory_enabled: true: bật bộ nhớ lâu dài trong MEMORY.md.
  • user_profile_enabled: true: cho lưu thông tin về người dùng trong USER.md.
  • memory_char_limit: 2200: giới hạn MEMORY.md (khoảng 800 token).
  • user_char_limit: 1375: giới hạn USER.md (khoảng 500 token).

Đây cũng là giá trị mặc định trong docs; khai rõ giúp dễ kiểm tra. Lưu bằng Ctrl + O → Enter, thoát bằng Ctrl + X.

Khối memory trong ~/.hermes/config.yaml với memory_enabled, user_profile_enabled, memory_char_limit 2200, user_char_limit 1375
Khối cấu hình memory trong docs Hermes Agent: memory_enabled true, user_profile_enabled true, memory_char_limit 2200, user_char_limit 1375, write_approval false
Ảnh chụp khối cấu hình Memory trong docs Hermes Agent ngày 26/10/2026

Gateway đang chạy trên VPS thì khởi động lại để đọc cấu hình:

hermes gateway restart

Bước 3: Chọn cách Hermes ghi memory

Hermes cho chọn tự động ghi hoặc chờ bạn duyệt trước khi ghi. Người mới nên bật chế độ duyệt để biết Hermes lưu gì. Trong khung chat hoặc CLI:

/memory approval on

Lệnh này bật memory.write_approval và lưu vào cấu hình. Khi Hermes thấy thông tin đáng lưu, thay đổi vào danh sách chờ thay vì ghi thẳng.

Lệnh /memory approval on trong Hermes CLI và thông báo memory.write_approval set to on

Xem memory đang chờ:

/memory pending

Duyệt hoặc từ chối từng mục, hoặc tất cả:

/memory approve <id>
/memory reject <id>
/memory approve all
/memory reject all

Quen rồi và muốn tự động hơn thì tắt bước duyệt:

/memory approval off

Bước 4: Thử lưu một memory mới

Yêu cầu Hermes ghi nhớ một thông tin đơn giản, ví dụ: “Hãy ghi nhớ rằng project thử nghiệm của tôi dùng Node.js 24.” Nếu đã bật duyệt, kiểm tra và duyệt:

/memory pending
/memory approve all

Bước 5: Kiểm tra memory đã được lưu

cat ~/.hermes/memories/MEMORY.md
cat ~/.hermes/memories/USER.md

Nội dung vừa lưu xuất hiện trong file tương ứng là memory đã chạy. Dùng profile khác thì file nằm ở ~/.hermes/profiles/<tên>/memories/.

Bước 6: Mở phiên mới để kiểm tra

Memory nạp vào ngữ cảnh lúc phiên bắt đầu (dạng ảnh chụp cố định), nên ghi nhớ mới có hiệu lực từ phiên sau. Mở phiên mới:

/new

Hỏi lại, ví dụ: “Project thử nghiệm của tôi đang dùng phiên bản Node.js nào?” Hermes trả lời đúng là xong phần memory.

Cách cấu hình Hermes Agent tự rút ra skill

Cấu hình tự rút ra skill gồm mười bước: đặt chu kỳ nhắc tạo skill, bật background review, khởi động lại gateway, bật duyệt skill, cho Hermes làm một workflow, gọi /refine hoặc /learn, duyệt skill đang chờ và kiểm tra thư mục skill. Mục tiêu là để quy trình đã chạy được lưu lại, lần sau không phải mò từ đầu.

Ví dụ khi xử lý một việc trên VPS, Hermes kiểm tra môi trường, chạy lệnh, gặp lỗi, tìm cách sửa rồi hoàn thành. Quy trình đó có giá trị dùng lại thì Hermes lưu thành skill. Muốn tự viết skill bằng tay: cách viết skill cho Hermes Agent.

Bước 1: Mở file cấu hình Hermes Agent

nano ~/.hermes/config.yaml

Giữ nguyên phần model, API, gateway, memory hiện có; chỉ thêm cấu hình skill.

Bước 2: Đặt chu kỳ xem xét tạo skill

skills:
  creation_nudge_interval: 10

creation_nudge_interval quy định sau bao nhiêu vòng gọi tool thì Hermes được nhắc xem có quy trình nào đáng lưu thành skill; đặt 0 để tắt nhắc. File cấu hình mẫu của Hermes (cli-config.yaml.example) dùng giá trị 15. Memory có khoá tương tự memory.nudge_interval (mặc định 10 lượt người dùng).

Khối skills với creation_nudge_interval trong config.yaml

Muốn đánh giá thưa hơn để giảm token:

skills:
  creation_nudge_interval: 20

Không đặt quá thấp: background review cũng gọi model và tiêu token.

Bước 3: Bật background review

auxiliary:
  background_review:
    enabled: true
Khối auxiliary background_review enabled true trong config.yaml

Background review tạo một phiên đánh giá riêng sau lượt trò chuyện để xem có kiến thức đáng lưu, workflow nên thành skill, skill cần sửa hoặc lỗi cần tránh lần sau. Tính năng này bật mặc định; khai rõ trong config.yaml giúp dễ quản lý. Cấu hình lúc này:

skills:
  creation_nudge_interval: 10

auxiliary:
  background_review:
    enabled: true

Muốn tắt tự đánh giá:

auxiliary:
  background_review:
    enabled: false

Tắt rồi vẫn chủ động gọi được bằng /refine. Khoá phải nằm dưới auxiliary:; khối background_review: đặt ở cấp ngoài cùng sẽ không được đọc. Model chính đắt thì có thể cho review chạy model rẻ hơn bằng auxiliary.background_review.provider và model.

Bước 4: Lưu cấu hình và khởi động lại Hermes

Trong nano, Ctrl + O → Enter để lưu, Ctrl + X để thoát, rồi:

hermes gateway restart

Cấu hình mới áp dụng cho các phiên tiếp theo.

Bước 5: Thiết lập quyền ghi skill

Giống memory, bạn chọn để Hermes tự tạo, sửa skill hay chờ duyệt. Người mới nên bật duyệt:

/skills approval on

Lệnh này bật skills.write_approval. Mọi thao tác tạo, sửa, xoá skill được đưa vào hàng chờ tại ~/.hermes/pending/skills/ thay vì ghi thẳng.

Lệnh /skills approval on trong Hermes CLI và thông báo skills.write_approval set to on

Quen rồi thì tắt:

/skills approval off

Bước 6: Cho Hermes làm một workflow

Hãy kiểm tra và triển khai project Node.js này lên VPS bằng PM2.

Trong lúc làm, Hermes có thể kiểm tra phiên bản Node.js, mã nguồn, cài dependency, tạo hoặc kiểm tra file .env, build, chạy bằng PM2, đọc log và sửa lỗi. Xong việc, Hermes có thể nhận ra đây là quy trình dùng lại được và đề xuất tạo skill.

Bước 7: Yêu cầu Hermes rút skill ngay

Không cần chờ chu kỳ tự chạy. Sau một workflow quan trọng, gõ:

/refine

/refine chạy ngay vòng xem lại memory và skill trên bản sao cuộc trò chuyện, không làm phiền phiên đang mở. Có thể chỉ rõ mục tiêu:

/refine Hãy rút quy trình triển khai Node.js vừa thực hiện thành skill

Bước 8: Dùng /learn để tạo skill từ một nội dung cụ thể

/learn Hãy học quy trình deploy Node.js vừa thực hiện và lưu thành skill
/learn Hãy ghi lại cách xử lý lỗi Docker vừa hoàn thành thành một skill dùng lại được

/learn chắt lọc một skill từ thứ bạn chỉ ra: thư mục, URL, quy trình vừa làm hoặc ghi chú dán vào. Phân biệt nhanh: /refine xem lại cả cuộc trò chuyện để tìm bài học; /learn yêu cầu học một nội dung cụ thể thành skill.

Bước 9: Kiểm tra skill đang chờ duyệt

/skills pending
/skills diff <id>
/skills approve <id>
/skills reject <id>
/skills approve all
/skills reject all

/skills diff hiện phần Hermes muốn thêm, sửa hoặc xoá (trên kênh chat bị cắt ngắn, xem đủ trên CLI). Cơ chế duyệt áp dụng cho cả skill tạo trong phiên chính lẫn skill do background review đề xuất.

Bước 10: Kiểm tra skill đã được tạo

ls ~/.hermes/skills/
find ~/.hermes/skills -name "SKILL.md"

Mỗi skill có file SKILL.md cho Hermes biết khi nào dùng, các bước, lệnh hay tool cần dùng và những lỗi cần tránh. Skill chỉ nạp khi cần, tiết kiệm ngữ cảnh hơn so với nhét workflow dài vào memory.

Ví dụ hoàn chỉnh

Vừa cùng Hermes deploy xong một website:

/learn Hãy lưu quy trình deploy website vừa thực hiện thành skill
/skills pending
/skills diff <id>
/skills approve <id>
find ~/.hermes/skills -name "SKILL.md"

Skill mới xuất hiện là quá trình học đã hoàn tất.

Khi nào nên lưu memory, khi nào nên tạo skill?

Lưu memory khi thông tin ngắn, có giá trị lâu dài, cần biết ở nhiều loại việc và liên quan người dùng hoặc môi trường. Tạo skill khi việc gồm nhiều bước, lặp lại, có lệnh hoặc trình tự cụ thể và có lỗi cần tránh. Biến môi trường trong .env không phải memory; đó là credential và cấu hình.

Nên lưu vào memory khi:

  • Thông tin ngắn.
  • Có giá trị lâu dài.
  • Cần biết trong nhiều loại công việc.
  • Liên quan người dùng hoặc môi trường.
  • Không cần tài liệu hướng dẫn dài.
Khi nào nên lưu Memory và khi nào nên tạo Skill?

Nên tạo skill khi:

  • Công việc gồm nhiều bước.
  • Workflow sẽ lặp lại.
  • Có câu lệnh hoặc trình tự cụ thể.
  • Có nhiều lỗi cần tránh.
  • Cần hướng dẫn chi tiết khi làm.

Một số lưu ý khi cấu hình Persistent Memory và tự rút ra skill

Persistent Memory hoạt động tốt khi được giữ gọn: memory chỉ chứa ghi chú ngắn vì có giới hạn và luôn nằm trong ngữ cảnh, quy trình dài chuyển sang skill, bật duyệt khi mới dùng và mỗi Hermes home chỉ dành cho một agent. Kiểm tra skill định kỳ vì phần mềm thay đổi.

  • Không biến memory thành kho tài liệu: memory có giới hạn và vào ngữ cảnh mỗi phiên.
  • Đưa quy trình dài sang skill: tiết kiệm ngữ cảnh hơn.
  • Bật write_approval khi mới dùng: xem agent muốn học gì trước khi lưu.
  • Không đặt creation_nudge_interval quá thấp: background review cũng tốn token.
  • Kiểm tra skill định kỳ: quy trình cũ có thể không còn đúng sau khi phần mềm đổi.
  • Dùng /refine sau workflow quan trọng: không cần chờ đánh giá tự động.
  • Mỗi Hermes home cho một agent: hai tiến trình ghi chung một vùng memory sẽ trộn dữ liệu; agent thứ hai nên có profile riêng.
Một số lưu ý khi cấu hình Persistent Memory và tự rút ra Skill

Khi nào không nên bật tự học?

Không nên để Hermes tự ghi memory và skill mà không duyệt khi dùng model nhỏ dễ đánh giá sai điều mình học, khi máy chứa dữ liệu nhạy cảm, hoặc khi nhiều người dùng chung một profile. Khi đó bật write_approval, hoặc tắt background review và chỉ dùng /learn khi cần.

  • Model nhỏ hoặc model local yếu: bật duyệt để tránh lưu kết luận sai về bạn.
  • Bot dùng chung trong nhóm: mỗi người một profile, hoặc tắt user profile (user_profile_enabled: false).
  • Ngân sách token chặt: tắt background review, chạy /refine thủ công.
  • Cần nhớ khối lượng tài liệu lớn: dùng memory provider ngoài, xem Long-Term Memory bằng RAG.

Kết luận

Persistent Memory và tự rút ra skill giúp Hermes Agent chuyển từ AI xử lý từng yêu cầu riêng lẻ sang trợ lý giữ được kiến thức và cải thiện quy trình theo thời gian. Memory giữ thông tin ngắn mà quan trọng; skill giữ workflow, lệnh và kinh nghiệm cần dùng lại.

Kết hợp background review, /refine và /learn với bước duyệt khi mới dùng, Hermes dần có thư viện skill sát với môi trường thật của bạn.

Muốn chạy Hermes Agent 24/7 mà không tự cài? VPS Hermes Agent của Tino cài sẵn Hermes Agent trên VPS NVMe đặt tại Việt Nam; bạn vẫn có quyền root để cấu hình. Xem cấu hình và giá trên trang sản phẩm.

Câu hỏi thường gặp

Memory đầy thì điều gì xảy ra?

Hermes không tự âm thầm xoá dữ liệu để ghi thêm. Khi vượt giới hạn, tool memory báo lỗi và agent phải rút gọn, gộp hoặc xoá mục không còn cần trước khi ghi lại.

Có cần tự viết SKILL.md không?

Không bắt buộc. Bạn có thể tự viết, cài skill có sẵn từ Skills Hub hoặc để Hermes tạo từ workflow đã làm, ví dụ /learn Hãy lưu quy trình vừa thực hiện thành skill. Cài skill có sẵn: cách thêm skill cho Hermes Agent.

Persistent Memory có còn sau khi đóng phiên không?

Có. MEMORY.md và USER.md lưu trên ổ đĩa và được nạp lại khi bắt đầu phiên mới. Ngoài hai file này, Hermes còn tìm lại hội thoại cũ bằng session_search trên SQLite ~/.hermes/state.db.

Có thể tắt hoàn toàn Persistent Memory không?

Có. Đặt memory_enabled: false và user_profile_enabled: false trong khối memory:; khi cả hai tắt, tool memory tích hợp bị gỡ khỏi danh sách tool của agent.

Có thể dùng hệ thống memory mạnh hơn MEMORY.md không?

Có. Hermes hỗ trợ một memory provider ngoài tại một thời điểm, chạy song song với memory tích hợp. RetainDB và ByteRover đi kèm; Honcho, Hindsight, Supermemory, Mem0, OpenViking, Holographic cài từ plugin catalog (từ v0.22.0), chọn bằng hermes memory setup. Tìm hiểu thêm: OpenViking là gì.

Đông Tùng

Senior Technology Writer

Là cử nhân Quản trị kinh doanh của Trường Đại học Tài chính - Marketing, Tùng bắt đầu làm việc tại Tino Group từ năm 2021 ở vị trí Content Marketing để thỏa mãn niềm đam mê viết lách của bản thân. Sở hữu khả năng sáng tạo đặc biệt, anh cùng đội ngũ của mình đã tạo nên những chiến dịch quảng cáo độc đáo cùng vô số bài viết hữu ích về nhiều chủ đề khác nhau. Sự tỉ mỉ, kiên trì và tinh thần sáng tạo của Tùng đã góp phần lớn vào thành công của Tino Group trong lĩnh vực marketing trực tuyến.

Xem thêm bài viết

Bài viết liên quan

Xem nhiều