Bài viết

Sự nghiệp

Roadmap: Từ Software Engineer đến AI Application Engineer

Lộ trình chi tiết cho dev muốn chuyển hướng AI. Từ Prompt Engineering, RAG, Agents đến Production — học gì, dùng gì, làm gì.

19/02/2026 · 12 phút đọc · Lê Huy Thái

Điểm chính
  • Lộ trình gồm 5 giai đoạn từ LLM Control → RAG → Orchestration → Agents → Production
  • Không cần học hết mới bắt đầu — xong Giai đoạn 1 là đã build được ứng dụng AI cơ bản
  • Mỗi giai đoạn mở ra một khả năng mới: kiểm soát output → nạp dữ liệu riêng → nhớ hội thoại → AI tự hành động → vận hành ổn định
  • Stack chính: OpenAI/Anthropic API, Zod, LangGraph, pgvector/Pinecone, LangSmith

Xin chào anh em — AI giờ hot quá, kéo theo nhu cầu xây dựng hệ thống tích hợp AI tăng mạnh, các vị trí và công nghệ mới xuất hiện liên tục. Hằng ngày nghe đủ thứ thuật ngữ như Agent, RAG, Tools, Flow, Context... mà chưa hiểu cụ thể chúng là gì. Bài viết này tổng hợp một lộ trình thực tế cho dev muốn chuyển hướng sang AI Application Engineer.

Nếu các chuyên gia thấy thiếu hay có lời khuyên thì cho chúng mình xin; còn nếu bạn thấy roadmap này hữu ích, hãy thoải mái tham khảo nhé.

Bức tranh tổng thể

Trước khi đi vào lộ trình học, hãy nhìn vào kiến trúc. Một ứng dụng AI không chỉ là User → Prompt → LLM → Response. Nó phức tạp hơn nhiều:

Thành phầnVai tròCông nghệ
Bộ nãoXử lý ngôn ngữ, suy luậnGPT-4, Claude, Llama...
Bộ nhớ dài hạnLưu trữ knowledge baseVector Database (RAG)
Bộ nhớ ngắn hạnQuản lý hội thoạiContext management
Tay chânGọi API, truy xuất DB, lướt webAgents, Function Calling
Dây thần kinhKết nối tất cảLangChain, LlamaIndex
  1. 01
    Giai đoạn 1 — Kiểm soát Bộ não (LLM Control & Interface)

    Đảm bảo Input chuẩn và Output dùng được trong code (không phải text rác).

  2. 02
    Giai đoạn 2 — Nạp dữ liệu ngoài (RAG)

    AI trả lời dựa trên dữ liệu riêng của bạn: file PDF, database công ty.

  3. 03
    Giai đoạn 3 — Điều phối luồng (Orchestration & Memory)

    Xây dựng ứng dụng chat phức tạp, nhớ được hội thoại.

  4. 04
    Giai đoạn 4 — Agents (AI tự hành động)

    AI không chỉ "nói", mà còn "làm" — dùng Tool để thực thi hành động thật.

  5. 05
    Giai đoạn 5 — Production & LLMOps

    Chạy ổn định, chi phí tối ưu, và biết nó sai ở đâu để sửa.

Giai đoạn 1

Giai đoạn 1: Kiểm soát "Bộ não" (LLM Control & Interface)

Mục tiêu: Đảm bảo Input chuẩn và Output dùng được trong code.

Prompt Engineering & In-Context Learning

Cái này là gì? Không phải là viết văn mẫu. Là kỹ thuật thiết kế input (prompt) sao cho AI hiểu ngữ cảnh, vai trò và format mà không cần train lại model.

Học để làm gì? Để giảm thiểu việc AI trả lời sai ("hallucination") và tăng độ chính xác cho các tác vụ suy luận logic.

  • Zero-shot — hỏi thẳng, không ví dụ
  • Few-shot — đưa kèm 2–3 ví dụ mẫu trước câu hỏi
  • Chain-of-Thought — bảo AI "hãy suy nghĩ từng bước" trước khi trả lời

Structured Output (JSON Mode & Zod)

Cái này là gì? Ép AI trả về dữ liệu tuân thủ nghiêm ngặt theo một Schema JSON định sẵn, thay vì trả về text tự do.

Quan trọng nhất Giai đoạn 1
Cầu nối với Web Dev

Code backend của bạn cần JSON.parse() chứ không thể parse một đoạn văn. Structured Output là thứ biến output của AI thành dữ liệu thực sự dùng được trong ứng dụng.

Thư viện cần học: Zod (validate schema), Vercel AI SDK (generateObject), OpenAI Function Calling.

// Dùng Zod + Vercel AI SDK để extract thông tin có cấu trúc
import { generateObject } from "ai";
import { z } from "zod";

const schema = z.object({
  name: z.string(),
  skills: z.array(z.string()),
  exp: z.number(),
});

const result = await generateObject({
  model: openai("gpt-4o"),
  schema,
  prompt: "Extract info: Nam, 5 năm kinh nghiệm React và Node",
});
// -> { name: "Nam", skills: ["React", "Node"], exp: 5 }
Giai đoạn 2

Giai đoạn 2: Nạp dữ liệu ngoài (RAG - Retrieval Augmented Generation)

Mục tiêu: AI trả lời dựa trên dữ liệu riêng của bạn (File PDF, Database công ty).

Embeddings & Vector Space

Cái này là gì? Kỹ thuật biến văn bản thành danh sách các con số (Vector). Các câu có ý nghĩa giống nhau sẽ có vector gần nhau trong không gian toán học.

Học để làm gì? Để máy tính hiểu được "ngữ nghĩa". Tìm kiếm từ khóa "Con chó" sẽ không ra "Gâu gâu", nhưng tìm kiếm Vector sẽ thấy chúng liên quan nhau.

Cách bắt đầu: Tìm hiểu khái niệm Cosine Similarity, sau đó gọi API embeddings của OpenAI để xem output trực tiếp trông như thế nào.

// Ví dụ output của embedding
const vector = await getVector("Quả táo");
// -> [0.012, -0.231, 0.88, ...] (1536 dimensions)

Tài liệu: DeepLearning.AI — Course về Embeddings.


Vector Databases (Lưu trữ trí nhớ)

Cái này là gì? Loại Database chuyên dụng để lưu và query các vector cực nhanh, thực hiện Semantic Search (tìm kiếm theo ý nghĩa) thay cho LIKE '%keyword%' trong SQL.

Vector DBLoạiPhù hợp với
pgvectorExtension PostgresĐã dùng Postgres, muốn tích hợp nhanh
PineconeSaaS (Cloud)Muốn nhanh gọn, không quản lý infra
ChromaDBLocal / Self-hostedPrototype, chạy local
Supabase VectorSaaS + pgvectorWeb Dev, thân thiện nhất
Ưu điểm
  • Tìm kiếm theo ngữ nghĩa thay vì từ khóa chính xác
  • Scale tốt với hàng triệu vector
  • Nhiều lựa chọn từ managed SaaS đến self-hosted
  • Tích hợp tốt với Postgres nếu đã dùng
Nhược điểm
  • Thêm một infrastructure mới cần quản lý
  • Chi phí tăng theo lượng vector lưu trữ
  • Cần hiểu embedding model để tối ưu chất lượng search

Chunking & Ingestion Strategy

Cái này là gì? Chiến thuật cắt nhỏ dữ liệu lớn (file PDF 100 trang) thành các miếng nhỏ (chunks) để nạp vào Vector DB.

Thư viện: LangChain.js (document loaders), LlamaIndex.TS (chuyên về xử lý data)

Ví dụ pipeline hoàn chỉnh: Upload file PDF → Tự cắt nhỏ → Tạo embedding → Lưu vào Vector DB → Sẵn sàng để chat.

Giai đoạn 3

Giai đoạn 3: Điều phối luồng (Orchestration & Memory)

Mục tiêu: Xây dựng ứng dụng chat phức tạp, nhớ được hội thoại.

Conversation Memory Management

Cái này là gì? Cơ chế lưu và nạp lại lịch sử chat vào mỗi request mới gửi lên LLM.

Học để làm gì? LLM là Stateless — không có trạng thái. Bạn phải tự quản lý việc gửi kèm "User đã nói gì trước đó", đặc biệt khi lịch sử quá dài và tràn Context Window.

Chiến lượcCách hoạt độngTrade-off
Sliding WindowChỉ giữ N tin nhắn mới nhấtĐơn giản, nhưng mất context cũ
SummarizationDùng AI tóm tắt tin cũGiữ được ý chính, tốn thêm API call
HybridKết hợp cả haiTốt nhất nhưng phức tạp hơn

Thư viện: LangGraph (Checkpointer để lưu state), Redis (lưu session chat).


Chains & Routing

Cái này là gì? Kết nối các bước xử lý tuần tự hoặc rẽ nhánh dựa trên nội dung input.

Học để làm gì? Xử lý logic phức tạp — ví dụ: nếu User hỏi về Code → gọi Model rẻ, code giỏi; nếu hỏi về Văn học → gọi model văn hay hơn.

Ví dụ routing đơn giản:

  1. User gửi Input
  2. Router phân loại câu hỏi
  3. Nếu về Code → gọi Code Model
  4. Nếu về Văn học → gọi Writing Model

Ví dụ đầu ra: Một API endpoint duy nhất xử lý đa nhiệm: vừa dịch thuật, vừa tóm tắt, vừa trích xuất dữ liệu tùy theo input.

Giai đoạn 4

Giai đoạn 4: Agents (AI tự hành động)

Mục tiêu: AI không chỉ "nói", mà còn "làm" (dùng Tool).

Tool Calling (Function Calling)

Cái này là gì? Bạn mô tả hàm sendEmail(to, body) cho AI. AI sẽ trả về JSON bảo bạn: "Hãy chạy hàm sendEmail với tham số này...". Code của bạn thực thi hàm đó và trả kết quả về.

Chuyển hoá vai trò
Từ tư vấn thành thực thi

Tool Calling biến AI từ một người tư vấn chỉ biết nói thành một trợ lý thực thi có thể gửi mail, đọc database, gọi API bên ngoài — tất cả trong một flow tự động.

Mẹo quan trọng: Viết description cho từng tool thật kỹ — AI đọc cái này để hiểu khi nào và cách dùng tool.

// Khai báo Tool cho AI
const tools = [{
  type: "function",
  function: {
    name: "sendEmail",
    description: "Gửi email cho một người dùng",
    parameters: {
      type: "object",
      properties: {
        to: { type: "string", description: "Địa chỉ email người nhận" },
        body: { type: "string", description: "Nội dung email cần gửi" },
      },
      required: ["to", "body"],
    },
  },
}];

Tài liệu: OpenAI Function Calling guide.


ReAct Pattern (Reason + Act)

Cái này là gì? Một vòng lặp tư duy: Suy nghĩ → Quyết định dùng Tool → Chờ kết quả → Quan sát → Suy nghĩ tiếp. Lặp lại cho đến khi có câu trả lời cuối cùng.

Học để làm gì? Giải quyết các bài toán cần nhiều bước — ví dụ: "Tìm giá vé máy bay, sau đó so sánh với ngân sách của tôi". AI phải tìm vé trước, có giá rồi mới so sánh được.

  1. 01
    Suy nghĩ (Reason)

    Phân tích vấn đề, xác định thông tin còn thiếu và cần làm gì tiếp theo.

  2. 02
    Hành động (Act)

    Quyết định gọi tool nào (search, read_file, call_api...) và với tham số gì.

  3. 03
    Quan sát (Observe)

    Đọc kết quả trả về từ tool. Kết quả này sẽ được đưa vào context của bước suy nghĩ tiếp theo.

  4. 04
    Kết luận (Answer)

    Trả lời user nếu đã đủ thông tin — hoặc quay lại bước 1 nếu cần thêm dữ liệu.

Framework: LangGraph — framework mạnh nhất hiện nay cho Agent, đang dần thay thế LangChain Agent cũ.

Ví dụ đầu ra: Một Agent nghiên cứu thị trường: Tự search Google, đọc 5 trang web đầu, tổng hợp thông tin và viết báo cáo markdown — tất cả tự động.

Giai đoạn 5

Giai đoạn 5: Production & LLMOps (Đưa vào thực tế)

Mục tiêu: Chạy ổn định, rẻ, và biết nó sai ở đâu.

Evaluation (Evals)

Cái này là gì? Unit Test cho AI. Làm sao biết sau khi sửa prompt, AI có trả lời kém đi không so với trước?

Học để làm gì? Đảm bảo chất lượng sản phẩm trước khi release — giống CI/CD nhưng dành cho chất lượng ngôn ngữ.

Cách học:

  • Tạo bộ "Golden Dataset" — tập câu hỏi cùng câu trả lời chuẩn do bạn kiểm duyệt thủ công.
  • Dùng "LLM-as-a-Judge" — dùng GPT-4 chấm điểm câu trả lời của model nhỏ hơn theo tiêu chí định sẵn.

Thư viện: LangSmith, PromptFoo (rất phù hợp cho Developer).


Tracing & Observability

Cái này là gì? Log lại toàn bộ "Suy nghĩ" của AI — từng bước suy luận, từng tool call, từng tham số đã dùng.

Học để làm gì? Khi AI trả lời sai, bạn cần nhìn thấy nó đã nhận context gì, đã gọi tool gì, tham số ra sao. console.log là hoàn toàn không đủ.

ToolLoạiĐiểm nổi bật
LangSmithSaaSTích hợp tốt với LangChain/LangGraph
Arize PhoenixOpen-sourceSelf-hosted, UI trực quan
HeliconeSaaSProxy-based, dễ tích hợp mọi stack

Ví dụ đầu ra: Dashboard hiển thị: User A gặp lỗi → click vào xem thấy AI đã search Google sai từ khóa → fix prompt là xong.

Tổng kết

Tổng kết: Bức tranh 5 giai đoạn

Muốn xây dựng sản phẩm AI cho doanh nghiệp?

TensorLab giúp các team kỹ thuật thiết kế và triển khai hệ thống AI — từ RAG pipeline, AI Agent đến LLMOps. Nếu bạn đang cần một đội ngũ có kinh nghiệm thực chiến để đẩy nhanh roadmap, hãy kết nối với chúng tôi.