---
title: "Prompt và Context Engineering cho coding agent - brief, spec, AGENTS.md, session và bằng chứng"
description: "Khóa học về prompt và context engineering dành cho người dùng Claude Code hoặc Codex trên app thực tế. Bạn sẽ làm chủ cách giao việc bằng brief và spec, cắt gọn AGENTS.md, điều phối session và tự kiểm tra kết quả bằng thao tác thực tế thay vì phụ thuộc vào câu lệnh dài hay tin nhắn chat."
canonical: "https://200lab.io/courses/prompt-va-context-engineering-cho-coding-agent-brief-spec-agents-md-session-va-bang-chung"
type: "course"
course_type: "course"
learning_type: "free_form"
published: "2026-10-13T09:49:36Z"
students: 80
---

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

Hôm trước agent làm đúng, hôm sau nhận yêu cầu gần như cũ lại làm sai. Có lúc agent quên điều hai bên đã thống nhất, có lúc báo xong nhưng bấm thử thì app đang lỗi. Khóa học sử dụng tiếp app đặt lịch hẹn cho người làm tự do mà agent đã dựng cho bạn. Agent vẫn là bên gõ lệnh và viết code, còn bạn nắm quyền quyết định cách giao việc, lưu giữ quy ước vào file và tự kiểm tra kết quả thực tế trên app.

- **Quan sát mức dùng context** — Bạn mở màn hình đo của tool để xem session đã tiêu hao bao nhiêu token, nhận diện phần chiếm chỗ từ file mở thêm hay log test, rồi lọc bớt nguồn không cần thiết trước khi giao việc mới.
- **Thiết lập rule dừng trong AGENTS.md** — Bạn xác định những thao tác không thể cứu vãn bằng commit git như xóa dữ liệu hay deploy, đưa chúng vào danh sách bắt buộc agent phải hỏi trước khi thực hiện, và kiểm tra phản hồi thực tế bằng dữ liệu thử.
- **Giao việc bằng brief đủ bốn phần** — Bạn soạn yêu cầu có mục tiêu, bối cảnh, giới hạn và điều kiện hoàn thành gắn liền với bước bấm thử trên app. Khi phát hiện lỗi, bạn kể lại triệu chứng và khoanh vùng phạm vi được phép can thiệp thay vì đưa sẵn giải pháp.
- **Lập spec và duyệt plan theo màn hình** — Với tính năng phức tạp, bạn để agent phỏng vấn chi tiết rồi ghi thành spec trong `docs/specs/`. Trước khi agent viết code, bạn yêu cầu giải thích plan theo từng màn hình người dùng thấy để loại bỏ phần không ai nhờ.
- **Thu gọn AGENTS.md bằng phép thử bỏ rule** — Bạn rà soát chuỗi file rule trên máy, loại bớt lời khuyên chung chung bằng câu hỏi bỏ đi thì agent có làm sai không, và quy định một nơi lưu trữ duy nhất cho mỗi thông tin thay đổi.
- **Điều phối session bằng file bàn giao** — Bạn nhận biết thời điểm session bị rối để quay về commit an toàn theo rule hai lần, đồng thời duy trì `PROGRESS.md` và `DECISIONS.md` để agent ở session sau nắm ngay việc tiếp theo mà không hỏi lại.
- **Đòi hỏi bằng chứng độc lập** — Bạn yêu cầu agent nộp bằng chứng cho từng điều kiện hoàn thành trước khi tự bấm thử lại, dùng agent kiểm tra ở context mới để đối chiếu với spec, và đăng nhập tài khoản thứ hai để xác nhận phân quyền dữ liệu.

Đây là khóa thực hành trực tiếp trên app của bạn, áp dụng linh hoạt cho cả Claude Code lẫn Codex, giúp bạn kiểm soát toàn bộ chặng đường của yêu cầu bằng các tài liệu chuẩn mực trong kho mã nguồn.

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

Nền tảng cốt lõi của khóa học là context, tức toàn bộ những gì agent nhìn thấy trong session làm việc, trong khi tin nhắn bạn gõ vào thường chỉ chiếm phần rất nhỏ. Từ lúc bạn nhấn phím gửi đến khi tính năng xuất hiện trên màn hình, yêu cầu luôn đi qua năm chặng gồm tin nhắn, ngữ cảnh ngoài tin nhắn, plan, session và lời báo xong. Bài phân tích [Effective context engineering for AI agents](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents) cùng tài liệu [Best practices for Claude Code](https://code.claude.com/docs/en/best-practices) và [hướng dẫn thực hành của Codex](https://learn.chatgpt.com/guides/best-practices) cho thấy việc quản lý thông tin nạp vào session quyết định độ chính xác của agent khi giải quyết tác vụ nhiều bước. Bảy chương nội dung dưới đây giúp bạn làm chủ từng chặng thông qua các tài liệu lưu trực tiếp trong kho mã nguồn thay vì phụ thuộc vào các dòng chat tạm thời.

### 1. Agent đang thấy gì và được tự làm gì

Chương mở đầu giúp bạn đo lường chính xác lượng context tiêu hao trong một lần làm việc, nhận ra phần lớn token đến từ các file mã nguồn và khối log test được agent tự mở thêm. Bạn sẽ phân biệt ranh giới giữa context đang hiển thị với memory lưu trữ dài hạn trên ổ đĩa, đồng thời hiểu rõ giới hạn của context window trước khi xảy ra hiện tượng compaction. Khi agent tự ý dọn sạch dữ liệu thử để chạy lại app, việc quay về commit cũ chỉ phục hồi được mã nguồn chứ không lấy lại được dữ liệu trong database. Từ thực tế đó, bạn thiết lập rule dừng trong file quy ước để ghi những việc agent phải hỏi trước, còn giới hạn quyền thực thi được áp đặt bằng sandbox và cơ chế cấp quyền của tool.

### 2. Giao việc bằng brief đủ ý

Một yêu cầu ngắn ngủi thường khiến agent tự suy đoán và tạo ra những tính năng thiếu an toàn, chẳng hạn cho phép người chưa đăng nhập hủy lịch hẹn đã diễn ra từ tuần trước. Bạn chuyển đổi thói quen giao việc bằng bản brief bốn phần gồm mục tiêu, bối cảnh, giới hạn và điều kiện hoàn thành gắn với từng bước bấm thử. Thay vì dùng câu lệnh in hoa gay gắt khiến agent dè dặt quá mức và né tránh cả việc được phép, bạn điều chỉnh mức suy nghĩ bằng tham số effort của model. Khi app phát sinh lỗi, bạn báo cáo bằng triệu chứng thực tế trên giao diện và khoanh vùng phạm vi được phép can thiệp để agent không sửa nhầm vào phần dữ liệu đang đúng.

### 3. Có spec và plan rồi mới build

Khi bạn đưa yêu cầu nhỏ giọt qua nhiều tin nhắn, agent có xu hướng bám chặt vào giả định ban đầu và bỏ qua các lời đính chính tiếp theo. Bạn giải quyết triệt để vấn đề này bằng phiên phỏng vấn chuyên biệt, để agent đặt câu hỏi và ghi nhận toàn bộ yêu cầu vào file spec độc lập trước khi bắt đầu viết code. Khi agent đề xuất kế hoạch hành động, bạn yêu cầu diễn giải lại từng bước theo màn hình người dùng để phát hiện sớm các tính năng thừa và tình huống bị bỏ sót. File spec sau khi duyệt trở thành căn cứ duy nhất để agent ở session mới triển khai chính xác tính năng mà không cần đọc lại lịch sử trao đổi.

### 4. File AGENTS.md ngắn mà agent làm theo

Agent không chỉ đọc file quy ước trong dự án mà còn nạp nối tiếp chuỗi file cấu hình từ thư mục người dùng cho đến thư mục làm việc hiện tại. Bạn trực tiếp mở từng file để xác minh nguồn gốc của các chỉ dẫn lạ, thay vì dựa vào lời kể chưa chuẩn xác của agent. Khi file quy ước phình to vượt mức vài trăm dòng, những quy định quan trọng sẽ bị chìm lấp giữa hàng loạt lời khuyên chung chung. Áp dụng phép thử bỏ rule, bạn cắt gọn file chỉ còn bốn nhóm nội dung thiết yếu và quy định một nơi lưu trữ duy nhất cho các thông tin thường xuyên biến động.

### 5. Mở session mới đúng lúc và để agent làm tiếp đúng chỗ

Khi agent sửa đến lần thứ hai mà lỗi cũ vẫn lặp lại hoặc bắt đầu sửa lan sang các file không liên quan, phiên làm việc đã rơi vào trạng thái quá tải ngữ cảnh. Bạn áp dụng nguyên tắc hai lần để lùi mã nguồn về commit an toàn gần nhất, rút ra bài học ngắn gọn vào file quy ước và mở session mới với bản brief rõ ràng hơn. Để công việc không bị gián đoạn giữa các lần làm việc, bạn duy trì tài liệu `PROGRESS.md`, `DECISIONS.md` cùng bản đồ dự án nhằm bàn giao chính xác trạng thái của app. Bạn cũng rà soát lại danh sách skill và công cụ MCP đang kích hoạt, gỡ bỏ thành phần không cần thiết để tránh tình trạng agent tự ý thay đổi giao diện.

### 6. Kiểm tra kết quả mà không cần đọc code

Lời khẳng định đã kiểm tra kỹ kèm ảnh chụp màn hình từ agent chỉ phản ánh lượt chạy thử với dữ liệu hạn chế do chính công cụ lựa chọn. Bạn yêu cầu lập phiếu đối chiếu cho từng điều kiện hoàn thành và tự tay thực hiện lại các thao tác kiểm tra trên thiết bị cá nhân. Với các tính năng quan trọng, bạn khởi tạo một agent kiểm tra độc lập trong session mới để rà soát khách quan giữa code thực tế và file spec. Bạn cũng chủ động hoán đổi định danh trên thanh địa chỉ và đăng nhập tài khoản thứ hai để phát hiện lỗ hổng phân quyền dữ liệu mà mắt thường không thấy được qua mã nguồn.

### 7. Làm một tính năng qua nhiều session mà không phải giải thích lại từ đầu

Ở chặng cuối, bạn kết nối toàn bộ kỹ năng để xây dựng tính năng cho phép khách tự dời giờ hẹn xuyên suốt nhiều session làm việc riêng biệt. Quy trình được phân định rõ ràng giữa session phỏng vấn lập spec, các session xây dựng từng hành vi nhỏ và session kiểm tra độc lập ở cuối cùng. Bạn chỉ nghiệm thu khi toàn bộ tiêu chí trong danh sách theo dõi đều đạt và có bằng chứng xác nhận do chính bạn kiểm chứng trên màn hình. Sau khi hoàn tất, bạn lấy lại yêu cầu sơ khởi từ bài mở đầu để viết thành bản brief hoàn chỉnh, đánh dấu bước tiến vững chắc trong kỹ năng điều phối công cụ.

## Vì sao 200Lab tạo ra khóa học này

Sự xuất hiện của các coding agent hiện đại như Claude Code hay Codex đã thay đổi cách xây dựng phần mềm: người dùng không cần viết từng dòng lệnh mà có thể tạo nên một app hoàn chỉnh thông qua việc trao đổi. Tuy nhiên, khi chuyển từ một vài chức năng đơn lẻ sang phát triển tính năng phức tạp, thói quen chỉ gõ tin nhắn vào ô chat nhanh chóng bộc lộ hạn chế. Agent thường xuyên quên thỏa thuận cũ sau khi nén ngữ cảnh, tự ý đưa ra quyết định ở những chỗ yêu cầu bỏ trống, hoặc thông báo hoàn thành trong khi chức năng vẫn lỗi trên giao diện thực tế.

Khi gặp trục trặc, phản xạ phổ biến của nhiều người là viết prompt dài hơn, dùng chữ in hoa để nhấn mạnh, hoặc liên tục nhồi nhét lời khuyên chung vào file quy ước. Thực tế làm việc cho thấy những nỗ lực dặn dò trong chat chỉ khiến context thêm nặng nề và làm agent dễ lạc hướng ở những bước tiếp theo. Các buổi làm việc kéo dài hàng giờ thường kết thúc trong bế tắc khi người dùng phải trả lời lại những câu hỏi cũ, mã nguồn bị sửa lan ra ngoài phạm vi, và dữ liệu khách hàng có nguy cơ bị lộ cho tài khoản khác do thiếu các bước kiểm tra độc lập.

Các nghiên cứu kỹ thuật gần đây phản ánh rất rõ những trở ngại này. Khảo sát công bố năm 2026 về AGENTS.md cho thấy việc thêm các đoạn văn mô tả chung không giúp agent hoàn thành nhiều việc hơn mà còn làm tăng chi phí token trung bình hơn 20%, trong đó chỉ có các quy ước cụ thể của từng dự án đem lại giá trị. Nghiên cứu về hội thoại nhiều lượt cũng khẳng định mô hình thường chốt giả định từ rất sớm và rất khó quay đầu khi người dùng bổ sung yêu cầu nhỏ giọt. Đội ngũ kỹ sư tại Anthropic chỉ ra rằng agent khi tự chấm điểm bài làm của mình thường có xu hướng đánh giá thiếu khách quan, trong khi báo cáo từ Superblocks ghi nhận hơn 170 app bị rò rỉ dữ liệu cá nhân do thiếu hoặc cấu hình sai chính sách phân quyền khiến người ngoài có thể truy vấn dữ liệu. Khóa học đưa vào phép thử bằng tài khoản thứ hai để giúp bạn phát hiện những sơ hở đó.

200Lab xây dựng khóa học này nhằm cung cấp cho bạn một phương pháp làm việc có hệ thống, dựa trên các tài liệu lưu trữ lâu dài trong kho mã nguồn thay cho những dòng chat tạm bợ. Bằng cách chia nhỏ quy trình thành brief, spec, file theo dõi tiến độ và bằng chứng kiểm tra, bạn luôn nắm quyền chủ động điều phối mà không cần đọc hiểu chi tiết mã nguồn. Khoảng thời gian bạn dừng lại để chuẩn bị yêu cầu và tự tay bấm thử nghiệm trên app sẽ giúp agent hoạt động ổn định, biến công cụ AI thành cộng sự lập trình đáng tin cậy.

## Những vấn đề thường gặp khi giao việc cho coding agent

Khi gặp trục trặc trong quá trình làm việc cùng coding agent, nhiều người thường có phản xạ gõ thêm vài lời dặn giải thích ngay trong session đang mở. Tuy nhiên, phần lớn sự cố không bắt nguồn từ việc thiếu câu chữ trong prompt, mà xuất phát từ lượng context bị quá tải, cách tổ chức file quy ước chưa chuẩn xác, hoặc việc vội tin vào thông báo của công cụ.

- Cả session chỉ trao đổi vài tin nhắn ngắn nhưng tool báo đã tiêu hao hàng chục nghìn token — Phần lớn context bị chiếm dụng bởi nội dung các file mã nguồn do agent tự mở và khối log in ra từ những lần chạy lệnh kiểm thử ngầm.
- Dặn dò trong chat không đụng vào dữ liệu nhưng toàn bộ lịch hẹn thử vẫn bị xóa sạch — Lời dặn chỉ nằm trong ô chat có thể biến mất sau đợt compaction, trong khi commit git chỉ có thể khôi phục mã nguồn văn bản chứ không cứu lại được database.
- Tính năng hủy lịch vừa làm cho phép hủy cả lịch hẹn trong quá khứ và hiển thị cho cả người chưa đăng nhập — Tin nhắn một dòng không nêu rõ các trường hợp ranh giới, buộc agent phải tự quyết định theo phương án tiện nhất cho nó.
- Yêu cầu sửa múi giờ khiến toàn bộ dữ liệu giờ giấc đã lưu chuẩn xác trước đó bị lệch hàng loạt — Tin nhắn đã áp đặt sẵn phương án kỹ thuật sai lầm thay vì miêu tả triệu chứng thực tế, khiến agent can thiệp nhầm vào phần dữ liệu đang chạy đúng.
- Gửi nhiều tin nhắn bổ sung nhưng agent vẫn khăng khăng xử lý theo cách hiểu ban đầu — Giả định hình thành ở tin nhắn đầu tiên đã bám chặt vào context, khiến mọi câu đính chính sau đó chỉ được ghép nối thêm vào giả định sai lệch cũ.
- File AGENTS.md kéo dài vài trăm dòng nhưng agent vẫn liên tục lặp lại các lỗi quen thuộc — Quy ước riêng của dự án bị chìm lấp giữa hàng loạt lời khuyên đạo đức chung chung, làm loãng sự tập trung của model khi nạp file vào đầu session.
- Sang session mới là agent hỏi lại thông tin nền tảng và viết lại từ đầu những chức năng đã xong — Lịch sử hội thoại của session trước không tự động chuyển sang session mới nếu bạn chưa ghi nhận trạng thái vào các file bàn giao trong kho mã nguồn.
- Agent tự chấm hoàn thành xuất sắc kèm ảnh chụp nhưng khi mở app lên vẫn thiếu chức năng cốt lõi — Lời tự đánh giá trong cùng ngữ cảnh làm việc luôn mang định kiến của chính bản plan cũ, bỏ qua những thiếu sót mà bản thân công cụ chưa từng nghĩ tới.

Toàn bộ các tình huống thực tế này đều có bài thực hành riêng trong khóa học, giúp bạn nhận diện sớm nguyên nhân và biết cách xử lý dứt điểm trên hệ thống của mình.

## Bạn sẽ học theo cách nào

- **Tình huống thực tế trên app** — Mỗi bài mở đầu bằng một sự cố cụ thể diễn ra trên app đặt lịch hẹn của bạn, giúp bạn nắm bắt ngay bản chất vấn đề trước khi can thiệp.
- **Minh họa trực quan qua sơ đồ** — Các hình vẽ mô tả rõ nét cấu trúc context, chuỗi file quy ước và các trường hợp kiểm thử, đặt phương án đúng cạnh phương án sai để bạn dễ dàng so sánh.
- **Kiểm tra kết quả sau mỗi bước** — Bài học cung cấp sẵn tin nhắn tiếng Việt chuẩn xác cùng bảng tiêu chí rõ ràng, giúp bạn tự xác nhận kết quả qua giao diện hoặc dữ liệu mà không cần xem code.
- **Bảng đối chiếu Claude Code và Codex** — Sự khác biệt về câu lệnh, cơ chế phân quyền và hành vi sau compaction của từng công cụ được ghi chú tường minh theo các mốc thời gian cập nhật.
- **Bộ kit thực hành theo từng chương** — Hệ thống tài liệu mẫu, kịch bản lỗi dựng sẵn và bảng tính đi kèm giúp bạn tự tin thao tác trên chính chiếc máy tính cá nhân của mình.

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

1. **Vibe coder đã có app chạy thực tế** — Bạn đã dùng Claude Code hoặc Codex để dựng app cơ bản và muốn làm chủ quy trình giao việc để xây dựng thêm tính năng ổn định mà không cần đọc hiểu từng dòng code.
2. **Người vừa hoàn thành khóa Hành trang** — Bạn sử dụng trực tiếp app đặt lịch hẹn và kho mã nguồn sẵn có từ khóa trước để tiếp tục nâng cấp hệ thống lên mức độ hoàn thiện cao hơn.
3. **Người phát triển tính năng dài ngày** — Bạn cần phương pháp phối hợp hiệu quả qua nhiều lần làm việc để agent tiếp tục công việc liền mạch mà không hỏi lại các quyết định đã thống nhất từ trước.

## Những điều cần lưu ý

- **Không giải thích chi tiết mã nguồn hay câu lệnh git** — Khóa học không đi sâu vào ngữ pháp lập trình, bù lại bạn nắm vững kỹ năng quản lý agent bằng brief, spec và các bước kiểm tra trực tiếp trên app.
- **Không thay thế cho quy trình kiểm tra bảo mật chuyên sâu** — Thao tác kiểm tra bằng tài khoản thứ hai chỉ xác minh tính đúng đắn của quyền truy cập dữ liệu, đổi lại bạn có phương pháp phát hiện nhanh các nguy cơ rò rỉ dữ liệu phổ biến.
- **Ứng dụng vận hành trên máy cá nhân thay vì deploy lên đám mây** — Khóa học không bao gồm phần đưa hệ thống lên server bên ngoài, bù lại bạn làm chủ toàn diện kỹ thuật điều phối session và lưu giữ bằng chứng xác thực trong kho mã nguồn.
- **Yêu cầu môi trường chuẩn bị trước khi bắt đầu** — Bạn cần một máy tính chạy macOS hoặc Windows, tài khoản Claude Code hoặc Codex từ mức 20 USD mỗi tháng và một kho mã nguồn trên GitHub để tự tay hoàn thành các bài tập.

## Bắt đầu từ đâu

Bài mở đầu giải đáp thắc mắc: vì sao prompt đã rõ ràng mà agent vẫn làm sai ở session sau? Bạn sẽ chọn một yêu cầu thực tế mình dự định làm trong tuần, lần theo năm chặng của quy trình để nhận diện những khoảng trống chưa kiểm soát, rồi nhờ agent lưu nguyên văn vào file `docs/briefs/first-request.md`. Bài học này được đặt lên đầu tiên vì tài liệu ban đầu đó chính là cột mốc đối chiếu giúp bạn nhận rõ sự tiến bộ của bản thân khi viết lại thành bản brief chuẩn mực ở cuối khóa học.

## Chương trình

- Vì sao prompt đã rõ ràng mà agent vẫn làm sai ở session sau? (miễn phí) · 2 kit cho agent

### Agent đang thấy gì và được tự làm gì

- Bạn chỉ gõ vài dòng, vậy phần lớn context của session đến từ đâu? (miễn phí) · quiz · kit cho agent
- Việc nào agent đã làm thì quay về commit cũng không cứu được? (miễn phí) · quiz

### Giao việc bằng brief đủ ý

- Agent làm đúng từng chữ bạn viết nhưng sai ý bạn muốn · quiz · 2 kit cho agent
- Dặn bằng chữ in hoa, agent lại không dám làm cả những việc được phép · quiz · kit cho agent
- Bạn đưa sẵn cách sửa nên agent sửa luôn cả phần đang chạy đúng · quiz · kit cho agent

### Có spec và plan rồi mới build

- Đã bổ sung yêu cầu nhiều lần mà agent vẫn hiểu theo tin nhắn đầu tiên · quiz · kit cho agent
- Plan đọc thấy ổn, nhưng người dùng sẽ gặp lỗi ở màn hình nào? · quiz · kit cho agent

### File AGENTS.md ngắn mà agent làm theo

- Agent làm theo rule mà AGENTS.md của repo không hề có · quiz · 2 kit cho agent
- AGENTS.md ngày càng dài, sao agent vẫn lặp lại lỗi cũ? · quiz · kit cho agent
- Chat, AGENTS.md và memory nói ba điều khác nhau, agent làm theo bên nào? · quiz · kit cho agent

### Mở session mới đúng lúc và để agent làm tiếp đúng chỗ

- Lần sửa thứ hai vẫn hỏng, sửa tiếp hay làm lại từ đầu? · quiz · 2 kit cho agent
- Sang session mới là agent hỏi lại điều đã chốt và làm lại việc đã xong · quiz
- Bạn vừa cài thêm skill, agent đã sửa cả những phần bạn không nhờ

### Kiểm tra kết quả mà không cần đọc code

- Agent báo đã kiểm tra kỹ nhưng mở app ra vẫn thiếu phần bạn yêu cầu · quiz · 2 kit cho agent
- Kết quả agent tự chấm thì tin được đến đâu? · quiz · kit cho agent
- Tài khoản khác vẫn mở được dữ liệu của bạn dù agent nói đã phân quyền · quiz · kit cho agent

### Làm một tính năng qua nhiều session mà không phải giải thích lại từ đầu

- Tính năng lớn làm qua nhiều session thì lấy gì để biết đã thật sự xong? · 4 kit cho agent
