Khóa họcHarness
Agent Harness Foundations
Build được một Agent chưa đủ, vận hành nó đáng tin mới là phần khó
Khóa học nền tảng về Harness — phần khung quanh model quyết định một Agent chạy có kiểm soát hay không. Bạn học cách phân biệt LLM Call, Workflow và Agent, tìm đúng chỗ gây lỗi (control flow, state, permission hay evidence) và kiểm chứng Agent qua những lần chạy lặp lại được, thay vì đổi model rồi cầu may.
- 25 bài
- 5h20p
- 24 quiz
- 3 bài học thử miễn phí
- 193 học viên
Bạn sẽ làm được gì
Sau khóa học, bạn nhìn một Agent theo cách khác. Thay vì hỏi “model có đủ giỏi không”, bạn hỏi “phần khung quanh model đã đúng chưa”. Cụ thể, bạn sẽ:
- Phân biệt ba kiểu ứng dụng AI — LLM Call, Workflow và Agent — bằng một tiêu chí rõ ràng: model được phép ảnh hưởng tới control flow đến đâu, chứ không phải ở chỗ nó “nghe có vẻ thông minh”.
- Quyết định khi nào bài toán thật sự cần Agent, và chọn mức tự chủ nhỏ nhất mà vẫn xử lý được phần việc chưa biết trước cách làm. Chọn không dùng Agent cũng là một quyết định tốt.
- Lần theo hành trình của một Agent — từng đề xuất, hành động, kết quả và bước chuyển state — để hiểu vì sao nó ra kết quả đó.
- Debug đúng chỗ: từ một dấu hiệu, phân tích xem lỗi đang nằm ở control flow, ở state, ở permission hay ở evidence, để không sửa nhầm chỗ.
- Kiểm chứng một Agent qua nhiều lần chạy lặp lại được trên nhiều tình huống, chứ không phải bằng cảm giác từ một lần demo may mắn.
- Trình bày cách Agent của bạn vận hành bằng một bản đồ trách nhiệm, thay vì trông chờ “model sẽ tự hiểu”.
Đây là khóa học về nền tảng và tư duy. Nó không phụ thuộc ngôn ngữ, framework hay model, nên những gì bạn học vẫn đúng khi bạn đổi runtime hay đổi sang một model mới.
Bạn có đang gặp những dấu hiệu này?
- Agent “quên” giữa chừngHistory, state và context đang bị trộn vào nhau.
- Model báo “đã làm xong” nhưng hệ thống chưa có gì thay đổiClaim đang bị coi là bằng chứng.
- Một hành động hợp lệ về dữ liệu vẫn chạy dù vượt hạn mứcDữ liệu hợp lệ đang bị coi là đã được phép.
Khóa học này có hợp với bạn?
Khóa học dành cho ai
- Builder và vibe coderđã dùng các công cụ AI coding, muốn hiểu, build hoặc cải thiện Harness của mình.
- Developer, senior và architectcần một khung tư duy chung để trao đổi rõ ràng với đồng đội và xem lại hệ thống đang có.
- Người sắp đưa Agent vào vận hànhmuốn biết mình đang dựa vào bằng chứng nào trước khi cho Agent chạy với dữ liệu và người dùng thật.
Những điều cần lưu ý
- Đây là chương trình nền tảng và tư duy, không phải một codebase production hoàn chỉnh hay một khóa “enterprise-ready”.
- Chương trình không phụ thuộc ngôn ngữ, framework hay model; các bài hướng dẫn code chuyên sâu được tách riêng, ngoài phạm vi chương trình này.
- Chương trình không cam kết về cơ hội nghề nghiệp và cũng không chọn sẵn cho bạn một framework “tốt nhất”. Điều bạn nhận được là khả năng tự phân tích và quyết định vững vàng hơn khi đứng trước một Agent thật.
Bạn sẽ học theo cách nào
- Học bằng tình huống, không học thuộc định nghĩa.Mỗi khái niệm khó được đặt vào một tình huống gần gũi trước, rồi mới gọi tên.
- Hình ảnh cho những cơ chế phải thấy mới hiểu.Agent Loop, đường điều khiển, chuyển state được minh họa từng bước bằng hình, không chỉ mô tả bằng chữ.
- Mỗi bài trọn vẹn một ý.Bạn có thể hiểu từng bài một cách độc lập, đồng thời mỗi bài thêm một mảnh vào bức tranh Harness tổng thể.
- Không giới hạn lịch theo tuần.Bạn học theo nhịp riêng, làm quiz, dùng kit cho agent và worksheet khi thấy mình đã sẵn sàng.
Mentor
Khóa học cung cấp những gì
Toàn bộ chương trình xoay quanh một khái niệm: Harness — phần khung mà application dựng lên quanh model để lo prompt, memory, tools, kết quả trả về, rồi quyết định nên tiếp tục hay dừng. OpenAI gọi phần đó là model-native harness khi nói về hướng đi mới của Agents SDK; Anthropic phân tích cách một Harness hiệu quả giúp Agent làm tiếp được công việc qua nhiều context window; Cloudflare định nghĩa Harness là vòng lặp bao quanh model. Ba nguồn, một ý: năng lực nằm ở model, còn việc Agent chạy có kiểm soát hay không nằm ở Harness.
Bạn sẽ lần lượt tìm hiểu sáu nhóm nền tảng, sắp xếp theo đúng thứ tự mà một builder dần hiểu rõ Harness:
Ba kiểu ứng dụng AI, và khi nào mới thật sự cần Agent
Tóm tắt một email, phân loại phản hồi rồi rẽ nhánh theo rule, và để model dựa vào kết quả vừa nhận được mà tự chọn bước tiếp theo — ba việc đó vận hành hoàn toàn khác nhau dù cùng được gọi là “app có Agent”. Bạn học cách phân biệt LLM Call, Workflow và Agent bằng một tiêu chí: model có được ảnh hưởng đến control flow hay không, và ảnh hưởng tới đâu. Từ đó dẫn tới một câu hỏi thực dụng hơn: khi nào bước tiếp theo không thể gói trong một rule viết sẵn, mà cần model cân nhắc dựa trên kết quả vừa quan sát được?
Năng lực nằm ở model, cách dùng năng lực đó do Harness quyết định
Cùng một model: trong khung chat nó chỉ có thể khuyên; đặt vào một application có tools, chính lời đề xuất của nó lại có thể dẫn tới tác động thật. Ở nhóm này bạn gặp hai cơ chế nền. Agent Loop: làm một bước, đưa kết quả trở lại cho model, cập nhật state rồi mới đi tiếp; vòng lặp chỉ thật sự tiến triển khi feedback làm state thay đổi. Tool: model đề xuất một hành động, Harness quyết định có cho hành động đó chạy hay không, còn executor mới là bên thực thi.
Lời model nói không phải bằng chứng, và làm được không có nghĩa là được phép
Ba ranh giới mà người mới hay nhầm nhất, và nhầm thì phải trả giá đắt:
- Claim của model chưa phải là tác động thật trong hệ thống. Model nói “đã đặt lịch xong” thì chưa chắc lịch hẹn đã thật sự được tạo. Bằng chứng phải đến từ một hệ thống có thẩm quyền.
- Dữ liệu hợp lệ chưa có nghĩa là được phép thực thi. Một lệnh chuyển tiền điền đúng cấu trúc vẫn không được thực thi nếu vượt hạn mức hoặc chưa được xác nhận.
- Một kết quả đúng nhưng gắn nhầm yêu cầu vẫn làm hỏng state. Khi nhiều việc chạy song song, kết quả của việc này rất dễ bị ghép vào yêu cầu của việc khác. Vì vậy identity và correlation mới quan trọng.
State đang có hiệu lực không phải là toàn bộ lịch sử hội thoại
Bạn đổi ngày đi và giảm ngân sách giữa chừng; cuộc hội thoại vẫn còn nguyên đó, nhưng Agent cứ tiếp tục dùng kế hoạch cũ. Nó không “quên”; nó đang trộn lẫn những gì từng được nói (history), state đang thật sự có hiệu lực, và phần được đưa vào model ở lượt này (context). Quanh trục này là các ranh giới hay bị hiểu nhầm mà chương trình bóc tách riêng: System Prompt cung cấp instruction chứ không sở hữu runtime control; context window không phải memory; RAG giúp câu trả lời bám vào dữ liệu riêng (grounding) chứ không thay thế state hay memory.
Dừng Agent đúng cách, lần lại hành trình và chứng minh Agent đáng tin
Bấm Hủy rồi thấy nhãn “Đã hủy” chưa có nghĩa là mọi việc đã dừng lại. Lệnh hủy đi trên đường điều khiển, qua Harness tới runtime đang chạy Agent; còn action đã được gửi đi thì nằm trên một đường khác và có thể đã tới nơi, nên lệnh hủy chỉ chặn được phần việc chưa rời đi. “Đã dừng” cũng không đồng nghĩa với “đã hoàn thành”, và hủy một việc đang chạy không tự hoàn tác những tác động đã xảy ra. Khi Agent ra kết quả sai, nếu chỉ nhìn câu trả lời cuối thì bạn không biết nó hiểu sai yêu cầu, chọn nhầm tool hay bỏ qua một bước. Bạn cần trace để xem lại cả hành trình. Bạn cũng cần eval: chạy lại chưa chắc ra cùng kết quả, vài lần chạy tốt chưa đủ chứng minh Agent ổn định, nên muốn tin Agent thì bạn cần căn cứ từ nhiều lần chạy đã quan sát được.
Bản đồ trách nhiệm tối thiểu
Cuối cùng, bạn ghép các phần rời rạc thành một bản đồ trách nhiệm để tự kiểm tra hệ thống: Harness chuẩn bị context, model đưa ra đề xuất, Harness kiểm tra và quyết định, executor thực thi, environment trả về kết quả quan sát được, rồi Harness cập nhật state và quyết định tiếp tục hay dừng.
Nội dung khóa học
Các bài còn lại mở sau khi ghi danh
- Trước khi bắt đầu build AgentAgent, Harness và khoảng cách từ demo tới một hệ thống đáng tin cậyBài đọc · 10 phútHọc thử
- Không phải ứng dụng AI nào cũng là AgentLLM Call, Workflow, Agent và control-flow ownershipBài đọc · 15 phútHọc thử
- Khi nào cần Agent, khi nào không? Autonomy và ba loại uncertaintyAutonomy và ba loại uncertaintyBài đọc · 13 phútHọc thử
- Model chỉ là một phần của hệ thống AgentModel, Agent configuration, Harness/runtime và environment — trách nhiệm của từng phầnBài đọc · 14 phútCần đăng nhập
- Viết instruction cho model chưa có nghĩa là hệ thống sẽ làm đúngInstruction surface, vòng đời discover/disclose/select/load, effective context và ranh giới với runtime enforcementBài đọc · 12 phútCần đăng nhập
- Dựa vào đâu để biết một run đã hoàn thành?Task description, completion condition, completion evidenceBài đọc · 13 phútCần đăng nhập
- Agent Loop: làm, quan sát, rồi mới đi tiếpAgent Loop, iteration và turn, observation và RunState — điều gì thật sự làm một run tiến triểnBài đọc · 15 phútCần đăng nhập
- Từ tool request tới action thực tếTool call, schema validation, dispatch, executor, observationBài đọc · 12 phútCần đăng nhập
- MCP và A2A: lấy capability về dùng hay giao việc cho một Agent khácModel Context Protocol, A2A, connection layer, ownership boundaryBài đọc · 11 phútCần đăng nhập
- Model nói “đã làm”, nhưng bằng chứng đâu?Claim vs evidence; execution evidence, provider receipt, domain record; completion evidence relative to completion conditionBài đọc · 13 phútCần đăng nhập
- Hallucination: model trả lời rất chắc chắn, nhưng dựa vào đâu?Confidence vs grounding vs informational truth; source relevance, authority, freshnessBài đọc · 13 phútCần đăng nhập
- Kết quả đúng nhưng gán nhầm chỗ vẫn thành saiResult correlation, call_id, stable identity, RunState updateBài đọc · 13 phútCần đăng nhập
- Hợp lệ chưa phải là giấy phépValidation, principal, authorization policy, approval scope, execution gateBài đọc · 16 phútCần đăng nhập
- Có Guardrails rồi, action đã thật sự bị chặn chưa?Guardrails, check và verdict, enforcement gate, human-in-the-loop (HITL)Bài đọc · 9 phútCần đăng nhập
- Được phép chạy chưa có nghĩa là được chạm vào mọi thứPermission decision trước dispatch và runtime containment — owner, thời điểm, failure mode và evidence của từng lớpBài đọc · 13 phútCần đăng nhập
- Có Hook rồi, bạn thật sự can thiệp được tới đâu?Hook, callback, middleware, lifecycle event, timing và quyền can thiệpBài đọc · 11 phútCần đăng nhập
- Agent cần ghi nhớ gì để ra quyết định cho hiện tại?History, RunState, current context, durable memoryBài đọc · 12 phútCần đăng nhập
- Context window không phải memoryContext window, current context, memory — capacity limit, model input của một lần gọi, cơ chế giữ thông tin qua nhiều lần gọiBài đọc · 9 phútCần đăng nhập
- Khi context window không còn đủ chỗContext window, context rot, trimming, context editing, compaction, external notes, JIT retrievalBài đọc · 13 phútCần đăng nhập
- Thực hư về RAG — thêm dữ liệu không có nghĩa là đúng hơnRAG, retrieval, ranh giới với memory, state, grounding và correctnessBài đọc · 11 phútCần đăng nhập
- Dừng, hủy và hoàn thành là ba chuyện khác nhauControl action, cancel, terminate, pause, fail/complete, limit exhaustionBài đọc · 9 phútCần đăng nhập
- Muốn sửa Agent, hãy dựng lại đường đi của runTrace, span, event ledger, state transition, stop reasonBài đọc · 16 phútCần đăng nhập
- Demo chạy đúng rồi, nhưng Agent đã ổn định chưa?Task, trial, trace, environment outcome, grader, repeatable evaluationBài đọc · 15 phútCần đăng nhập
- Multi-agent: thêm một Agent là thêm một lần bàn giaoMulti-agent, specialization, isolation, handoff, coordination costBài đọc · 12 phútCần đăng nhập
- Cách phân tích một Agent Harness từ đầu đến cuốiRun contract, owner, transition, state, evidence, control, handoffBài đọc · 18 phútCần đăng nhập
Vì sao có khóa học này
Dựng một Agent biết làm việc giờ dễ hơn bao giờ hết. Vài năm trước, để AI biết đọc email, tra cứu thông tin, gọi API rồi tự lên kế hoạch cho bước tiếp theo, bạn phải ghép rất nhiều thứ lại với nhau. Bây giờ chỉ vài dòng code và một model đủ tốt là bạn đã có một bản demo chạy được, trình bày trước khách hàng cũng khá thuyết phục.
Đây là phần vui, và cũng là phần đánh lừa nhiều người nhất. Một bản demo chạy trơn tru không nói lên điều quan trọng nhất: khi đưa vào vận hành thật, Agent có làm đúng thứ bạn cần, có dừng đúng lúc, có bị chặn lại khi vượt quyền, và khi sai thì bạn có lần ra được vì sao hay không.
200Lab làm việc trực tiếp với các hệ thống có Agent bên trong — từ GoClaw, Agent Brain cho tới Emree — và điều 200Lab gặp đi gặp lại không phải là “model chưa đủ giỏi”. Model càng ngày càng giỏi. Điều lặp lại là builder chẩn đoán sai chỗ: dành nhiều ngày tinh chỉnh model cho một lỗi mà gốc rễ nằm ở cách application tổ chức Harness. Khóa học này ra đời để bạn nhìn đúng chỗ ngay từ đầu, trước khi mất hàng tuần sửa nhầm chỗ. Góc nhìn là thực chiến, nhưng nhân vật chính vẫn là bạn và hệ thống bạn đang build.
Những vấn đề thường gặp khi phát triển Harness
Khi Agent hành xử sai, phản xạ đầu tiên của phần lớn builder là nhắm vào model: đổi prompt, đổi sang model xịn hơn, nhồi thêm context, gắn thêm RAG. Thử một vòng, thấy đỡ đỡ, rồi vài hôm sau lỗi kiểu khác lại xuất hiện. Đôi khi model thực sự chưa đủ tốt, nhưng rất nhiều lần root cause nằm ở chỗ khác hẳn, và đó là những tình huống chương trình lấy làm điểm xuất phát:
- Dấu hiệuAgent “quên” giữa chừngThực raHistory, state và context đang bị trộn vào nhau.
- Dấu hiệuModel báo “đã làm xong” nhưng hệ thống chưa có gì thay đổiThực raClaim đang bị coi là bằng chứng.
- Dấu hiệuMột hành động hợp lệ về dữ liệu vẫn chạy dù vượt hạn mứcThực raDữ liệu hợp lệ đang bị coi là đã được phép.
- Dấu hiệuKết quả đúng nhưng gắn nhầm yêu cầu khi nhiều việc chạy song songThực raThiếu identity và correlation.
- Dấu hiệuBấm Hủy rồi mà khách vẫn nhận được tin nhắn Agent đã gửi đi, hoặc thấy nhãn “Đã hủy” rồi coi như việc đã xongThực raTưởng lệnh hủy chặn được cả action đã rời đi, và nhầm “đã dừng” với “đã hoàn thành”.
- Dấu hiệuNhìn câu trả lời cuối mà không biết Agent sai ở bước nàoThực raThiếu trace.
- Dấu hiệuTin Agent chỉ vì một lần demo chạy tốtThực raThiếu eval.
- Dấu hiệuSystem Prompt bị coi là runtime control, context window bị coi là memory, RAG bị coi là state.
Mỗi vấn đề trên tương ứng với một kiểu chẩn đoán sai, và mỗi kiểu có một bài trong chương trình.
Câu hỏi thường gặp
Mình thanh toán bằng cách nào?
Bạn thanh toán bằng chuyển khoản ngân hàng qua mã VietQR ở bước checkout. 200Lab không thu thập thông tin thẻ của bạn.
Thanh toán xong bao lâu thì vào học được?
Hệ thống tự đối soát giao dịch, thường trong vài phút là khóa học có trong trang học của bạn. Bạn nhớ giữ nguyên nội dung chuyển khoản mà hệ thống đưa ra.
Mã QR hết hạn thì sao?
Mỗi đơn hàng có hiệu lực 30 phút. Nếu quá thời gian đó, bạn mở lại đơn và tạo mã QR mới, không cần đặt lại từ đầu.
Mình được truy cập khóa học trong bao lâu?
Thời hạn truy cập đi theo gói bạn mua và được ghi ngay dưới giá ở hộp mua.
Mình có nhận được các cập nhật của khóa học sau khi mua không?
Có. Khi khóa học được bổ sung hoặc cập nhật bài học, bạn nhận được các thay đổi đó trong suốt thời hạn truy cập của mình, không phải trả thêm.
Mình học trên điện thoại được không?
Được. 200Lab chạy trên trình duyệt của cả máy tính lẫn điện thoại, bạn không cần cài ứng dụng. Tiến độ học được lưu theo tài khoản nên bạn đổi thiết bị vẫn học tiếp được.
Học xong mình có nhận Certificate không?
Có. Khi hoàn thành khóa học bạn nhận Certificate có mã xác thực. Người khác có thể kiểm tra mã đó trên trang xác thực Certificate của 200Lab nếu bạn chọn công khai.
Mình có thể học thử trước khi mua không?
Có. Khóa học này có bài học thử: bạn bấm nút Học thử ngay trong hộp mua, và các bài đó được đánh dấu trong chương trình học.
Bắt đầu từ đâu
Nếu bạn từng nhìn một Agent chạy sai mà không biết nên chỉnh chỗ nào, chương trình bắt đầu đúng từ câu hỏi đó. Bài đầu tiên chưa yêu cầu bạn dựng gì cả — bài chỉ giúp bạn phân biệt ba kiểu ứng dụng AI để không gọi nhầm mọi thứ là Agent. Xong bài đó, phần còn lại của Harness sẽ dần rõ ra.