Một AI agent chỉ thật sự hữu ích trong công việc dài hạn khi nó không bắt người dùng lặp lại mọi thứ từ đầu. Nếu mỗi lần mở agent, bạn phải nhắc lại mình dùng hệ điều hành gì, thích phản hồi bằng tiếng Việt hay tiếng Anh, repository nằm ở đâu, quy trình review code ra sao, hoặc tiêu chuẩn viết bài của công ty như thế nào, agent sẽ nhanh chóng trở thành một chatbot nâng cấp chứ chưa phải trợ lý vận hành.
Hermes Agent tách hai khái niệm quan trọng để giải quyết vấn đề này: Memory và Skills. Memory lưu các preference và fact bền vững về người dùng hoặc môi trường. Skills lưu các workflow có thể tái sử dụng cho những loại việc lặp lại. Hiểu đúng sự khác nhau giữa hai lớp này giúp bạn thiết kế Hermes gọn hơn, an toàn hơn và ít “ảo tưởng ngữ cảnh” hơn.
Bài trước trong series đã nói về Hermes Gateway, nơi đưa agent vào Telegram, Discord, Slack, WhatsApp, Signal hoặc Email. Nhưng Gateway chỉ là cửa giao tiếp. Để Hermes làm việc nhất quán qua nhiều phiên, nhiều kênh và nhiều tác vụ, bạn cần biết khi nào nên lưu điều gì vào Memory, khi nào nên biến một quy trình thành Skill, và khi nào không nên lưu gì cả.
Memory trong Hermes Agent là gì?
Memory trong Hermes Agent là nơi lưu những thông tin bền vững mà agent nên nhớ qua nhiều phiên làm việc. Đó có thể là preference của người dùng, quy ước phản hồi, thông tin môi trường ổn định hoặc các fact giúp agent tránh hỏi lại những điều đã rõ.

Ví dụ Memory phù hợp gồm: “người dùng thích trả lời bằng tiếng Việt, nhưng giữ nguyên technical terms bằng English”, “workspace mặc định nằm ở /root”, “khi nói về ThanhTuan.VN thì dùng giọng B2B thực tế, không hype”, hoặc “không publish WordPress nếu chưa có phê duyệt”. Đây là những chỉ dẫn có giá trị lâu dài và áp dụng cho nhiều tác vụ.
Memory không nên trở thành nơi nhồi mọi ghi chú tạm thời. Một lỗi build hôm nay, một token tạm, một branch đang thử nghiệm, hoặc một yêu cầu chỉ dùng cho một bài viết cụ thể không nhất thiết phải được lưu dài hạn. Nếu lưu quá nhiều thông tin nhỏ và ngắn hạn, agent có thể bị nhiễu, áp dụng sai ngữ cảnh hoặc dựa vào dữ liệu đã lỗi thời.
Cách hiểu ngắn gọn: Memory trả lời câu hỏi “Hermes nên nhớ điều gì về tôi và môi trường làm việc của tôi trong dài hạn?”
Skills trong Hermes Agent là gì?
Skills là các workflow có cấu trúc để Hermes tái sử dụng khi gặp một loại nhiệm vụ cụ thể. Nếu Memory là “điều cần nhớ”, Skills là “cách làm đã được chuẩn hóa”.

Một skill tốt thường mô tả khi nào nên dùng, các bước thực hiện, lệnh hoặc công cụ liên quan, tiêu chuẩn kiểm tra, lỗi thường gặp và cách báo cáo kết quả. Ví dụ: skill review pull request, skill viết bài ThanhTuan.VN, skill vận hành Google Workspace, skill xử lý sự cố Python, hoặc skill triển khai một loại server nhất định.
Skills đặc biệt hữu ích khi một công việc có nhiều bước và dễ sai nếu chỉ dựa vào prompt ngắn. Thay vì mỗi lần nhắn “review PR giúp tôi” rồi hy vọng agent tự nhớ tiêu chuẩn, bạn có thể tạo một skill quy định rõ: đọc diff, kiểm tra security, chạy test liên quan, không comment lan man, phân loại severity, và chỉ đề xuất thay đổi có căn cứ.
Cách hiểu ngắn gọn: Skills trả lời câu hỏi “Khi gặp loại việc này, Hermes nên làm theo quy trình nào?”
Memory khác Skills như thế nào?
Sự khác biệt quan trọng nhất nằm ở bản chất thông tin.

Memory lưu dữ kiện hoặc preference. Nó thường ngắn, ổn định và có thể áp dụng rộng. Ví dụ: ngôn ngữ ưu tiên, quy ước đường dẫn, kênh thông báo mặc định, cách xưng hô, chính sách không tự ý publish.
Skills lưu quy trình. Nó thường dài hơn, có nhiều bước, có điều kiện, có checklist và có tiêu chuẩn hoàn thành. Ví dụ: quy trình viết một bài SEO, quy trình kiểm tra Gateway, quy trình xử lý bug production, quy trình tạo cron job an toàn.
Một lỗi thiết kế phổ biến là dùng Memory để lưu workflow dài. Khi đó Memory trở nên nặng, khó bảo trì và khó biết phần nào còn đúng. Ngược lại, nếu dùng Skill để lưu một preference rất ngắn như “trả lời bằng tiếng Việt”, bạn làm phức tạp hóa thứ đáng ra chỉ cần là một memory đơn giản.
Có thể dùng nguyên tắc sau:
- Nếu thông tin là “sự thật hoặc sở thích bền vững”, dùng Memory.
- Nếu thông tin là “các bước làm việc có thể lặp lại”, dùng Skill.
- Nếu thông tin chỉ phục vụ một phiên hiện tại, giữ trong prompt hoặc tài liệu tạm.
- Nếu thông tin nhạy cảm như token, password, private key, không lưu vào Memory hoặc Skill dưới dạng plaintext.
Những gì nên lưu vào Memory
Memory nên được dùng cho các thông tin ổn định, có giá trị lặp lại và không quá nhạy cảm. Một số nhóm thông tin phù hợp gồm:

Thứ nhất là preference giao tiếp. Ví dụ: “ưu tiên trả lời ngắn gọn”, “giải thích bằng tiếng Việt, giữ technical terms tự nhiên”, “khi báo cáo task, luôn nêu file đã sửa và vấn đề còn lại”. Những preference này giúp trải nghiệm nhất quán hơn.
Thứ hai là fact về môi trường. Ví dụ: hệ điều hành thường dùng, thư mục workspace mặc định, công cụ package manager, cách chạy test phổ biến, hoặc tên các repository chính. Những fact này tiết kiệm thời gian, nhưng phải đủ ổn định để không gây hại nếu được dùng lại sau vài tuần.
Thứ ba là chính sách làm việc. Ví dụ: “không publish bài WordPress nếu chưa được duyệt”, “không chạy migration production nếu chưa hỏi lại”, “luôn backup trước khi sửa nội dung live”. Đây là loại Memory có giá trị vì nó giúp agent tránh hành động vượt quyền.
Những gì không nên lưu vào Memory
Không phải thông tin nào “có vẻ hữu ích” cũng nên lưu. Memory càng sạch, agent càng đáng tin.

Không nên lưu secrets: API keys, bot token, password, private key, recovery code hoặc thông tin xác thực cá nhân. Những thứ này cần nằm trong secret manager, biến môi trường, file cấu hình được bảo vệ hoặc cơ chế chuyên dụng của hạ tầng.
Không nên lưu trạng thái tạm thời: “hôm nay đang debug bug X”, “branch hiện tại là feature/test”, “bài viết này cần 1800 chữ”, “server vừa lỗi lúc 9h”. Những dữ kiện này có vòng đời ngắn. Nếu lưu dài hạn, chúng dễ trở thành thông tin sai.
Không nên lưu suy đoán chưa kiểm chứng. Ví dụ: “dịch vụ A thường lỗi vì database” nếu chưa có bằng chứng. Agent có thể bám vào suy đoán đó ở lần sau và bỏ qua chẩn đoán đúng.
Không nên lưu workflow dài. Nếu nội dung có nhiều bước, nhiều điều kiện hoặc nhiều lệnh, hãy biến nó thành Skill. Memory chỉ nên chứa phiên bản ngắn của fact hoặc preference.
Khi nào nên tạo Skill?
Bạn nên tạo Skill khi một công việc lặp lại đủ nhiều, có tiêu chuẩn riêng, hoặc đã từng mất thời gian sửa lỗi vì agent làm sai cách.

Ví dụ với nội dung, nếu ThanhTuan.VN có giọng viết riêng, cấu trúc SEO riêng, quy tắc không dùng hype và yêu cầu clean publish-ready body, đó là Skill. Nếu chỉ nhắc trong prompt từng lần, agent có thể bỏ sót. Skill giúp đóng gói tiêu chuẩn biên tập thành quy trình.
Ví dụ với DevOps, nếu nhóm có cách kiểm tra server gồm xem status, đọc log, kiểm tra health endpoint, không restart khi chưa xác nhận, và báo cáo theo mẫu, đó là Skill. Nó giúp giảm rủi ro thao tác tùy hứng.
Ví dụ với GitHub, nếu quy trình review PR yêu cầu đọc issue liên quan, xem diff, chạy test, kiểm tra migration, phân loại blocking/non-blocking, đó cũng là Skill. Agent không chỉ “nhìn code và góp ý”, mà làm theo một playbook cụ thể.
Memory và Skills khi dùng qua Gateway
Khi kết nối Hermes qua Telegram hoặc Slack bằng Gateway, Memory và Skills càng quan trọng hơn. Trong chat, người dùng thường viết ngắn: “làm như lần trước”, “check giúp”, “tạo lịch nhắc”, “viết bản nháp”. Nếu agent không có Memory và Skills, những câu này rất mơ hồ.

Memory giúp agent hiểu các quy ước nền: kênh nào dùng cho thông báo, người dùng thích format nào, môi trường mặc định là gì. Skills giúp agent biết “check giúp” trong ngữ cảnh server nghĩa là kiểm tra status trước, đọc log sau, không restart nếu chưa hỏi.
Tuy nhiên, không nên dựa hoàn toàn vào Memory để thay thế xác nhận. Với các hành động có rủi ro, dù agent nhớ preference, vẫn nên hỏi lại. Ví dụ: “Tôi sẽ tạo cron gửi báo cáo vào nhóm Telegram này lúc 9h mỗi ngày. Xác nhận tạo?” Cách làm này cân bằng giữa tiện lợi và an toàn.
Bảo trì Memory và Skills
Memory và Skills không phải thứ tạo một lần rồi quên. Môi trường làm việc thay đổi, tool đổi lệnh, quy trình nội bộ thay đổi, tiêu chuẩn nội dung thay đổi. Nếu không bảo trì, agent có thể làm đúng theo tài liệu cũ nhưng sai với hiện tại.
Với Memory, nên định kỳ rà soát những thông tin không còn đúng. Ví dụ workspace đã chuyển, repository đã đổi tên, kênh Telegram không còn dùng, hoặc preference phản hồi đã thay đổi. Memory sai nguy hiểm hơn không có Memory, vì nó khiến agent tự tin áp dụng điều cũ.
Với Skills, nên cập nhật ngay khi phát hiện lỗ hổng. Nếu một workflow thiếu bước kiểm tra, thêm vào. Nếu một lệnh đã lỗi thời, sửa. Nếu một pitfall mới xuất hiện, ghi lại. Skills tốt là procedural memory sống, được cải thiện sau mỗi lần làm việc khó.
Một thói quen hữu ích là sau mỗi task phức tạp, tự hỏi: “Có bước nào lần sau nên tái sử dụng không?” Nếu có, hãy đưa vào Skill. Nếu chỉ là preference ngắn, đưa vào Memory. Nếu chỉ là ngữ cảnh tạm, không lưu.
Checklist thiết kế Memory và Skills
Nếu bạn đang triển khai Hermes Agent cho cá nhân hoặc nhóm nhỏ, có thể bắt đầu bằng checklist sau:
- Xác định 5–10 preference thật sự bền vững để đưa vào Memory.
- Loại bỏ mọi secret khỏi Memory và Skills.
- Tạo Skill cho các workflow lặp lại nhiều nhất: content, code review, server check, báo cáo định kỳ.
- Mỗi Skill có trigger, nguyên tắc, workflow và checklist.
- Không tạo Skill quá rộng; một skill nên giải quyết một nhóm tác vụ rõ ràng.
- Khi dùng qua Telegram hoặc Slack, yêu cầu xác nhận với hành động có rủi ro.
- Rà soát Memory định kỳ để xóa fact lỗi thời.
- Cập nhật Skill ngay sau khi phát hiện bước thiếu hoặc lệnh sai.
Kết luận
Memory và Skills là hai lớp nền tảng giúp Hermes Agent làm việc ổn định hơn qua nhiều phiên và nhiều kênh. Memory lưu preference, chính sách và fact bền vững. Skills lưu workflow có thể tái sử dụng. Nếu phân chia đúng, bạn giảm được prompt lặp lại, tăng tính nhất quán và hạn chế rủi ro agent hành động sai ngữ cảnh.
Điểm quan trọng nhất là không xem Memory như kho chứa mọi thứ và không xem Skills như tài liệu trang trí. Memory phải chọn lọc. Skills phải phản ánh cách làm thật, có kiểm tra và được cập nhật khi phát hiện thiếu sót.
Sau khi đã có Gateway để đưa Hermes vào chat và có Memory, Skills để agent làm việc nhất quán, bước tiếp theo là tự động hóa theo lịch. Bài kế tiếp sẽ đi vào Hermes Cron: cách tạo, xem, tạm dừng, tiếp tục và gỡ các job định kỳ bằng lịch tự nhiên hoặc CLI.
Series hướng dẫn Hermes Agent
Đây là bài 6/10 trong series Hướng dẫn Hermes Agent từ A-Z trên ThanhTuan.VN.
- Bài trước: Kết nối Hermes Agent với Telegram bằng Gateway
- Mục lục series: Hướng dẫn Hermes Agent từ A-Z
- Bài tiếp theo: Hermes Cron: tự động hóa AI Agent theo lịch

