Harness Academy
Tài liệu gốc 34 6 phútTiếng Việt + English
docs/en/teaching-scope.mdXem bản gốc
Ngôn ngữ bài đọc
Bản dịch tiếng Việt

Bản dịch đầy đủ theo đúng cấu trúc tài liệu; code, liên kết và định danh kỹ thuật được giữ nguyên.

Phạm vi giảng dạy

Tài liệu này giải thích những gì kho giảng dạy này đề cập và những gì không.
agent Hermes là một hệ thống lớn. Không phải mọi thứ trong đó đều phù hợp cho việc hướng dẫn cơ bản.

Mục tiêu của repo này

Dạy các nhà phát triển hiểu và xây dựng lại kiến trúc cốt lõi của AI agent tự trị đa nền tảng.

Lưu ý các từ "đa nền tảng".

Hầu hết các hướng dẫn dành cho nhân viên chỉ dạy "một người trò chuyện với AI trong terminal". Hermes Agent được thiết kế ngay từ đầu để xử lý nhiều nền tảng, nhiều môi trường thực thi và nhiều nhà cung cấp mô hình. Đây không phải là những suy nghĩ lại -- chúng đã định hình thiết kế cốt lõi.

Điều đó có nghĩa là chương trình giảng dạy này có phạm vi rộng hơn so với một "công cụ + vòng lặp agent" đơn giản:

  • Cách tạo cùng một vòng lặp phục vụ cả điểm vào CLI và Gateway
  • Cách chạy các công cụ trong các môi trường thực thi khác nhau
  • Làm thế nào để agent tự quản lý hồ sơ kỹ năng của mình
  • Cách sử dụng SQLite thay vì hệ thống tệp để duy trì tính bền vững
  • Cách hỗ trợ bất kỳ mô hình nào thông qua giao diện tương thích OpenAI

Điều gì phải được giải thích rõ ràng

Vòng lặp cốt lõi

Vòng lặp đồng bộ hoạt động như thế nào, tại sao lại chọn đồng bộ, cách kết nối các công cụ không đồng bộ và vòng đời của phiên bản trông như thế nào ở chế độ Cổng kết nối.

Tự đăng ký công cụ

Chuỗi nhập trông như thế nào, tại sao sổ đăng ký không phụ thuộc vào bất kỳ công cụ nào và tại sao việc thêm công cụ mới không yêu cầu thay đổi các tệp khác.

Kiên trì

Tại sao sử dụng SQLite trên các tệp, chế độ WAL giải quyết vấn đề gì, FTS5 giải quyết vấn đề gì và cách phân chia phiên và parent_session_id làm việc.

Lời nhắc hệ thống đa nguồn

Thứ tự ưu tiên của SOUL.md, MEMORY.md, HERMES.md, AGENTS.md và .cursorrules; cách chúng được tập hợp thành một dấu nhắc hệ thống duy nhất; và tại sao lời nhắc hệ thống được lưu vào bộ nhớ đệm.

Cổng và mẫu bộ điều hợp

Cổng là gì, lớp cơ sở của bộ điều hợp xác định giao diện nào, cách các thông báo chuyển từ định dạng dành riêng cho nền tảng sang định dạng hợp nhất và cách các phiên được tách biệt bởi chat_id.

Trừu tượng hóa môi trường thực thi

BaseEnvironment xác định giao diện nào, mỗi cách triển khai trong số sáu cách triển khai này giải quyết được vấn đề gì và tại sao lớp công cụ không cần biết lệnh chạy ở đâu.

Vòng đời kỹ năng

Các kỹ năng khác với các công cụ như thế nào, cách agent tạo và chỉnh sửa các tệp kỹ năng cũng như cách các kỹ năng được thực thi thông qua các công cụ hiện có.

Những gì không nên chiếm không gian dòng chính

  • Chi tiết đóng gói Nix flap / Docker -- cách xây dựng gói phân phối không phải là kiến trúc cốt lõi
  • Giao diện và công cụ theo chủ đề -- KawaiiSpinner dễ thương nhưng không được ưu tiên giảng dạy
  • Đăng ký và thanh toán trên Nous Portal -- tích hợp thương mại không phải là cơ chế cốt lõi
  • Quy trình đào tạo RL -- batch_runner và Orbit_compressor là các hệ thống con độc lập
  • Các định dạng API dành riêng cho nền tảng -- Bàn phím nội tuyến của Telegram, cấu trúc thông báo XML của WeChat, v.v. là thông tin chi tiết về nền tảng, không phải kiến thức kiến trúc
  • Logic di chuyển kế thừa -- các nhánh di chuyển trong config.py là nợ công nghệ, không phải quyết định thiết kế
  • Trang đích và tài liệu tiếp thị -- tự giải thích

Những thách thức giảng dạy dành riêng cho agent Hermes

Chi phí tinh thần của hai điểm vào

Người đọc cần hiểu rằng CLI và Gateway gọi cùng một vòng lặp, tuy nhiên hành vi điểm vào của chúng khác nhau (CLI sử dụng một phiên bản tồn tại lâu dài; Gateway tạo một phiên bản mới cho mỗi tin nhắn).

Chiến lược giảng dạy: Giai đoạn 1-2 chỉ bao gồm CLI. Giai đoạn 3 giới thiệu Cổng. Hãy để vòng lõi cứng lại trước.

Sáu môi trường thực thi

Các lệnh do công cụ đưa ra có thể chạy trên local, Docker, SSH, Modal, Daytona hoặc Singularity.

Chiến lược giảng dạy: Giai đoạn 1-2 chỉ bao gồm địa phương. Giai đoạn 3 giới thiệu sự trừu tượng hóa môi trường. Hãy để hệ thống công cụ kiên cố hóa trước.

Mười bảy bộ điều hợp nền tảng

Gateway có 17 bộ điều hợp nền tảng, mỗi bộ điều hợp có định dạng thông báo và cơ chế gọi lại riêng.

Chiến lược giảng dạy: Chỉ bao gồm giao diện lớp cơ sở và định dạng thông điệp thống nhất. Đi qua một nền bê tông là một ví dụ đầy đủ. Đề cập đến những người khác là "mô hình tương tự."

Lời nhắc hệ thống đa nguồn

Lời nhắc hệ thống được tập hợp từ năm hoặc sáu nguồn, với thứ tự ưu tiên và logic bộ nhớ đệm.

Chiến lược giảng dạy: Bắt đầu với “có nhiều nguồn, kết hợp với nhau”. Mở rộng sang chiến lược bộ nhớ đệm và logic lắp ráp đầy đủ trong s04.

Cấu trúc đề xuất cho mỗi chương

  1. What problem this chapter solves -- bắt đầu với TẠI SAO
  2. A few terms to define first -- xác định trước các khái niệm mới
  3. Minimal mental model -- một sơ đồ hoặc một khối mã giả
  4. Key data structures -- trạng thái của cơ chế này trông như thế nào
  5. Minimal implementation -- mã có thể chạy được
  6. Hermes Agent's unique design -- cơ chế này ở Hermes có gì đặc biệt
  7. Common beginner mistakes - phòng ngừa cạm bẫy
  8. Teaching boundary -- nơi chương này cố tình dừng lại

Đặc biệt chú ý đến điểm 6. Đây là điểm khiến chương trình giảng dạy này khác biệt với các hướng dẫn chung về agent. Mỗi chương nên nêu ra điểm khác biệt trong các lựa chọn thiết kế của agent Hermes cho cơ chế hiện tại, thay vì chỉ giải thích khái niệm chung.

Danh sách kiểm tra người bảo trì

  • Chương này có giải thích rõ ràng "Hermes khác với cách tiếp cận chung về cơ chế này như thế nào không"
  • Có phải nó đã vô tình biến thành một hướng dẫn chung về agent (có thể hoán đổi với learn-claude-code bằng cách đổi tên)
  • Có phải nó đã giới thiệu quá sớm sự phức tạp của Cổng hoặc đa môi trường trong Giai đoạn 1 không?
  • Các ví dụ mã có sử dụng định dạng OpenAI (không phải định dạng Anthropic)
  • Nó có tham chiếu đến tên lớp hoặc tên hàm nào không tồn tại không (kiểm tra ảo giác)

Trong Một Câu

Cốt lõi của chương trình giảng dạy này không phải là "cách viết một agent" mà là "cách viết một agent có thể phục vụ đồng thời một terminal và hơn chục nền tảng nhắn tin."

Mục lục nguồn