Lộ trình 12 tháng thành AI Engineer — không cần bằng Computer Science
Sáu phase, mỗi phase ship một thứ chạy được: Python, LLM API, RAG, agent, eval và portfolio. Lộ trình cho dev muốn chuyển sang làm AI, kèm phần thị trường Việt Nam.
Muốn làm AI không cần bằng Computer Science. Cái quyết định là bạn ship được cái gì.
AI Engineer khác ML Researcher chỗ nào
ML Researcher phát minh và train model mới. Cần toán nặng, cần bằng cấp cao, và là lát rất mỏng của thị trường.
AI Engineer lấy model có sẵn (Claude, GPT, model open-source) build sản phẩm chạy được: bot support đóng được ticket, search nội bộ tìm ra câu trả lời trong mười nghìn tài liệu, agent chạy hết workflow nhiều bước không cần người canh.
Gần như toàn bộ vị trí bạn vào được mà không có bằng là loại thứ hai. Nó chấm software engineering, product sense và kỷ luật ship hàng, không chấm điểm số.
Nhắm đúng vai trò để khỏi phí ba tháng cày linear algebra chưa dùng tới.
Lộ trình 12 tháng: 6 phase, mỗi phase một sản phẩm
Quy tắc duy nhất: mỗi phase đẻ ra một thứ chạy được. Không phase nào chỉ đọc và xem tutorial.
Phase 1 (tháng 1–3): Python và Git
Bước nhiều người nhảy cóc nhất.
Ngôn ngữ là Python. Không phải sở thích — mọi thư viện và SDK trong mảng AI đều làm cho Python trước.
Mốc cần đạt: mở file trắng, viết được chương trình nhỏ không phải tra cú pháp cơ bản. Biến, kiểu dữ liệu, control flow, function, đọc ghi file, gọi API, xử lý lỗi, đọc hiểu code người khác. Học Git và đẩy hết lên GitHub từ ngày đầu — GitHub là nửa đầu của portfolio.
Toán thì đặt xuống. Cần thống kê cơ bản, không cần linear algebra và calculus để bắt đầu build với LLM. Khi nào project cần thì học.
Phải xong trong phase này
- Code mỗi ngày, kể cả 30 phút
- Năm chương trình viết từ đầu: máy tính, script dọn file, script gọi public API, script làm sạch dữ liệu, app ghi chú trên terminal
- Cả năm cái nằm public trên GitHub
Phase 2 (tháng 3–5): LLM API và tool use
Giao diện chat là sản phẩm cho người dùng cuối. AI Engineer làm việc qua API: gửi request từ code của mình, xử lý response bằng code của mình.
Request cơ bản với Claude API:
from anthropic import Anthropic
client = Anthropic() # đọc ANTHROPIC_API_KEY từ env
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
system="Bạn là trợ lý tóm tắt. Trả lời gọn, không mở bài.",
messages=[{"role": "user", "content": "Tóm tắt đoạn text sau: ..."}],
)
for block in response.content:
if block.type == "text":
print(block.text)
Cần nắm: streaming response, quản lý lịch sử hội thoại, ép format output, xử lý rate limit và lỗi. Quan trọng nhất là khác biệt giữa prompt cho ra câu trả lời "tạm được" và prompt cho ra kết quả chính xác, lặp lại được. Trong sản phẩm thật, "thường thì đúng" là bug.
Tool use (function calling) — cách model gọi hàm của bạn:
tools = [
{
"name": "get_order_status",
"description": (
"Tra trạng thái đơn hàng theo mã đơn. "
"Gọi khi user hỏi về đơn hàng, ngày giao, hoặc tình trạng vận chuyển."
),
"input_schema": {
"type": "object",
"properties": {
"order_id": {"type": "string", "description": "Mã đơn, ví dụ DH-10293"}
},
"required": ["order_id"],
},
}
]
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=16000,
tools=tools,
messages=[{"role": "user", "content": "Đơn DH-10293 tới đâu rồi?"}],
)
for block in response.content:
if block.type == "tool_use":
result = get_order_status(**block.input) # hàm của bạn, chạy phía bạn
# gửi tool_result về lại cho model để nó viết câu trả lời cuối
Chú ý description: viết rõ khi nào gọi tool, không chỉ tool làm gì. Model quyết định gọi hay không dựa trên đúng dòng đó.
Agent về bản chất là model có tool và một vòng lặp. Nắm tool use là mở khoá phase 4.
Phải xong trong phase này
- Gọi được request đầu tiên từ script Python trong giờ đầu
- Một CLI tool: dán text vào, nó làm một việc có ích
- Một chatbot có memory, nhớ được các lượt trước
- Tool use chạy đúng: model gọi hàm với tham số hợp lệ
Phase 3 (tháng 5–7): RAG, embedding và vector database
Kỹ năng giúp bạn được tuyển, vì phần lớn sản phẩm AI thật bên dưới đang chạy đúng cái này.
RAG = retrieval-augmented generation. Model chỉ biết những gì nó được train và những gì bạn đưa vào context. RAG là lấy đúng phần thông tin trong dữ liệu của bạn đặt trước mặt model, để nó trả lời chính xác về thứ chưa từng được train — tài liệu nội bộ, hướng dẫn sản phẩm, knowledge base.
Việc phải làm: cắt tài liệu thành chunk, chuyển chunk thành embedding, lưu vào vector database, truy xuất chunk liên quan nhất cho mỗi câu hỏi, đưa cho model. Kết quả là câu trả lời có dẫn nguồn thay vì câu bịa đầy tự tin.
Retrieval sai thì prompt hay cỡ nào cũng vô nghĩa. Phần lớn bug của app RAG nằm ở khâu chunk và khâu truy xuất, không nằm ở model.
Phải xong trong phase này
- Một app RAG trên bộ tài liệu thật: ghi chú của bạn, một đống PDF, hoặc một wiki
- Đo retrieval: nó lấy đúng chunk cần, hay chỉ lấy chunk gần đúng
- Deploy để người lạ vào dùng được
- Đây là portfolio project số một
Phase 4 (tháng 7–9): AI agent và xử lý tool fail
Agent nhận một mục tiêu, tự chia thành các bước, dùng tool làm từng bước, tự quyết bước tiếp theo dựa trên kết quả vừa nhận. App RAG trả lời một câu hỏi. Agent làm xong một việc.
Tool use đã học ở phase 2. Giờ đặt nó vào vòng lặp có mục tiêu, cho agent nhiều tool, và xử lý thực tế: agent chạy vòng tròn, gọi nhầm tool, hoặc kẹt cứng.
Demo agent thì dễ, agent chạy tin cậy thì khó. Khoảng cách nằm ở xử lý lỗi, thiết kế tool rõ ràng, và evaluation. Đó là ranh giới giữa kỹ sư tuyển được và người có video demo đẹp.
Phải xong trong phase này
- Một agent dùng nhiều tool hoàn thành việc nhiều bước có thật
- Một hệ multi-agent nhỏ: hai agent phối hợp hoặc kiểm tra chéo
- Xử lý lỗi tường minh: tool fail hoặc trả về rỗng thì agent làm gì
- Đây là portfolio project số hai
Phase 5 (tháng 9–11): eval, deploy và chi phí token
Phase chán nhất, và là phase khiến bạn tuyển được. Dân nghiệp dư bỏ qua đúng phase này.
Ai cũng làm được tính năng AI chạy đúng một lần. Công ty trả tiền cho thứ chạy đúng lần thứ mười nghìn.
Evaluation: dựng cách đo hệ thống có tốt không, và một thay đổi làm nó tốt lên hay tệ đi. Với tác vụ sinh văn bản, đo độ chính xác thông tin, độ liên quan, độ nhất quán so với câu trả lời tham chiếu — dùng model khác chấm điểm output, hoặc người review.
Deployment: đưa hệ thống ra khỏi laptop. Host, monitor, chịu tải, theo dõi chi phí token, bắt lỗi trước khi người dùng bắt được. Cụm này hay được gọi là MLOps; nắm cơ bản đã hơn hẳn người chỉ build được trên máy mình.
Phải xong trong phase này
- Một bộ eval cho project cũ: tập test case và cách chấm điểm
- Một project deploy tử tế, có monitoring và theo dõi chi phí
- Đây là portfolio project số ba
Phase 6 (tháng 11–12): portfolio và phỏng vấn
Không có kỹ năng kỹ thuật mới. Việc còn lại là để đúng người nhìn thấy thứ bạn đã build.
Tới đây bạn có ba project: app RAG có eval, hệ multi-agent giải quyết vấn đề có thật, hệ đã deploy có monitoring. Với phần lớn vị trí AI engineering, bộ ba đó mở được nhiều cửa hơn bằng thạc sĩ.
Viết mỗi project thành case study: vấn đề, cách tiếp cận, đo được gì, làm lại sẽ khác chỗ nào. Rồi nộp đơn đúng bậc — đường vào thực tế thường là vị trí software engineer có dùng AI trước, sau đó mới lên AI engineer thuần.
Lương ở Việt Nam: các con số 120K–200K USD/năm trôi trên mạng là thị trường Mỹ, đừng lấy làm chuẩn. Ở Việt Nam giữa 2026 mảng này còn mới, biên độ rộng, và cách định giá khác: cái nâng giá là bằng chứng bạn đưa được một hệ thống LLM ra production và giữ nó chạy, không phải chữ "AI" trong CV. Ba con số đem đi thương lượng: chi phí token mỗi request, tỷ lệ trả lời sai đo được, uptime. Người tuyển hiểu nghề sẽ hỏi đúng ba thứ đó.
Công ty chưa có vị trí AI Engineer riêng thì cửa vào không phải chờ họ mở tuyển. Gắn một tính năng LLM vào chính sản phẩm bạn đang làm — bot support, search nội bộ, bóc tách chứng từ — rồi để kết quả mở vị trí đó ra.
Phải xong trong phase này
- Một case study cho mỗi project
- Ít nhất một bài kỹ thuật mổ xẻ cách bạn build một thứ khó
- Nộp rộng, tính cả vị trí software engineer có dùng AI như bước đệm
- Phỏng vấn: nói thứ đã ship và thứ sẽ cải thiện, đừng đọc lại lý thuyết
Chỗ lộ trình này hay hỏng
Mười hai tháng chỉ đúng nếu build suốt mười hai tháng đó.
Người ra khỏi lộ trình với một công việc là người ship thứ gì đó ở mỗi phase và không cầu toàn về nó. Người kẹt lại là người mãi "chuẩn bị", không đưa cái gì ra trước mặt người dùng thật.
Còn câu hỏi AI viết code hết rồi thì học làm gì: vẫn phải có người thiết kế hệ thống, tích hợp, đánh giá output đúng sai, và quyết định build cái gì. Người điều khiển được công cụ và phán được chất lượng output của nó là người đang được trả tiền.
Bài viết liên quan
tất cả bài viết →- Hy3 của Tencent — model 295B chạy với chi phí của model 21BHy3 là model mã nguồn mở lớn nhất mà tôi thấy đáng để cắm vào quy trình làm việc hằng ngày. Ghi chép về kiến trúc, điểm số thật, và ranh giới giữa việc nên và không nên giao cho nó.đọc tiếp →
- Tối ưu PageSpeed cho WordPress — cái gì thật sự đổi trong 2026Google có thay đổi trong 2026, nhưng không phải chỗ mà phần lớn bài viết đang nói. Ghi chép về những gì thực sự khác, và thứ tự việc cần làm để website WordPress chạy nhanh.đọc tiếp →
- Một route, mười layout — kiến trúc site Next.js chạy hoàn toàn bằng MarkdownToàn bộ site này render từ đúng một file route. Ghi chép về pipeline phía sau — frontmatter chia section, computed fields, registry layout và collection.đọc tiếp →
- Nâng cấp Next.js 15 lên 16 — Turbopack, static export và ba chỗ vấpGhi chép thật từ đợt nâng cấp site này lên Next.js 16 — vì sao vẫn giữ static export cho Nginx, Turbopack khắt khe hơn webpack ở đâu, và ba lỗi ngốn nhiều giờ nhất.đọc tiếp →