Chuyển tới nội dung chính

Mẹo & phương pháp hay nhất

Bộ sưu tập các mẹo thiết thực giúp bạn đạt được hiệu quả nhanh chóng hơn với Hermes Agent. Mỗi phần nhắm đến một khía cạnh khác nhau — quét qua các tiêu đề và chuyển đến nội dung có liên quan.


Đạt được kết quả tốt nhất

Hãy cụ thể về những gì bạn muốn

Lời nhắc mơ hồ tạo ra kết quả mơ hồ. Thay vì "sửa mã", hãy nói "sửa TypeError trong api/handlers.py trên dòng 47 — hàm process_request() nhận None từ parse_body() ." Bạn càng cung cấp nhiều ngữ cảnh thì bạn càng cần ít lần lặp lại hơn.

Cung cấp ngữ cảnh trước

Tải trước yêu cầu của bạn với các chi tiết có liên quan: đường dẫn tệp, thông báo lỗi, hành vi dự kiến. Một thông điệp được xây dựng tốt sẽ đánh bại ba vòng làm rõ. Dán trực tiếp các dấu vết lỗi — tác nhân có thể phân tích cú pháp chúng.

Sử dụng tệp ngữ cảnh cho hướng dẫn định kỳ

Nếu bạn thấy mình lặp lại các hướng dẫn tương tự ("sử dụng tab chứ không phải dấu cách", "chúng tôi sử dụng pytest", "API ở /api/v2 "), hãy đặt chúng vào tệp AGENTS.md. Nhân viên sẽ tự động đọc nó mỗi phiên — không tốn công sức sau khi thiết lập.

Hãy để tác nhân sử dụng công cụ của nó

Đừng cố nắm tay từng bước. Nói "tìm và sửa bài kiểm tra không thành công" thay vì "mở tests/test_foo.py, xem dòng 42, sau đó..." Tác nhân có chức năng tìm kiếm tệp, truy cập terminal và thực thi mã — hãy để nó khám phá và lặp lại.

Sử dụng kỹ năng cho quy trình công việc phức tạp

Trước khi viết một đoạn văn dài giải thích cách làm một việc gì đó, hãy kiểm tra xem bạn đã có kỹ năng thực hiện việc đó chưa. Nhập /skills để duyệt qua các kỹ năng có sẵn hoặc chỉ gọi trực tiếp một kỹ năng như /axolotl hoặc /github-pr-workflow .

Lời khuyên dành cho người dùng CLI Power

Đầu vào nhiều dòng

Nhấn Alt+Enter (hoặc Ctrl+J) để chèn dòng mới mà không cần gửi. Điều này cho phép bạn soạn lời nhắc nhiều dòng, dán khối mã hoặc cấu trúc các yêu cầu phức tạp trước khi nhấn Enter để gửi.

Phát hiện dán

CLI tự động phát hiện các miếng dán nhiều dòng. Chỉ cần dán trực tiếp khối mã hoặc truy tìm lỗi — thao tác này sẽ không gửi từng dòng dưới dạng một thông báo riêng biệt. Việc dán được lưu vào bộ đệm và gửi dưới dạng một tin nhắn.

Ngắt và chuyển hướng

Nhấn Ctrl+C một lần để làm gián đoạn phản hồi giữa chừng của tổng đài viên. Sau đó, bạn có thể nhập tin nhắn mới để chuyển hướng nó. Nhấn đúp Ctrl+C trong vòng 2 giây để buộc thoát. Điều này là vô giá khi tác nhân bắt đầu đi sai đường.

Tiếp tục phiên với -c

Bạn quên điều gì đó từ phiên làm việc cuối cùng của mình? Chạy hermes -c để tiếp tục chính xác nơi bạn đã dừng lại, với toàn bộ lịch sử cuộc trò chuyện được khôi phục. Bạn cũng có thể tiếp tục theo tiêu đề: hermes -r "my research project" .

Dán hình ảnh bảng nhớ tạm

Nhấn Ctrl+V để dán hình ảnh từ khay nhớ tạm của bạn trực tiếp vào cuộc trò chuyện. Tác nhân sử dụng tầm nhìn để phân tích ảnh chụp màn hình, sơ đồ, cửa sổ bật lên lỗi hoặc mô hình giao diện người dùng — trước tiên không cần lưu vào tệp.

Lệnh gạch chéo Tự động hoàn thànhNhập / và nhấn Tab để xem tất cả các lệnh có sẵn. Điều này bao gồm các lệnh tích hợp ( /compress , /model , /title ) và mọi kỹ năng được cài đặt. Bạn không cần phải ghi nhớ bất cứ điều gì - bạn đã hoàn thành việc hoàn thành tab.

mẹo

Sử dụng /verbose để chuyển qua các chế độ hiển thị đầu ra của công cụ: tắt → mới → tất cả → dài dòng. Chế độ "tất cả" rất phù hợp để xem tác nhân làm gì; "tắt" là cách rõ ràng nhất cho phần Hỏi & Đáp đơn giản.

Tệp ngữ cảnh

AGENTS.md: Bộ não dự án của bạn

Tạo AGENTS.md trong thư mục gốc dự án của bạn với các quyết định về kiến trúc, quy ước mã hóa và hướng dẫn dành riêng cho dự án. Điều này được tự động đưa vào mỗi phiên, vì vậy nhân viên luôn biết các quy tắc của dự án của bạn.

# Project Context
- This is a FastAPI backend with SQLAlchemy ORM
- Always use async/await for database operations
- Tests go in tests/ and use pytest-asyncio
- Never commit .env files

SOUL.md: Tùy chỉnh tính cách

Muốn Hermes có tiếng nói mặc định ổn định? Chỉnh sửa ~/.hermes/SOUL.md (hoặc $HERMES_HOME/SOUL.md nếu bạn sử dụng nhà Hermes tùy chỉnh). Giờ đây, Hermes tự động tạo một LINH HỒN ban đầu và sử dụng tệp toàn cầu đó làm nguồn tính cách trên toàn phiên bản.

Để biết hướng dẫn đầy đủ, hãy xem Sử dụng SOUL.md với Hermes.

# Soul
You are a senior backend engineer. Be terse and direct.
Skip explanations unless asked. Prefer one-liners over verbose solutions.
Always consider error handling and edge cases.

Hãy sử dụng SOUL.md để có cá tính bền bỉ. Sử dụng AGENTS.md để biết hướng dẫn dành riêng cho dự án.

.cursorrules Khả năng tương thích

Đã có tệp .cursorrules hoặc .cursor/rules/*.mdc? Hermes cũng đọc những thứ đó. Không cần phải sao chép các quy ước mã hóa của bạn — chúng được tải tự động từ thư mục làm việc.

Khám phá

Hermes tải AGENTS.md cấp cao nhất từ thư mục làm việc hiện tại khi bắt đầu phiên. Các tệp thư mục con AGENTS.md được phát hiện một cách lười biếng trong các lệnh gọi công cụ (thông qua subdirectory_hints.py ) và được đưa vào kết quả của công cụ — chúng không được tải trước vào lời nhắc hệ thống.

mẹo

Giữ các tập tin ngữ cảnh tập trung và ngắn gọn. Mỗi ký tự đều được tính vào ngân sách mã thông báo của bạn vì chúng được đưa vào từng tin nhắn.

Trí nhớ & Kỹ năng

Trí nhớ và kỹ năng: Đi đến đâu

Bộ nhớ dành cho thông tin thực tế: môi trường, sở thích, vị trí dự án của bạn và những điều mà đại lý đã biết về bạn. Kỹ năng dành cho các quy trình: quy trình làm việc gồm nhiều bước, hướng dẫn dành riêng cho từng công cụ và các công thức nấu ăn có thể tái sử dụng. Sử dụng trí nhớ cho “cái gì”, kỹ năng cho “như thế nào”.

Khi nào cần tạo kỹ năng

Nếu bạn tìm thấy một nhiệm vụ cần hơn 5 bước và bạn sẽ thực hiện lại nhiệm vụ đó, hãy yêu cầu người đại diện tạo kỹ năng cho nhiệm vụ đó. Nói "lưu những gì bạn vừa làm dưới dạng kỹ năng có tên deploy-staging ." Lần tới, chỉ cần nhập /deploy-staging và nhân viên sẽ tải toàn bộ quy trình.

Quản lý dung lượng bộ nhớ

Bộ nhớ được giới hạn có chủ ý (~2.200 ký tự cho MEMORY.md, ~1.375 ký tự cho USER.md). Khi nó lấp đầy, đại lý hợp nhất các mục. Bạn có thể trợ giúp bằng cách nói "dọn dẹp bộ nhớ của bạn" hoặc "thay thế ghi chú Python 3.9 cũ — hiện chúng tôi đang ở phiên bản 3.12".

Hãy để Đại lý ghi nhớ

Sau một phiên làm việc hiệu quả, hãy nói "hãy nhớ điều này cho lần sau" và nhân viên hỗ trợ sẽ lưu lại những nội dung quan trọng. Bạn cũng có thể nêu cụ thể: "lưu vào bộ nhớ mà CI của chúng tôi sử dụng Tác vụ GitHub với quy trình làm việc deploy.yml."

cảnh báo

Bộ nhớ là một ảnh chụp nhanh bị đóng băng — những thay đổi được thực hiện trong một phiên không xuất hiện trong lời nhắc hệ thống cho đến khi phiên tiếp theo bắt đầu. Tác nhân ghi vào đĩa ngay lập tức, nhưng bộ nhớ đệm nhắc nhở không bị vô hiệu hóa giữa phiên.

Hiệu suất & Chi phí

Đừng phá vỡ bộ đệm nhắc nhở

Hầu hết các nhà cung cấp LLM đều lưu vào bộ đệm tiền tố lời nhắc của hệ thống. Nếu bạn giữ lời nhắc hệ thống ổn định (cùng tệp ngữ cảnh, cùng bộ nhớ), các tin nhắn tiếp theo trong một phiên sẽ nhận được lần truy cập bộ đệm rẻ hơn đáng kể. Tránh thay đổi mô hình hoặc lời nhắc hệ thống giữa phiên.

Sử dụng /nén trước khi đạt giới hạn

Phiên dài tích lũy mã thông báo. Khi bạn nhận thấy phản hồi chậm lại hoặc bị cắt bớt, hãy chạy /compress . Điều này tóm tắt lịch sử hội thoại, bảo toàn ngữ cảnh chính đồng thời giảm đáng kể số lượng mã thông báo. Sử dụng /usage để kiểm tra xem bạn đang đứng ở đâu.

Đại biểu cho công việc song song

Cần nghiên cứu ba chủ đề cùng một lúc? Yêu cầu tổng đài viên sử dụng delegate_task với các nhiệm vụ con song song. Mỗi tác nhân phụ chạy độc lập với ngữ cảnh riêng và chỉ có bản tóm tắt cuối cùng mới được trả về — giảm đáng kể mức sử dụng mã thông báo trong cuộc trò chuyện chính của bạn.

Sử dụng mã thực thi cho các hoạt động hàng loạt

Thay vì chạy từng lệnh đầu cuối, hãy yêu cầu tổng đài viên viết một tập lệnh thực hiện mọi thứ cùng một lúc. "Viết tập lệnh Python để đổi tên tất cả các tệp .jpeg thành .jpg và chạy nó" rẻ hơn và nhanh hơn so với việc đổi tên từng tệp riêng lẻ.

Chọn đúng mẫu

Sử dụng /model để chuyển đổi mô hình giữa phiên. Sử dụng mô hình biên giới (Claude Sonnet/Opus, GPT-4o) cho các quyết định về lý luận và kiến ​​trúc phức tạp. Chuyển sang mô hình nhanh hơn để thực hiện các tác vụ đơn giản như định dạng, đổi tên hoặc tạo bản mẫu.

mẹo

Chạy /usage định kỳ để xem mức tiêu thụ mã thông báo của bạn. Chạy /insights để có cái nhìn rộng hơn về các kiểu sử dụng trong 30 ngày qua.

Mẹo nhắn tin

Đặt kênh chính

Sử dụng /sethome trong cuộc trò chuyện Telegram hoặc Discord ưa thích của bạn để chỉ định kênh đó làm kênh chính. Kết quả công việc định kỳ và kết quả đầu ra của nhiệm vụ theo lịch trình được gửi ở đây. Không có nó, đại lý không có nơi nào để gửi tin nhắn chủ động.

Sử dụng /title để tổ chức các phiên

Đặt tên phiên của bạn bằng /title auth-refactor hoặc /title research-llm-quantization . Các phiên được đặt tên rất dễ tìm thấy bằng hermes sessions list và tiếp tục bằng hermes -r "auth-refactor" . Các phiên không tên chồng chất lên nhau và không thể phân biệt được.

Ghép nối DM để truy cập nhóm

Thay vì thu thập ID người dùng cho danh sách cho phép theo cách thủ công, hãy bật ghép nối DM. Khi một đồng đội gửi tin nhắn trực tiếp cho bot, họ sẽ nhận được mã ghép nối một lần. Bạn phê duyệt nó bằng hermes pairing approve telegram XKGH5N7P — đơn giản và an toàn.

Chế độ hiển thị tiến trình công cụ

Sử dụng /verbose để kiểm soát mức độ hoạt động của công cụ mà bạn nhìn thấy. Trong các nền tảng nhắn tin, ít hơn thường là nhiều hơn — hãy giữ nó ở chế độ "mới" để chỉ xem các lệnh gọi công cụ mới. Trong CLI, "tất cả" mang đến cho bạn cái nhìn trực tiếp thỏa mãn về mọi việc mà nhân viên hỗ trợ thực hiện.

mẹo

Trên nền tảng nhắn tin, các phiên sẽ tự động đặt lại sau thời gian rảnh (mặc định: 24 giờ) hoặc lúc 4 giờ sáng hàng ngày. Điều chỉnh từng nền tảng trong ~/.hermes/config.yaml nếu bạn cần phiên dài hơn.

Bảo mật

Sử dụng Docker cho mã không đáng tin cậy

Khi làm việc với các kho lưu trữ không đáng tin cậy hoặc chạy mã lạ, hãy sử dụng Docker hoặc Daytona làm chương trình phụ trợ terminal của bạn. Đặt TERMINAL_BACKEND=docker trong .env của bạn. Các lệnh phá hủy bên trong vùng chứa không thể gây hại cho hệ thống máy chủ của bạn.

# In your .env:
TERMINAL_BACKEND=docker
TERMINAL_DOCKER_IMAGE=hermes-sandbox:latest

Tránh những cạm bẫy mã hóa Windows

Trên Windows, một số mã hóa mặc định (chẳng hạn như cp125x ) không thể biểu thị tất cả các ký tự Unicode, điều này có thể gây ra UnicodeEncodeError khi ghi tệp trong các bài kiểm tra hoặc tập lệnh.

  • Ưu tiên mở tệp có mã hóa UTF-8 rõ ràng:
with open("results.txt", "w", encoding="utf-8") as f:
f.write("✓ All good\n")

  • Trong PowerShell, bạn cũng có thể chuyển phiên hiện tại sang UTF-8 cho bảng điều khiển và đầu ra lệnh gốc:
$OutputEncoding = [Console]::OutputEncoding = [Text.UTF8Encoding]::new($false)

Điều này giữ cho PowerShell và các tiến trình con ở trạng thái UTF-8 và giúp tránh các lỗi chỉ xảy ra với Windows.

Xem lại trước khi chọn "Luôn luôn"

Khi tác nhân kích hoạt phê duyệt lệnh nguy hiểm ( rm -rf , DROP TABLE , v.v.), bạn sẽ có bốn tùy chọn: một lần, phiên, luôn luôn, từ chối. Hãy suy nghĩ cẩn thận trước khi chọn "luôn luôn" — nó vĩnh viễn đưa mẫu đó vào danh sách cho phép. Bắt đầu với "phiên" cho đến khi bạn cảm thấy thoải mái.

Lệnh phê duyệt là mạng lưới an toàn của bạn

Hermes kiểm tra mọi lệnh dựa trên danh sách các mẫu nguy hiểm được tuyển chọn trước khi thực hiện. Điều này bao gồm xóa đệ quy, bỏ SQL, chuyển đường cong sang shell, v.v. Đừng tắt tính năng này trong quá trình sản xuất - nó tồn tại vì những lý do chính đáng.

cảnh báo

Khi chạy trong phần phụ trợ vùng chứa (Docker, Singularity, Modal, Daytona), việc kiểm tra lệnh nguy hiểm sẽ bị bỏ qua vì vùng chứa là ranh giới bảo mật. Đảm bảo hình ảnh vùng chứa của bạn được khóa đúng cách.

Sử dụng danh sách cho phép cho bot nhắn tin

Không bao giờ đặt GATEWAY_ALLOW_ALL_USERS=true trên bot có quyền truy cập terminal. Luôn sử dụng danh sách cho phép dành riêng cho nền tảng ( TELEGRAM_ALLOWED_USERS , DISCORD_ALLOWED_USERS ) hoặc ghép nối DM để kiểm soát ai có thể tương tác với nhân viên hỗ trợ của bạn.

# Recommended: explicit allowlists per platform
TELEGRAM_ALLOWED_USERS=123456789,987654321
DISCORD_ALLOWED_USERS=123456789012345678

# Or use cross-platform allowlist
GATEWAY_ALLOWED_USERS=123456789,987654321


Có một mẹo nên có trên trang này? Mở một vấn đề hoặc PR — sự đóng góp của cộng đồng đều được hoan nghênh.