Bỏ qua đến nội dung chính
Học AI
Cửa sổ code nối với bảng kết quả trên nền navy, minh họa agent gọi tool

Khóa học AI Agent: học gì, theo lộ trình nào?

AIDev TeamTham vấn chuyên môn: Nguyễn Việt Chung

Đăng 15 phút đọc3 lượt xem

Mục lục · 17

Một khóa học AI agent tốt cho lập trình viên đi qua 5 chặng: Python, gọi LLM API, RAG, agent gọi tool, rồi evals và deploy. Bài này đối chiếu thứ tự đó với 63 tin tuyển dụng AI Engineer có nhắc agent, chạy thử một agent tự viết và một bản LangChain trên Gemini, rồi chọn ra tài liệu miễn phí đáng học.

Khóa học AI agent cho lập trình viên nên dạy theo thứ tự: Python, gọi API của LLM (mô hình ngôn ngữ lớn), RAG (cho LLM tra tài liệu trước khi trả lời), agent tự gọi tool (các hàm do code của bạn cung cấp), rồi đến evals (bộ câu hỏi chấm tự động) và deploy. Học thẳng framework khi chưa tự viết nổi một vòng lặp gọi tool thì bạn sẽ chỉ biết chạy ví dụ mẫu, gặp lỗi là bí. Muốn tự học, bạn có thể bắt đầu bằng Hugging Face AI Agents Course hoặc AI Agents for Beginners của Microsoft (có bản tiếng Việt), cả hai đều miễn phí.

Những điều cần nắm trước khi đọc tiếp:

  • Agent là chương trình để LLM tự quyết định gọi tool nào, đọc kết quả rồi gọi tiếp cho tới khi trả lời được. Phần lõi chỉ là một vòng lặp.

  • Trong 108 tin tuyển dụng AI Engineer mà mình đọc ngày 11 và 13/10/2026, 63 tin nhắc AI agent. 54 trong số 63 tin đó cũng đòi RAG.

  • Gần một nửa số tin đó (31/63) đòi evaluation, tức đo xem agent trả lời đúng tới đâu.

  • Gọi tool qua API không cần GPU. Một agent nhỏ chạy được trên laptop với gói Free của Gemini.

Ngày 23/10/2026, mình viết cùng một agent theo hai cách: tự viết vòng lặp bằng thư viện google-genai 2.32.0, và dùng LangChain 1.4.7. Cả hai chạy trên model gemini-3.5-flash-lite, trên MacBook Pro M4 Pro với Python 3.14.7. Số liệu và lỗi bên dưới lấy từ log của các lần chạy đó.

AI agent là gì, khác chatbot ở chỗ nào?

Chatbot nhận câu hỏi rồi trả lời bằng những gì model đã biết. Agent thì có thêm tool, tức các hàm như tra đơn hàng, tìm tài liệu hay gửi email, và model tự chọn gọi hàm nào, theo thứ tự nào. Code của bạn chạy hàm đó, gửi kết quả lại cho model, rồi lặp tiếp cho đến khi model thấy đủ thông tin để trả lời.

Bài Building effective agents của Anthropic (19/12/2024) tách rõ hai loại. Workflow là LLM và tool chạy theo đường đi đã viết sẵn trong code. Agent là LLM tự điều khiển quá trình và tự chọn tool. Bài đó cũng khuyên nên bắt đầu bằng việc gọi thẳng API của LLM, vì nhiều mẫu agent chỉ cần vài dòng code.

Nếu bạn chỉ muốn dùng agent có sẵn chứ không định lập trình, các công cụ như OpenClaw hoặc n8n nối với Claude qua MCP (MCP là giao thức chuẩn để nối tool vào model) hợp hơn. Bài này viết cho người muốn tự xây agent bằng code.

Nhà tuyển dụng cần gì ở người làm AI agent?

Mình lọc ra 63 tin có nhắc AI agent từ 108 tin AI Engineer trên ITviec, TopCV, LinkedIn và VietnamWorks, rồi đếm các kỹ năng khác xuất hiện trong cùng tin:

Biểu đồ 63 tin AI Engineer có nhắc AI agent: Python 59 tin, LLM 59, RAG 54, Vector DB 34, Tool calling hoặc MCP 31, LangChain hoặc LangGraph 31, Evaluation 31, Docker hoặc Kubernetes 29, Fine-tuning 25, FastAPI 20, Guardrails 14, framework agent khác 13, Langfuse hoặc LangSmith 9

Mình bất ngờ nhất khi thấy agent hiếm khi được tuyển riêng. 54/63 tin vừa đòi agent vừa đòi RAG, và 34 tin nhắc vector database (cơ sở dữ liệu tìm đoạn văn theo nghĩa). Lý do có lẽ là agent trong công ty thường phải tra tài liệu nội bộ trước rồi mới làm việc khác.

Framework thì lại không bắt buộc như mình nghĩ. LangChain có trong 27 tin, LangGraph 23, LlamaIndex 10, AutoGen 9, Google ADK 8, CrewAI 5, nhưng 32/63 tin không nhắc tên framework agent nào. Tool calling hoặc MCP (31 tin) và evaluation (31 tin) đều được ghi nhiều hơn bất kỳ framework nào.

Kỹ năng đưa agent lên chạy thật cũng được nhắc: Docker hoặc Kubernetes trong 29 tin, FastAPI 20 tin, guardrails (lớp chặn đầu vào và đầu ra) 14 tin.

Mỗi tin có thể nhắc nhiều kỹ năng. 108 tin này là các tin đứng đầu kết quả tìm kiếm trong hai ngày đó, chưa đại diện cho cả thị trường. Bức tranh chung của nghề có ở bài AI Engineer là gì.

Lộ trình học AI agent cho lập trình viên đi qua những chặng nào?

Dựa trên các kỹ năng trong biểu đồ, mình xếp thành 5 chặng. Mỗi chặng có một dấu hiệu cụ thể để biết lúc nào nên sang chặng sau:

Chặng

Học gì

Xong khi bạn làm được

Tài liệu miễn phí gợi ý

1. Python

hàm, dict, JSON, gọi HTTP, venv

viết hàm nhận tham số, trả về dict

Học Python từ số 0

2. LLM API

prompt, system prompt, token, giá

gọi model bằng code, đếm token mỗi lần gọi

tài liệu API của nhà cung cấp model

3. RAG

embedding, vector DB, chia đoạn tài liệu

hỏi đáp trên tài liệu của bạn, có trích nguồn

Hugging Face LLM Course

4. Agent

tool calling, vòng lặp, MCP, trạng thái

tự viết vòng lặp gọi 2 tool không cần framework

AI Agents Course, AI Agents for Beginners

5. Evals, deploy

bộ câu hỏi chấm tự động, trace, API

chạy lại bộ evals sau mỗi lần sửa prompt

bonus unit 2 của AI Agents Course

Nếu bạn chưa biết lập trình, hãy làm xong chặng 1 rồi mới tính tới agent. Lý do: 59/63 tin đòi Python, và mọi ví dụ trong bài này đều là code Python. Thứ tự đầy đủ cho cả nghề nằm ở bài lộ trình AI Engineer.

Một agent nhỏ tự viết trông như thế nào?

Mình chọn một việc quen thuộc của cửa hàng online: trả lời khách hỏi về đơn hàng và phí ship. Cửa hàng là Tiệm Mây, cửa hàng hư cấu mà các sách của AIDev vẫn dùng làm dữ liệu. Agent có hai tool, viết bằng hàm Python thường:

python
def tra_don(ma_don: str) -> dict:
    """Tra trạng thái, tỉnh nhận và cân nặng của một đơn hàng theo mã (vd TM1023)."""
    don = DON.get(ma_don.strip().upper())
    return don or {"loi": f"không có đơn {ma_don}"}

def tinh_phi_ship(tinh: str, can_nang_kg: float, giao_nhanh: bool = False) -> dict:
    """Tính phí giao hàng (đồng) tới một tỉnh theo cân nặng; giao_nhanh=True là giao nhanh."""

Cài thư viện trong một venv riêng:

bash
python3 -m venv venv
venv/bin/pip install google-genai==2.32.0

Phần lõi của agent là vòng lặp dưới đây. Cả file agent_tu_viet.py, gồm phần khai báo tool, ghi vết và in kết quả, dài 56 dòng (không tính dòng trống):

python
for _ in range(toi_da):
    tl = client.models.generate_content(model=MODEL, contents=lich_su, config=cau_hinh)
    if not tl.function_calls:                  # model không gọi tool nữa: đó là câu trả lời
        return tl.text
    lich_su.append(tl.candidates[0].content)   # giữ nguyên lượt của model
    ket_qua = []
    for fc in tl.function_calls:
        try:
            kq = CONG_CU[fc.name](**fc.args)
        except Exception as e:                 # lỗi tool cũng gửi lại cho model đọc
            kq = {"loi": repr(e)}
        ket_qua.append(types.Part.from_function_response(name=fc.name, response=kq))
    lich_su.append(types.Content(role="user", parts=ket_qua))

Khóa học nào cũng nên giảng kỹ ba chỗ trong vòng lặp này. Giới hạn số bước (toi_da = 6) giữ cho agent không lặp mãi. Lỗi của tool được trả về cho model đọc, chương trình không dừng giữa chừng. Chỗ thứ ba là dòng lich_su.append(tl.candidates[0].content). Lượt trả lời của Gemini có thể kèm chữ ký "thought signature", một chuỗi mã hóa phần suy nghĩ của model (bản LangChain ở phần sau cho thấy rõ chữ ký này). Tài liệu Gemini yêu cầu gửi lại các khối thought đúng như đã nhận. Vì vậy mình gửi lại nguyên lượt đó chứ không tự dựng lại từ tên hàm và tham số.

Mình hỏi một câu buộc agent phải gọi tool 4 lần:

bash
python agent_tu_viet.py "Giao nhanh đơn TM1023 và đơn TM1047 thì tổng phí ship là bao nhiêu?"
Terminal chạy agent tự viết: gọi tra_don cho TM1023 và TM1047, rồi tinh_phi_ship cho Lâm Đồng 2,5 kg và Hà Nội 0,8 kg, trả lời tổng 90.000đ sau 3 lần gọi model, 1.066 token vào, 183 token ra, 6,85 giây

Model gọi tra_don hai lần cùng lúc trong một lượt. Lượt sau nó gọi tinh_phi_ship hai lần, rồi cộng ra 90.000đ. Tổng cộng 3 lần gọi model, 1.066 token vào và 183 token ra. Đọc log mình mới thấy một chỗ sai mà con số không cho thấy: đơn TM1047 đã giao rồi, vậy mà agent vẫn tính phí giao nhanh cho đơn đó và không nhắc khách một câu nào.

Có nên học LangChain, LangGraph ngay từ đầu không?

Mình viết lại đúng agent đó bằng create_agent của LangChain 1.4.7. Hàm này chạy trên LangGraph 1.2.16. Hai tool giữ nguyên, phần tạo agent chỉ còn vài dòng:

python
from langchain.agents import create_agent
from langchain_google_genai import ChatGoogleGenerativeAI

llm = ChatGoogleGenerativeAI(model="gemini-3.5-flash-lite", api_key=KEY)
agent = create_agent(llm, tools=[tra_don, tinh_phi_ship], system_prompt=HUONG_DAN)
kq = agent.invoke({"messages": [{"role": "user", "content": cau_hoi}]})

LangChain tự đọc docstring và kiểu tham số của hàm để tạo khai báo tool, nên mình không phải viết JSON schema bằng tay. Cả file còn 31 dòng, kể cả phần ghi vết. Với cùng câu hỏi trên, thứ tự gọi tool và số token gần như trùng với bản tự viết:

Terminal chạy agent LangChain 1.4.7: cùng 4 lần gọi tool tra_don và tinh_phi_ship, trả lời 90.000đ sau 3 lần gọi model, 1.063 token vào, 183 token ra, 11,47 giây

Lần chạy đầu bản LangChain, mình lấy câu trả lời bằng .content như thói quen cũ và nhận về một list chứ không phải chuỗi:

text
"tra_loi": [{"type": "text", "text": "Phí ship giao nhanh cho đơn TM1023 tới tỉnh Lâm Đồng là 60.000đ.",
             "extras": {"signature": "EmAKXgFpFH0Tg2xO7TVRKckk..."}}]

Với model này, tin nhắn cuối là một danh sách các khối, có kèm chữ ký. Đổi sang thuộc tính .text của tin nhắn cuối (cuoi.text) thì lấy được chuỗi. Nếu chưa từng tự viết vòng lặp ở phần trước, chắc mình đã không biết cái "signature" ấy từ đâu ra.

Ý kiến của mình: nên tự viết vòng lặp trước, sau đó mới học một framework. 32/63 tin không nhắc framework nào, còn những tin có nhắc thì chia cho nhiều framework khác nhau. Ai nắm được vòng lặp thì chuyển giữa LangGraph, Google ADK hay AutoGen sẽ nhẹ nhàng hơn nhiều, vì framework nào cũng chạy đúng vòng lặp đó bên trong.

Làm sao biết agent chạy đúng? Thử bằng bộ evals nhỏ

Evals là bộ câu hỏi có sẵn đáp án, chạy tự động sau mỗi lần bạn sửa prompt hay đổi model. Bộ của mình có 5 câu: một câu tra trạng thái, hai câu tính phí, một câu hỏi mã đơn không tồn tại, một câu cần gọi tool 4 lần. Mỗi câu kèm một hàm kiểm tra, ví dụ câu trả lời phải có "60.000":

python
CAU = [
    ("Đơn TM1023 nếu đổi sang giao nhanh thì phí ship bao nhiêu?", lambda t: "60.000" in t or "60000" in t),
    ("Đơn TM9999 đang giao tới đâu?", lambda t: "không" in t.lower() and "Lâm Đồng" not in t and "Hà Nội" not in t),
    # ... 3 câu nữa
]

Mỗi bản agent chạy cả bộ 3 lần, tổng cộng 30 lượt:

Terminal chạy bộ evals: 5 câu đầu của bản tự viết đều True, tổng hợp mỗi bản 15/15 đúng, 36 lần gọi model, khoảng 10.300 token vào và 1.200 token ra, 0,0061 USD nếu trả phí

Bản

Đúng

Gọi model

Token vào / ra

Tiền nếu trả phí

Thời gian trung vị

Tự viết (google-genai 2.32.0)

15/15

36

10.299 / 1.206

0,0061 USD

7,1 giây

LangChain 1.4.7

15/15

36

10.263 / 1.217

0,0061 USD

10,4 giây

Tiền được tính theo giá trang Gemini API pricing ngày 23/10/2026: 0,30 USD cho mỗi triệu token vào và 2,50 USD cho mỗi triệu token ra (đã gồm token thinking). Tính ra khoảng 0,0004 USD mỗi câu hỏi. Mình chạy trên gói Free nên thực tế không mất đồng nào.

Phần thời gian thì bạn đừng dùng để so hai bản. Ở gói Free, thời gian chờ dao động rất mạnh: có lượt chỉ 2,5 giây, có lượt bản LangChain mất 111 giây, và trong thử nghiệm ở phần sau có lượt mất 210 giây. Lượt chậm rơi vào bản nào nhiều khả năng chỉ do hàng chờ phía Google, không do code của bản đó.

Thêm một câu mà tool không trả lời được

Thú thật, 30/30 làm mình hơi nghi, vì 5 câu đó quá dễ. Câu gọi tool 4 lần cũng chỉ kiểm tổng tiền, nên lỗi tính giao nhanh cho đơn TM1047 đã giao ở phần trước vẫn được chấm đúng. Mình thử thêm câu "Đơn TM1023 bao giờ thì tới nơi?". Hai tool không trả về ngày giao, nên câu trả lời đúng là "chưa có thông tin". Mình chạy 5 lần với system prompt có câu "Chỉ trả lời dựa trên kết quả tool, không đoán", rồi 5 lần với system prompt chỉ có một câu giới thiệu cửa hàng:

Terminal so hai system prompt: có câu không đoán thì 5/5 lần không nêu ngày giao; bỏ câu đó thì 4/5 lần agent tự bịa ra thời gian giao 2 đến 4 ngày

System prompt

Tự đưa ra thời gian giao

Không nêu thời gian giao

Có câu "chỉ trả lời dựa trên kết quả tool, không đoán"

0/5

5/5

Chỉ giới thiệu cửa hàng

4/5 (đều ghi 2 đến 4 ngày)

1/5

Bỏ một câu trong system prompt là agent bắt đầu hứa với khách một thời gian giao hàng không có trong dữ liệu. Muốn bắt lỗi kiểu này, bộ evals phải có những câu mà tool không trả lời được. Khi chọn khóa học AI agent, bạn hãy xem đề cương có phần nào dạy viết bộ câu hỏi như vậy không.

Khóa học AI agent miễn phí nào đáng học?

Mình xem kết quả Google tại Việt Nam cho từ khóa "khóa học AI agent" hồi đầu tháng 10/2026. Trong 8 kết quả tự nhiên có 2 bài hỏi đáp trên Facebook và 1 bài Reddit. Phần lớn các trang khóa học còn lại dạy agent bằng công cụ kéo thả như n8n, hoặc dạy agent cho marketing. Các trang đó không dạy viết code, nên lập trình viên phải tìm nguồn khác. Dưới đây là các tài liệu miễn phí mình mở ra xem ngày 23/10/2026:

Tài liệu

Dạy gì

Ngôn ngữ

Ghi chú

Hugging Face AI Agents Course

nền tảng agent, smolagents, LlamaIndex, LangGraph, bài cuối khóa

tiếng Anh

chứng nhận miễn phí, không hạn chót

AI Agents for Beginners (Microsoft)

18 bài từ tool use, agentic RAG tới bảo mật, deploy

có bản tiếng Việt

giấy phép MIT, 77.686 sao GitHub

Introduction to LangGraph (LangChain Academy)

6 module, 55 bài

tiếng Anh

khoảng 6 giờ video

Building effective agents (Anthropic)

khi nào dùng workflow, khi nào dùng agent

tiếng Anh

bài đọc, nên đọc trước khi học framework

AI Agents Course của Hugging Face có 5 chương chính và 3 chương bonus. Bonus unit 2 nói về observability và evaluation, đúng phần mà 31/63 tin tuyển dụng có đòi:

Bảng đề cương Hugging Face AI Agents Course: chương 0 Onboarding, 1 Agent Fundamentals, 2 Frameworks smolagents LangGraph LlamaIndex, 3 Use Cases, 4 Final Assignment, kèm 3 bonus unit về fine-tuning function calling, observability và evaluation, agent chơi Pokemon

Khóa của Microsoft có bản dịch tiếng Việt ngay trong repo. Đây là lựa chọn dễ nhất nếu bạn đọc tài liệu kỹ thuật tiếng Anh còn chậm. Bản dịch là dịch máy, nên vài thuật ngữ đọc hơi lạ, ví dụ "agent" thành "Đại lý AI" hay "tác nhân AI":

Trang README tiếng Việt của repo microsoft/ai-agents-for-beginners trên GitHub: tiêu đề Tác nhân AI cho Người mới bắt đầu, dòng 18 Bài học xây dựng Đại lý AI với Microsoft Foundry

DeepLearning.AI cũng có nhiều khóa ngắn về agent. Video xem miễn phí, còn lab và chứng chỉ thì phải trả phí. Muốn so kỹ các khóa AI miễn phí khác, bạn xem bài học AI miễn phí.

Khi nào không nên học AI agent?

Đừng học agent nếu việc của bạn luôn chạy theo các bước cố định, chẳng hạn mỗi sáng lấy đơn mới, ghi vào Google Sheets rồi nhắn nhóm. Một workflow n8n làm việc đó ổn định hơn và không tốn token mỗi lần chạy. Agent chỉ có lợi khi đầu vào là câu chữ tự nhiên và thứ tự các bước thay đổi theo từng câu hỏi.

Cũng đừng nhảy vào agent khi chưa viết được Python và chưa từng gọi LLM API. Bạn sẽ không phân biệt nổi lỗi nằm ở prompt, ở tool hay ở code của mình. Nếu đang ở điểm xuất phát, bài học AI bắt đầu từ đâu giúp bạn chọn hướng trước. Mình mới chạy agent với hai tool và sáu câu hỏi. Agent có hàng chục tool chạy trong production thì khó hơn nhiều, và các con số trong bài này chưa nói được gì về trường hợp đó.

Câu hỏi thường gặp

Học AI agent có cần GPU không?

Không, nếu bạn gọi model qua API như trong bài. Mọi lượt chạy trong bài đều làm trên một chiếc laptop. GPU chỉ cần khi bạn tự chạy model mở, ví dụ dùng Ollama với model đủ lớn để gọi tool ổn định.

Không biết code có học AI agent được không?

Dùng agent có sẵn thì được, ví dụ OpenClaw hay n8n. Còn tự xây agent thì cần Python, vì 59/63 tin tuyển dụng có nhắc agent đều đòi Python. Nên học Python trước rồi mới quay lại phần agent.

Tự học AI agent có đủ để đi làm không?

Tài liệu miễn phí ở trên đủ để bạn nắm kiến thức. Điểm khó khi tự học là không có ai chấm project và không có bộ evals để biết agent của mình tốt tới đâu. Cách tự học có kế hoạch nằm ở bài tự học AI.

Nên chọn framework agent nào?

Trong 63 tin mình đếm, LangChain (27 tin) và LangGraph (23 tin) được nhắc nhiều nhất. Nhưng hãy chọn sau khi đã tự viết được vòng lặp. Học vòng lặp trước thì đổi framework nào cũng nhanh.

Đọc tiếp

  • Lộ trình AI Engineer: 5 chặng từ Python đến LLM và agent, mỗi chặng mất bao lâu.

  • AI Engineer là gì: nghề này làm gì, phân tích tin tuyển dụng.

  • Tự học AI: tự học bằng tài liệu miễn phí theo thứ tự nào.

  • n8n MCP: agent dùng công cụ có sẵn, không cần viết vòng lặp.

Nếu muốn học phần agent theo đề cương, có project được chấm, bạn xem lộ trình AI Engineer từ số 0 của AIDev. Khóa 5 "Xây ứng dụng AI với LLM và AI Agent" dạy RAG production trên tài liệu tiếng Việt, agent, MCP server tự viết, evals trên tập test 50 câu, tracing và deploy. Project cuối khóa là một ứng dụng RAG hoặc agent chạy thật, đo được bằng evals. Trước đó là 4 khóa Python, phân tích dữ liệu, machine learning và deep learning, cuối lộ trình có một dự án capstone. Lịch lên sóng của từng khóa được ghi trên trang lộ trình.

Chạy ngày 23/10/2026 trên MacBook Pro M4 Pro, macOS 27.0.1, Python 3.14.7, google-genai 2.32.0, langchain 1.4.7, langgraph 1.2.16, langchain-google-genai 4.4.2, model gemini-3.5-flash-lite gói Free. Tin tuyển dụng đọc ngày 11 và 13/10/2026.

Chuyên mục

Học AI

Tham vấn chuyên môn

Nguyễn Việt Chung

Nhà sáng lập AIDev và VietPlatform · Thạc sĩ AI MSE

  • Tốt nghiệp thủ khoa xuất sắc Thạc sĩ AI MSE.
  • Đồng sáng lập, CTO E-University, SVOnline: số hóa 10+ đại học, 40.000+ sinh viên.
  • Xây hệ thống AI cho doanh nghiệp tại VietPlatform.
Biên soạn: AIDev Team · Rà soát · Quy trình biên tập