---
title: "Agent Harness Foundations"
description: "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."
canonical: "https://200lab.io/courses/agent-harness-foundations"
type: "course"
course_type: "course"
learning_type: "free_form"
published: "2026-09-10T03:03:53Z"
students: 122
---

## Khóa học này mang lại gì cho bạn

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.

## Khóa học cung cấp những nền tảng nào

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](https://openai.com/index/the-next-evolution-of-the-agents-sdk/); Anthropic phân tích cách một [Harness hiệu quả](https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents) giúp Agent làm tiếp được công việc qua nhiều context window; Cloudflare [định nghĩa Harness](https://developers.cloudflare.com/agents/harnesses/) 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:

### 1. 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?

### 2. 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.

### 3. 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.

### 4. 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.

### 5. 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.

### 6. 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.

## Vì sao 200Lab tạo ra 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:

- Agent “quên” giữa chừng — history, 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 đổi — claim đ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ức — dữ liệu hợp lệ đang bị coi là đã được phép.
- Kết quả đúng nhưng gắn nhầm yêu cầu khi nhiều việc chạy song song — thiếu identity và correlation.
- Bấ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 đã xong — tưởng lệnh hủy chặn được cả action đã rời đi, và nhầm “đã dừng” với “đã hoàn thành”.
- Nhìn câu trả lời cuối mà không biết Agent sai ở bước nào — thiếu trace.
- Tin Agent chỉ vì một lần demo chạy tốt — thiếu eval.
- System 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.

## 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.

## Khóa học dành cho ai

1. **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.
2. **Developer, senior và architect** cầ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ó.
3. **Người sắp đưa Agent vào vận hành** muố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ắ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.

## Chương trình

- Trước khi bắt đầu build Agent (miễn phí)
- Không phải ứng dụng AI nào cũng là Agent (miễn phí) · quiz
- Khi nào cần Agent, khi nào không? Autonomy và ba loại uncertainty (miễn phí) · quiz
- Model chỉ là một phần của hệ thống Agent · quiz · kit cho agent
- Viết instruction cho model chưa có nghĩa là hệ thống sẽ làm đúng · quiz · kit cho agent
- Dựa vào đâu để biết một run đã hoàn thành? · quiz · 2 kit cho agent
- Agent Loop: làm, quan sát, rồi mới đi tiếp · quiz · kit cho agent
- Từ tool request tới action thực tế · quiz · kit cho agent
- MCP và A2A: lấy capability về dùng hay giao việc cho một Agent khác · quiz
- Model nói “đã làm”, nhưng bằng chứng đâu? · quiz · 2 kit cho agent
- Hallucination: model trả lời rất chắc chắn, nhưng dựa vào đâu? · quiz
- Kết quả đúng nhưng gán nhầm chỗ vẫn thành sai · quiz · kit cho agent
- Hợp lệ chưa phải là giấy phép · quiz · kit cho agent
- Có Guardrails rồi, action đã thật sự bị chặn chưa? · quiz · 2 kit cho agent
- Được phép chạy chưa có nghĩa là được chạm vào mọi thứ · quiz · kit cho agent
- Có Hook rồi, bạn thật sự can thiệp được tới đâu? · quiz · kit cho agent
- Agent cần ghi nhớ gì để ra quyết định cho hiện tại? · quiz · kit cho agent
- Context window không phải memory · quiz
- Khi context window không còn đủ chỗ · quiz · kit cho agent
- Thực hư về RAG — thêm dữ liệu không có nghĩa là đúng hơn · quiz · kit cho agent
- Dừng, hủy và hoàn thành là ba chuyện khác nhau · quiz · kit cho agent
- Muốn sửa Agent, hãy dựng lại đường đi của run · quiz · kit cho agent
- Demo chạy đúng rồi, nhưng Agent đã ổn định chưa? · quiz · kit cho agent
- Multi-agent: thêm một Agent là thêm một lần bàn giao · quiz · kit cho agent
- Cách phân tích một Agent Harness từ đầu đến cuối · quiz · 2 kit cho agent
