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:
- OpenAI: Harness engineering: leveraging Codex in an agent-first world
- Anthropic: Effective harnesses for long-running agents
- Anthropic: Harness design for long-running application development
- Awesome Harness Engineering
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.
- Xem trước trực quan
- Harness Engineering thực sự có nghĩa là gì
- Bắt đầu nhanh: Cải thiện Agent của bạn ngay hôm nay
- Dự án tổng kết: Một ứng dụng thực tế
- Lộ trình học tập
- Giáo trình
- Skills
- Các khóa học khá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.
Đ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.
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.
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:readmenếu bạn muốn làm mới hình ảnh xem trước README. - GitHub Actions workflow
release-course-pdfs.ymlcó thể xây dựng PDF và xuất bản chúng lên GitHub Releases.
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 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.
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?
Để 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:
- Bài giảng: 12 đơn vị khái niệm giải thích lý thuyết đằng sau harness engineering.
- 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.
- 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ạ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.
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.
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.
Đọ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 | 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ó.
- 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
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:
- 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 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.
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 đã buildSau đó mở URL cục bộ mà VitePress hiển thị trong trình duyệt của bạn.
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ự
Chính:
- OpenAI: Harness engineering: leveraging Codex in an agent-first world
- Anthropic: Effective harnesses for long-running agents
- Anthropic: Harness design for long-running application development
- OpenAI: Unrolling the Codex agent loop
- Anthropic: Demystifying evals for AI agents
- LangChain: Improving Deep Agents with harness engineering
- Thoughtworks / Martin Fowler: Harness engineering for coding agent users
- Cursor: Continually improving our agent harness
Xem danh sách tài liệu tham khảo phân tầng đầy đủ tại docs/en/resources/reference/.
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
- 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
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.
Độ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: 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.
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.


