🤖HermesBlog
Hướng dẫn Chính thức của Hermes · Parte 228/9/2026

Hướng dẫn 22: Ủy quyền Subagent

Hướng dẫn 22: Ủy quyền Subagent — hướng dẫn dễ hiểu dựa trên tài liệu chính thức

Đây là một phần trong chuỗi hướng dẫn chính thức của Hermes Agent. Xem tất cả các bài hướng dẫn

Hãy tưởng tượng bạn là trưởng nhóm của một dự án. Bạn có thể tự mình làm mọi thứ, nhưng như vậy sẽ rất chậm. Thay vào đó, bạn giao các nhiệm vụ cụ thể cho đồng đội, cung cấp cho họ những chi tiết cần thiết và chờ họ báo cáo lại. Đó chính xác là những gì Subagent Delegation (Ủy quyền cho tác tử con) làm cho Hermes Agent — nó cho phép tác tử chính của bạn thuê các “nhân viên” tạm thời để xử lý các tác vụ trong nền.


Hermes tutorial

Bước 1: Hiểu Ý Tưởng Cơ Bản

Khi bạn gọi delegate_task, Hermes sẽ tạo ra một hoặc nhiều tác tử con (subagent). Mỗi tác tử con:

  • Có một cuộc trò chuyện hoàn toàn mới — nó không biết gì về lịch sử trò chuyện của bạn.
  • Có quyền truy cập vào các công cụ giống như tác tử cha.
  • Chạy trong một phiên terminal riêng biệt, cô lập.
  • Chỉ trả về một bản tóm tắt cuối cùng cho tác tử cha.

Hãy nghĩ về nó như việc cử một đồng nghiệp đi nghiên cứu một chủ đề. Họ không cần ngồi nghe suốt cuộc họp của bạn — bạn chỉ cần đưa cho họ một tờ ghi chú với nhiệm vụ và bối cảnh, và họ sẽ quay lại với một bản báo cáo.


Bước 2: Ủy Quyền Một Nhiệm Vụ Đơn Lẻ

Trường hợp sử dụng đơn giản nhất: một nhiệm vụ, một tác tử con.

delegate_task(
    goal="Gỡ lỗi tại sao các bài kiểm tra thất bại",
    context="Lỗi: assertion trong test_foo.py dòng 42"
)

Trường goal cho tác tử con biết phải làm gì. Trường context cung cấp cho nó mọi thứ cần thiết để thực hiện.


Bước 3: Ủy Quyền Nhiều Nhiệm Vụ Song Song

Cần làm nhiều việc cùng một lúc? Hãy truyền vào một danh sách các nhiệm vụ. Theo mặc định, Hermes chạy tối đa 3 tác tử con đồng thời (bạn có thể thay đổi điều này — không có giới hạn cứng).

delegate_task(tasks=[
    {"goal": "Nghiên cứu chủ đề A", "context": "Tập trung vào các nguồn chính gần đây"},
    {"goal": "Nghiên cứu chủ đề B", "context": "So sánh các giải thích hàng đầu"},
    {"goal": "Sửa lỗi build", "context": "Thư mục gốc dự án: /home/user/project"}
])

Mỗi tác tử con hoạt động độc lập. Tác tử cha chờ tất cả chúng hoàn thành, sau đó kết hợp các kết quả lại.


Bước 4: Nguyên Tắc Vàng — Tác Tử Con Không Biết Gì

Đây là điểm quan trọng nhất, hãy lưu ý:

Các tác tử con bắt đầu với kiến thức bằng không về cuộc trò chuyện của bạn.

Nếu bạn nói “Sửa lỗi” mà không giải thích “lỗi” là gì, tác tử con sẽ bối rối. Bạn phải truyền tất cả bối cảnh cần thiết trong các trường goalcontext.

Đây là một ví dụ tồi:

# TỆ - tác tử con không biết "lỗi" ở đây là gì
delegate_task(goal="Sửa lỗi")

Và phiên bản tốt:

# TỐT - tác tử con có tất cả bối cảnh cần thiết
delegate_task(
    goal="Sửa lỗi TypeError trong api/handlers.py",
    context="""Tệp api/handlers.py có lỗi TypeError ở dòng 47:
    'NoneType' object has no attribute 'get'.
    Hàm process_request() nhận một dict từ parse_body(),
    nhưng parse_body() trả về None khi thiếu Content-Type.
    Dự án nằm tại /home/user/myproject và sử dụng Python 3.11."""
)

Hãy coi context như một tài liệu tóm tắt tình hình. Bạn càng cụ thể, công việc của tác tử con sẽ càng tốt.


Bước 5: Sử Dụng Trong Các Quy Trình Làm Việc Thực Tế

Nghiên Cứu Song Song

Thu thập thông tin về nhiều chủ đề cùng một lúc:

delegate_task(tasks=[
    {
        "goal": "Nghiên cứu trạng thái hiện tại của WebAssembly vào năm 2025",
        "context": "Tập trung vào: hỗ trợ trình duyệt, runtime không phải trình duyệt, hỗ trợ ngôn ngữ lập trình"
    },
    {
        "goal": "Nghiên cứu trạng thái áp dụng RISC-V vào năm 2025",
        "context": "Tập trung vào: chip máy chủ, hệ thống nhúng, hệ sinh thái phần mềm"
    },
    {
        "goal": "Nghiên cứu tiến bộ của điện toán lượng tử vào năm 2025",
        "context": "Tập trung vào: đột phá sửa lỗi, ứng dụng thực tế, các bên chủ chốt"
    }
])

Đánh Giá + Sửa Mã Nguồn

Giao toàn bộ công việc đánh giá và sửa lỗi cho một ngữ cảnh mới:

delegate_task(
    goal="Đánh giá mô-đun xác thực để tìm các vấn đề bảo mật và sửa mọi lỗi tìm thấy",
    context="""Dự án tại /home/user/webapp.
    Các tệp mô-đun xác thực: src/auth/login.py, src/auth/jwt.py, src/auth/middleware.py.
    Dự án sử dụng Flask, PyJWT và bcrypt.
    Tập trung vào: SQL injection, xác thực JWT, xử lý mật khẩu, quản lý phiên.
    Sửa mọi vấn đề tìm thấy và chạy bộ kiểm thử (pytest tests/auth/)."""
)

Tóm Tắt

Ủy quyền cho tác tử con là cách để bạn song song hóa công việc trong Hermes Agent. Hãy nhớ những điểm chính sau:

  • Sử dụng delegate_task cho một nhiệm vụ hoặc một loạt nhiệm vụ.
  • Luôn cung cấp đầy đủ bối cảnh — các tác tử con bắt đầu từ con số không.
  • Tối đa 3 tác tử con đồng thời theo mặc định, có thể cấu hình nếu bạn cần nhiều hơn.
  • Mỗi tác tử con trả về một bản tóm tắt có cấu trúc — những gì nó đã làm, những gì nó tìm thấy, các tệp đã thay đổi, các vấn đề gặp phải.

Nó giống như việc có một đội trợ lý chỉ biết những gì bạn nói với họ — vì vậy hãy nói cho họ biết mọi thứ họ cần.


Bài tiếp theo: Hướng dẫn 23 — Kanban: một bảng chia sẻ, bền vững cho sự cộng tác đa tác tử.

📖 Tài liệu chính thức

この記事は Hermes Agent のTài liệu chính thứcに基づいています:Tài liệu chính thức › user-guide/features/delegation