Skip to content

Latest commit

 

History

History
584 lines (437 loc) · 39.2 KB

File metadata and controls

584 lines (437 loc) · 39.2 KB

English 简体中文 繁體中文 日本語 한국어 Español Français Русский Deutsch العربية Tiếng Việt Oʻzbekcha

Learn Harness Engineering

Khóa học dựa trên dự án về xây dựng môi trường, quản lý trạng thái, cơ chế kiểm chứng và điều khiển giúp các agent viết code AI hoạt động đáng tin cậy.

Learn Harness Engineering là một khóa học dành riêng cho kỹ thuật liên quan đến các agent viết code AI. Chúng tôi đã nghiên cứu sâu và tổng hợp các lý thuyết và thực tiễn Harness Engineering tiên tiến nhất trong ngành. Các tài liệu tham khảo cốt lõi của chúng tôi bao gồm:

Bắt đầu nhanh? Skill skills/harness-creator/ có thể giúp bạn tạo nhanh một harness cấp sản xuất (AGENTS.md, feature lists, init.sh, quy trình kiểm chứng) cho dự án của riêng bạn chỉ trong vài phút.


Mục lục


Xem trước trực quan

Trang chủ khóa học

Tổng quan khóa học toàn diện và giới thiệu về các triết lý cốt lõi, cung cấp lộ trình rõ ràng để bắt đầu.

Xem trước trang chủ khóa học

Bài giảng nhập môn

Đi sâu vào các vấn đề thực tế và dự án thực hành (như Dự án 01) mang đến trải nghiệm học tập nhập môn.

Xem trước bài giảng khóa học

Thư viện tài nguyên sẵn sàng sử dụng

Các mẫu và cấu hình tham khảo được thiết kế để giải quyết các vấn đề phổ biến trong phát triển agent AI nhiều lượt, chẳng hạn như mất ngữ cảnh và hoàn thành tác vụ quá sớm.

Xem trước thư viện tài nguyên

Sách giáo trình PDF

Kho lưu trữ hiện đã bao gồm quy trình xây dựng PDF cho nội dung khóa học.

  • Chạy npm run pdf:build để tạo PDF tiếng Anh và tiếng Trung tại máy cục bộ.
  • Các tệp đầu ra được ghi vào artifacts/pdfs/.
  • Chạy npm run screenshots:readme nếu bạn muốn làm mới hình ảnh xem trước README.
  • GitHub Actions workflow release-course-pdfs.yml có thể xây dựng PDF và xuất bản chúng lên GitHub Releases.

Mô hình thì thông minh, Harness giúp nó đáng tin cậy

Có một sự thật khắc nghiệt mà hầu hết mọi người đều học theo cách khó khăn nhất: mô hình mạnh nhất thế giới vẫn sẽ thất bại trên các tác vụ kỹ thuật thực tế nếu bạn không xây dựng một môi trường phù hợp xung quanh nó.

Bạn có thể đã tự thấy điều này. Bạn giao một tác vụ cho Claude hoặc GPT trong kho mã của mình. Nó bắt đầu tốt — đọc tệp, viết code, trông có vẻ hiệu quả. Sau đó có điều gì đó sai. Nó bỏ qua một bước. Nó làm hỏng một bài kiểm tra. Nó nói "xong" nhưng thực tế không có gì hoạt động. Bạn dành nhiều thời gian hơn để dọn dẹp so với việc tự làm.

Đây không phải là vấn đề của mô hình. Đây là vấn đề của harness.

Bằng chứng là rõ ràng. Anthropic đã thực hiện một thí nghiệm đối chứng: cùng mô hình (Opus 4.5), cùng prompt ("xây dựng trình soạn thảo game retro 2D"). Không có harness, nó tiêu tốn 9 đô la trong 20 phút và tạo ra thứ gì đó không hoạt động. Với harness đầy đủ (planner + generator + evaluator), nó tiêu tốn 200 đô la trong 6 giờ và xây dựng một game mà bạn có thể thực sự chơi được. Mô hình không thay đổi. Harness đã thay đổi.

OpenAI cũng báo cáo điều tương tự với Codex: trong một kho mã được harness tốt, cùng mô hình chuyển từ "không đáng tin cậy" sang "đáng tin cậy." Không phải là cải thiện nhỏ — mà là sự chuyển đổi về chất.

Khóa học này dạy bạn cách xây dựng môi trường đó.

                    MÔ HÌNH HARNESS
                    ===============

    Bạn --> giao tác vụ --> Agent đọc tệp harness --> Agent thực thi
                                                        |
                                              harness điều phối mọi bước:
                                              |
                                              +--> Hướng dẫn:   làm gì, theo thứ tự nào
                                              +--> Phạm vi:     một tính năng mỗi lần, không vượt quá
                                              +--> Trạng thái:  nhật ký tiến trình, danh sách tính năng, lịch sử git
                                              +--> Kiểm chứng:  bài kiểm tra, lint, kiểm tra kiểu, chạy thử
                                              +--> Vòng đời:    khởi tạo lúc bắt đầu, trạng thái sạch lúc kết thúc
                                              |
                                              v
                                         Agent chỉ dừng khi
                                         kiểm chứng đạt yêu cầu

Harness Engineering thực sự có nghĩa là gì

Harness engineering là về việc xây dựng một môi trường làm việc hoàn chỉnh xung quanh mô hình để nó tạo ra kết quả đáng tin cậy. Nó không phải là về việc viết prompt tốt hơn. Nó là về việc thiết kế hệ thống mà mô hình hoạt động bên trong.

Một harness có năm hệ thống con:

    ┌─────────────────────────────────────────────────────────────────┐
    │                          HARNESS                                │
    │                                                                 │
    │   ┌──────────────┐  ┌──────────────┐  ┌──────────────────────┐ │
    │   │  Hướng dẫn   │  │  Trạng thái  │  │     Kiểm chứng       │ │
    │   │              │  │              │  │                      │ │
    │   │ AGENTS.md    │  │ progress.md  │  │ tests + lint         │ │
    │   │ CLAUDE.md    │  │ feature_list │  │ kiểm tra kiểu        │ │
    │   │ feature_list │  │ git log      │  │ chạy thử             │ │
    │   │ docs/        │  │ bàn giao phiên│  │ pipeline e2e         │ │
    │   └──────────────┘  └──────────────┘  └──────────────────────┘ │
    │                                                                 │
    │   ┌──────────────┐  ┌──────────────────────────────────────┐   │
    │   │   Phạm vi    │  │        Vòng đời phiên                │   │
    │   │              │  │                                      │   │
    │   │ một tính     │  │ init.sh lúc bắt đầu                  │   │
    │   │ năng mỗi lần │  │ danh sách kiểm tra sạch lúc kết thúc │   │
    │   │ định nghĩa   │  │ ghi chú bàn giao cho phiên tiếp      │   │
    │   │ "hoàn thành" │  │ commit chỉ khi an toàn để tiếp tục   │   │
    │   └──────────────┘  └──────────────────────────────────────┘   │
    │                                                                 │
    └─────────────────────────────────────────────────────────────────┘

    MÔ HÌNH quyết định viết code gì.
    HARNESS điều phối khi nào, ở đâu và viết như thế nào.
    Harness không làm mô hình thông minh hơn.
    Nó làm đầu ra của mô hình đáng tin cậy hơn.

Mỗi hệ thống con có một nhiệm vụ duy nhất:

  • Instructions — Cho agent biết phải làm gì, theo thứ tự nào, và phải đọc gì trước khi bắt đầu. Không phải một tệp khổng lồ duy nhất; mà là cấu trúc tiết lộ dần mà agent điều hướng theo nhu cầu.
  • State — Theo dõi những gì đã làm, những gì đang tiến hành, và những gì tiếp theo. Được lưu trữ trên đĩa để phiên tiếp theo tiếp tục chính xác nơi phiên trước đã dừng.
  • Verification — Chỉ một bộ bài kiểm tra đạt mới được tính là bằng chứng. Agent không thể tuyên bố hoàn thành mà không có bằng chứng có thể chạy được.
  • Scope — Giới hạn agent ở một tính năng tại một thời điểm. Không vượt quá phạm vi. Không hoàn thành một nửa ba việc. Không viết lại danh sách tính năng để che giấu công việc chưa hoàn thành.
  • Session Lifecycle — Khởi tạo ở đầu. Dọn dẹp ở cuối. Để lại đường dẫn khởi động lại sạch cho phiên tiếp theo.

Tại sao khóa học này tồn tại

Câu hỏi không phải là "mô hình có thể viết code không?" Chúng có thể. Câu hỏi là: chúng có thể hoàn thành đáng tin cậy các tác vụ kỹ thuật thực tế bên trong các kho mã thực tế, qua nhiều phiên, mà không cần giám sát liên tục từ con người không?

Hiện tại, câu trả lời là: không thể nếu không có harness.

    KHÔNG CÓ HARNESS                          CÓ HARNESS
    ================                          ==========

    Phiên 1: agent viết code                  Phiên 1: agent đọc hướng dẫn
              agent làm hỏng bài kiểm tra              agent chạy init.sh
              agent nói "xong rồi"                     agent làm một tính năng
              bạn tự sửa thủ công                      agent kiểm chứng trước khi nói xong
                                                         agent cập nhật nhật ký tiến trình
    Phiên 2: agent bắt đầu lại từ đầu                  agent commit trạng thái sạch
              agent không nhớ
              những gì đã xảy ra trước đó       Phiên 2: agent đọc nhật ký tiến trình
              agent làm lại từ đầu                      agent tiếp tục chính xác nơi đã dừng
              hoặc làm hoàn toàn việc khác              agent tiếp tục tính năng chưa xong
              bạn lại phải sửa lại                     bạn đánh giá, không phải cứu vãn

    Kết quả: bạn dành nhiều thời gian            Kết quả: agent làm công việc,
            dọn dẹp hơn là nếu bạn                       bạn kiểm chứng kết quả
            tự làm lấy

Những câu hỏi mà khóa học này thực sự quan tâm:

  • Những thiết kế harness nào cải thiện tỷ lệ hoàn thành tác vụ?
  • Những thiết kế nào giảm thiểu việc làm lại và hoàn thành không chính xác?
  • Những cơ chế nào giữ cho các tác vụ chạy dài tiến triển ổn định?
  • Những cấu trúc nào giữ cho hệ thống có thể bảo trì sau nhiều lần chạy agent?

Giáo trình & Tài liệu khóa học

Để xem đầy đủ tài liệu khóa học, vui lòng truy cập Trang web Tài liệu.

Giáo trình được chia thành ba phần:

  1. Bài giảng: 12 đơn vị khái niệm giải thích lý thuyết đằng sau harness engineering.
  2. Dự án: 6 dự án thực hành nơi bạn xây dựng một không gian làm việc agentic từ đầu.
  3. Thư viện tài nguyên: Các mẫu sẵn sàng sử dụng (AGENTS.md, feature_list.json, init.sh, v.v.) để sử dụng trong kho mã của riêng bạn ngay hôm nay.

Bắt đầu nhanh: Cải thiện Agent của bạn ngay hôm nay

Bạn không cần phải đọc cả 12 bài giảng trước khi bắt đầu nhận được giá trị. Nếu bạn đang sử dụng một agent viết code trên một dự án thực tế, đây là cách cải thiện nó ngay bây giờ.

Ý tưởng rất đơn giản: thay vì chỉ viết prompt, hãy cho agent của bạn một bộ tệp có cấu trúc xác định phải làm gì, những gì đã làm, và cách kiểm chứng công việc. Các tệp này nằm trong kho mã của bạn, vì vậy mỗi phiên bắt đầu từ cùng một trạng thái.

    THƯ MỤC GỐC DỰ ÁN CỦA BẠN
    ├── AGENTS.md              <-- sổ tay vận hành của agent
    ├── CLAUDE.md              <-- (thay thế, nếu dùng Claude Code)
    ├── init.sh                <-- chạy cài đặt + xác minh + khởi động
    ├── feature_list.json      <-- tính năng nào tồn tại, cái nào đã xong
    ├── claude-progress.md     <-- những gì đã xảy ra trong mỗi phiên
    └── src/                   <-- code thực tế của bạn

Lấy các mẫu khởi đầu từ Thư viện tài nguyên và đưa chúng vào dự án của bạn. Đó là tất cả. Bốn tệp, và các phiên agent của bạn sẽ đã ổn định hơn đáng kể so với việc chỉ chạy trên prompt.


Dự án tổng kết: Một ứng dụng thực tế

Tất cả sáu dự án khóa học đều xoay quanh cùng một sản phẩm: một ứng dụng desktop cơ sở tri thức cá nhân dựa trên Electron.

    ┌─────────────────────────────────────────────────────┐
    │          Ứng dụng Desktop Cơ sở Tri thức            │
    │                                                     │
    │  ┌──────────────┐  ┌──────────────────────────────┐│
    │  │ Danh sách tài │  │       Bảng Hỏi-Đáp          ││
    │  │   liệu       │  │                              ││
    │  │ doc-001.md   │  │  H: Harness engineering là gì?││
    │  │ doc-002.md   │  │  Đ: Môi trường được xây dựng ││
    │  │ doc-003.md   │  │     quanh một mô hình agent...││
    │  │ ...          │  │     [trích dẫn: doc-002.md]  ││
    │  └──────────────┘  └──────────────────────────────┘│
    │                                                     │
    │  ┌─────────────────────────────────────────────────┐│
    │  │ Thanh trạng thái: 42 tài liệu | 38 đã lập chỉ │││
    │  │                     mục | đồng bộ lần cuối 3p  │││
    │  └─────────────────────────────────────────────────┘│
    └─────────────────────────────────────────────────────┘

    Tính năng cốt lõi:
    ├── Nhập tài liệu cục bộ
    ├── Quản lý thư viện tài liệu
    ├── Xử lý và lập chỉ mục tài liệu
    ├── Chạy Hỏi-Đáp AI trên nội dung đã nhập
    └── Trả lời có căn cứ kèm trích dẫn

Dự án này được chọn vì nó kết hợp giá trị thực tế cao, đủ độ phức tạp sản phẩm thực tế, và môi trường tốt để quan sát sự cải thiện harness trước/sau.

Mỗi starter/solution của dự án khóa học là một bản sao hoàn chỉnh của ứng dụng Electron ở giai đoạn tiến hóa đó. Starter của P(N+1) được tạo từ solution của P(N) — ứng dụng tiến hóa khi kỹ năng harness của bạn phát triển.


Lộ trình học tập

Khóa học được thiết kế để hoàn thành theo thứ tự. Mỗi giai đoạn xây dựng dựa trên giai đoạn trước.

    Giai đoạn 1: NHÌN VẤN ĐỀ              Giai đoạn 2: TỔ CHỨC KHO MÃ
    =========================              ===========================

    L01  Mô hình mạnh ≠ thực thi          L03  Kho mã là nguồn
         đáng tin cậy                            chân lý duy nhất
    L02  Harness thực sự nghĩa là gì
                                       L04  Chia hướng dẫn thành nhiều
         |                                   tệp, không phải một tệp khổng lồ
         v
    P01  Chỉ dùng prompt vs.                    |
         ưu tiên quy tắc                         v
                                               P02  Không gian làm việc agent đọc được


    Giai đoạn 3: KẾT NỐI CÁC PHIÊN       Giai đoạn 4: PHẢN HỒI & PHẠM VI
    ==============================        ================================

    L05  Giữ ngữ cảnh sống                L07  Vẽ ranh giới tác vụ rõ ràng
         qua các phiên
                                       L08  Danh sách tính năng như
    L06  Khởi tạo trước mọi                     nguyên thủy harness
         phiên agent
                                               |
         |                                     v
         v                                     P04  Phản hồi thời gian chạy
    P03  Tính liên tục đa phiên                   sửa hành vi agent


    Giai đoạn 5: KIỂM CHỨNG              Giai đoạn 6: TỔNG HỢP TẤT CẢ
    =========================             =============================

    L09  Ngăn agent tuyên bố              L11  Làm thời gian chạy của
         hoàn thành quá sớm                     agent có thể quan sát

    L10  Chạy toàn bộ pipeline =          L12  Bàn giao sạch ở cuối
         kiểm chứng thực sự                     mọi phiên

         |                                     |
         v                                     v
    P05  Agent tự kiểm chứng              P06  Xây dựng harness hoàn chỉnh
                                               (dự án tổng kết)

Mỗi giai đoạn mất khoảng một tuần nếu bạn học bán thời gian. Nếu bạn muốn đi nhanh hơn, các giai đoạn 1-3 có thể hoàn thành trong một cuối tuần dài.


Giáo trình

Bài giảng — 12 đơn vị khái niệm, mỗi đơn vị trả lời một câu hỏi cốt lõi

Đọc toàn bộ văn bản cho mỗi bài giảng trên Trang web Tài liệu.

Phiên Câu hỏi Ý tưởng cốt lõi
L01 Tại sao các mô hình mạnh vẫn thất bại trên tác vụ thực tế? Khoảng cách năng lực giữa benchmark và kỹ thuật thực tế
L02 "Harness" thực sự có nghĩa là gì? Năm hệ thống con: instructions, state, verification, scope, lifecycle
L03 Tại sao kho mã phải là nguồn chân lý duy nhất? Nếu agent không thể thấy nó, nó không tồn tại
L04 Tại sao một tệp hướng dẫn khổng lồ lại thất bại? Tiết lộ dần: cho một bản đồ, không phải một bộ bách khoa toàn thư
L05 Tại sao các tác vụ chạy dài mất tính liên tục? Lưu trữ tiến trình vào đĩa; tiếp tục từ nơi bạn đã dừng
L06 Tại sao khởi tạo cần một giai đoạn riêng? Xác minh môi trường khỏe mạnh trước khi agent bắt đầu làm việc
L07 Tại sao agent lại vượt quá phạm vi và không hoàn thành? Một tính năng tại một thời điểm; định nghĩa rõ ràng về "hoàn thành"
L08 Tại sao danh sách tính năng là nguyên thủy của harness? Ranh giới phạm vi có thể đọc bởi máy mà agent không thể bỏ qua
L09 Tại sao agent tuyên bố hoàn thành quá sớm? Khoảng trống kiểm chứng: sự tự tin ≠ sự chính xác
L10 Tại sao kiểm thử đầu-cuối lại thay đổi kết quả? Chỉ một lần chạy toàn bộ pipeline mới được tính là kiểm chứng thực sự
L11 Tại sao khả năng quan sát thuộc về bên trong harness? Nếu bạn không thể thấy agent đã làm gì, bạn không thể sửa những gì nó đã làm hỏng
L12 Tại sao mỗi phiên phải để lại trạng thái sạch? Sự thành công của phiên tiếp theo phụ thuộc vào việc dọn dẹp của phiên này

Dự án — 6 dự án thực hành áp dụng phương pháp bài giảng vào cùng ứng dụng Electron

Dự án Những gì bạn làm Cơ chế Harness
P01 Chạy cùng tác vụ hai lần: chỉ dùng prompt vs. ưu tiên quy tắc Harness tối thiểu: AGENTS.md + init.sh + feature_list.json
P02 Tái cấu trúc kho mã để agent có thể đọc được Không gian làm việc agent có thể đọc + các tệp trạng thái liên tục
P03 Khiến agent tiếp tục từ nơi nó đã dừng Nhật ký tiến trình + bàn giao phiên + tính liên tục đa phiên
P04 Ngăn agent làm quá nhiều hoặc quá ít Phản hồi thời gian chạy + kiểm soát phạm vi + lập chỉ mục gia tăng
P05 Khiến agent tự kiểm chứng công việc của mình Tự kiểm chứng + Q&A có căn cứ + hoàn thành dựa trên bằng chứng
P06 Xây dựng một harness hoàn chỉnh từ đầu (tổng kết) Harness đầy đủ: tất cả cơ chế + khả năng quan sát + nghiên cứu ablation
    SỰ PHÁT TRIỂN DỰ ÁN
    ===================

    P01  Chỉ dùng prompt vs. ưu tiên       Bạn nhìn thấy vấn đề
         quy tắc
     |
     v
    P02  Không gian làm việc               Bạn tái cấu trúc kho mã
         agent đọc được
     |
     v
    P03  Tính liên tục đa phiên            Bạn kết nối các phiên
     |
     v
    P04  Phản hồi & phạm vi               Bạn thêm các vòng phản hồi
         thời gian chạy
     |
     v
    P05  Tự kiểm chứng                     Bạn khiến agent tự kiểm tra
     |
     v
    P06  Harness hoàn chỉnh (tổng kết)     Bạn xây dựng hệ thống đầy đủ

    Solution của mỗi dự án trở thành starter của dự án tiếp theo.
    Ứng dụng phát triển. Kỹ năng harness của bạn lớn lên cùng nó.

Thư viện tài nguyên

  • English — templates, checklists, and method references
  • 简体中文 — 中文模板、清单和方法参考
  • 繁體中文 — 繁體中文範本、清單和方法參考
  • 日本語 — テンプレート、チェックリスト、方法リファレンス
  • 한국어 — 템플릿, 체크리스트, 방법 참고 자료
  • Español — plantillas, listas de verificación y referencias
  • Français — modèles, listes de contrôle et références
  • Русский — шаблоны, чек-листы и справочники
  • Deutsch — Vorlagen, Checklisten und Referenzen
  • العربية — قوالب، قوائم تحقق ومراجع
  • Tiếng Việt — mẫu, danh sách kiểm tra và tài liệu tham khảo
  • Oʻzbekcha — andozalar, tekshiruv roʻyxatlari va maʼlumotnomalar

Vòng đời phiên Agent

Một trong những ý tưởng cốt lõi trong khóa học này: phiên của agent nên tuân theo một vòng đời có cấu trúc, không phải tự do không kiểm soát. Đây là cách nó trông như thế này:

    VÒNG ĐỜI PHIÊN AGENT
    ====================

    ┌──────────────────────────────────────────────────────────────────┐
    │  BẮT ĐẦU                                                        │
    │                                                                  │
    │  1. Agent đọc AGENTS.md / CLAUDE.md                             │
    │  2. Agent chạy init.sh (cài đặt, xác minh, kiểm tra sức khỏe)  │
    │  3. Agent đọc claude-progress.md (đã xảy ra gì lần trước)      │
    │  4. Agent đọc feature_list.json (cái gì xong, cái gì tiếp)     │
    │  5. Agent kiểm tra git log (thay đổi gần đây)                   │
    │                                                                  │
    │  CHỌN TÁC VỤ                                                    │
    │                                                                  │
    │  6. Agent chọn chính xác MỘT tính năng chưa hoàn thành          │
    │  7. Agent chỉ làm việc trên tính năng đó                        │
    │                                                                  │
    │  THỰC THI                                                       │
    │                                                                  │
    │  8. Agent triển khai tính năng                                  │
    │  9. Agent chạy kiểm chứng (bài kiểm tra, lint, kiểm tra kiểu)   │
    │  10. Nếu kiểm chứng thất bại: sửa và chạy lại                  │
    │  11. Nếu kiểm chứng đạt: ghi nhận bằng chứng                   │
    │                                                                  │
    │  KẾT THÚC                                                       │
    │                                                                  │
    │  12. Agent cập nhật claude-progress.md                          │
    │  13. Agent cập nhật feature_list.json                           │
    │  14. Agent ghi lại những gì vẫn còn lỗi hoặc chưa kiểm chứng   │
    │  15. Agent commit (chỉ khi an toàn để tiếp tục)                 │
    │  16. Agent để lại đường khởi động lại sạch cho phiên tiếp       │
    │                                                                  │
    └──────────────────────────────────────────────────────────────────┘

    Harness điều phối mọi chuyển đổi trong vòng đời này.
    Mô hình quyết định viết code gì ở mỗi bước.
    Không có harness, bước 9 trở thành "agent nói trông ổn rồi."
    Có harness, bước 9 là "bài kiểm tra đạt, lint sạch, kiểu đúng."

Khóa học này dành cho ai

Khóa học này dành cho:

  • Các kỹ sư đang sử dụng agent viết code và muốn sự ổn định và chất lượng tốt hơn
  • Các nhà nghiên cứu hoặc nhà xây dựng muốn hiểu biết hệ thống về thiết kế harness
  • Các trưởng nhóm kỹ thuật cần hiểu cách thiết kế môi trường ảnh hưởng đến hiệu suất agent

Khóa học này không dành cho:

  • Những người tìm kiếm một giới thiệu AI không cần viết code
  • Những người chỉ quan tâm đến prompt và không có kế hoạch xây dựng các triển khai thực tế
  • Những người học không sẵn sàng để các agent làm việc bên trong các kho mã thực tế

Yêu cầu

Đây là một khóa học mà bạn thực sự chạy các agent viết code.

Bạn cần ít nhất một trong các công cụ sau:

  • Claude Code
  • Codex
  • Một agent viết code IDE hoặc CLI khác hỗ trợ chỉnh sửa tệp, thực thi lệnh và tác vụ nhiều bước

Khóa học giả định rằng bạn có thể:

  • Mở một kho mã cục bộ
  • Cho phép agent chỉnh sửa tệp
  • Cho phép agent chạy lệnh
  • Kiểm tra đầu ra và chạy lại tác vụ

Nếu bạn không có công cụ như vậy, bạn vẫn có thể đọc nội dung khóa học, nhưng bạn sẽ không thể hoàn thành các dự án như dự kiến.


Xem trước cục bộ

Kho lưu trữ này sử dụng VitePress làm trình xem tài liệu.

npm install
npm run docs:dev        # Dev server với tải lại nóng
npm run docs:build      # Build sản xuất
npm run docs:preview    # Xem trước trang đã build

Sau đó mở URL cục bộ mà VitePress hiển thị trong trình duyệt của bạn.


Điều kiện tiên quyết

Bắt buộc:

  • Quen thuộc với terminal, git và môi trường phát triển cục bộ
  • Khả năng đọc và viết code trong ít nhất một ngăn xếp ứng dụng phổ biến
  • Kinh nghiệm gỡ lỗi phần mềm cơ bản (đọc log, kiểm thử và hành vi thời gian chạy)
  • Đủ thời gian để cam kết với khóa học tập trung vào triển khai

Có ích nhưng không bắt buộc:

  • Kinh nghiệm với Electron, ứng dụng desktop hoặc công cụ local-first
  • Nền tảng về kiểm thử, logging hoặc kiến trúc phần mềm
  • Đã tiếp xúc với Codex, Claude Code hoặc các agent viết code tương tự

Tài liệu tham khảo cốt lõi

Chính:

Xem danh sách tài liệu tham khảo phân tầng đầy đủ tại docs/en/resources/reference/.


Cấu trúc kho lưu trữ

learn-harness-engineering/
├── docs/                          # VitePress documentation site
│   ├── lectures/                  # 12 lectures (index.md + code/ examples)
│   │   ├── lecture-01-*/
│   │   ├── lecture-02-*/
│   │   └── ... (12 total)
│   ├── projects/                  # 6 project descriptions
│   │   ├── project-01-*/
│   │   └── ... (6 total)
│   └── resources/                 # Multilingual templates & references
│       ├── en/                    # English templates, checklists, guides
│       ├── zh/                    # Chinese templates, checklists, guides
│       ├── ru/                    # Russian templates, checklists, guides
│       └── vi/                    # Vietnamese templates, checklists, guides
├── projects/
│   ├── shared/                    # Shared Electron + TypeScript + React foundation
│   └── project-NN/               # Per-project starter/ and solution/ directories
├── skills/                        # Reusable AI agent skills
│   └── harness-creator/           # Harness engineering skill
├── package.json                   # VitePress + dev tooling
└── CLAUDE.md                      # Claude Code instructions for this repo

Khóa học được tổ chức như thế nào

  • Mỗi bài giảng tập trung vào một câu hỏi
  • Khóa học bao gồm 6 dự án
  • Mọi dự án đều yêu cầu agent thực hiện công việc thực tế
  • Mọi dự án đều so sánh kết quả harness yếu vs. mạnh
  • Điều quan trọng là sự khác biệt được đo lường, không phải số lượng tài liệu đã viết

Skills

Kho lưu trữ này cũng bao gồm các skill agent AI có thể tái sử dụng mà bạn có thể cài đặt trực tiếp vào IDE hoặc không gian làm việc agent của mình.

  • harness-creator: Một skill giúp bạn tạo nhanh một harness cấp sản xuất cho dự án của riêng bạn chỉ trong vài phút.

Các khóa học khác

Đội ngũ của chúng tôi cũng đã tạo các khóa học khác! Hãy xem:

Hands-on Modern RL

Hands-on Modern RL: Một giáo trình thực hành mã nguồn mở kết nối khoảng cách từ các khái niệm RL cơ bản đến LLM alignment, RLVR và các hệ thống Agentic nâng cao.


Lịch sử Star

Star History Chart


Lời cảm ơn

Khóa học này được truyền cảm hứng và rút ra ý tưởng từ learn-claude-code — một hướng dẫn tiệm tiến về việc xây dựng một agent từ đầu, từ một vòng lặp đơn giản đến thực thi tự chủ cô lập.