# FDE Times > Tờ báo của nghề Forward Deployed Engineer: tin tức, phân tích, bách khoa, lộ trình và việc làm cho kỹ sư Việt. ## Bách khoa - [Kể dự án khi phỏng vấn FDE: cách trả lời câu hỏi “bạn đã đánh đổi gì?”](https://fdetimes.net/vi/bach-khoa/ke-lai-du-an-trong-phong-van-fde.md): Kể một đánh đổi trong phỏng vấn FDE là trình bày quyết định của mình như một trong nhiều phương án, nói rõ lý do chọn, cái giá phải trả và cách giải thích cái giá đó cho khách hàng. - [Demo prototype AI cho khách hàng: cho thấy cái đã chạy mà không hứa quá tay](https://fdetimes.net/vi/bach-khoa/demo-cho-khach-hang-khong-hua-qua-tay.md): Demo prototype trung thực là buổi trình diễn chạy trên dữ liệu thật của khách. Nó cho thấy rõ cái gì đã làm được, cái gì chưa, và con số nào có eval kiểm chứng. - [Viết MCP server Python cho một CRM giả lập: từ một file đến Claude Code](https://fdetimes.net/vi/bach-khoa/thuc-hanh-viet-mcp-server-python-cho-crm-gia-lap.md): MCP server là một chương trình cung cấp tool, resource và prompt theo Model Context Protocol, để một ứng dụng LLM như Claude Code gọi tool và đọc dữ liệu từ hệ thống bên ngoài. - [MLOps cho FDE: năm việc phải dựng xong trước khi model chạy trong hệ thống của khách](https://fdetimes.net/vi/bach-khoa/mlops-cho-fde-nguyen-tac-va-thanh-phan.md): MLOps là phần việc kỹ thuật giúp một model ML chạy ổn định trong production: quản lý phiên bản, thống nhất dữ liệu giữa lúc train và lúc chạy thật, kiểm thử pipeline, giám sát trên dữ liệu thật và train lại có kiểm soát. - [Dựng sandbox cho agent: rào file và rào mạng phải đi cùng nhau](https://fdetimes.net/vi/bach-khoa/sandbox-code-execution-va-quyen-file-system-cho-agent.md): Sandbox cho agent là lớp giới hạn đặt ở mức hệ điều hành, quyết định tiến trình của agent được đọc, ghi những file nào và được kết nối mạng tới đâu. Lớp này tách biệt với chính sách quy định khi nào agent phải hỏi người. - [Trước khi giao agent hoàn tiền: unit test từng tool, rồi integration test cả luồng](https://fdetimes.net/vi/bach-khoa/unit-test-tool-va-integration-test-luong-agent.md): Kiểm thử agent hai tầng là cách kiểm tra từng tool bằng assertion nhanh, sau đó chạy cả luồng nghiệp vụ nhiều lần và chấm theo trạng thái cuối cùng trong hệ thống. - [Trước ngày go-live, hãy tự tay tấn công trợ lý AI của khách](https://fdetimes.net/vi/bach-khoa/red-team-ung-dung-ai-truoc-khi-ra-mat.md): Red teaming trợ lý AI là việc chủ động đóng vai kẻ tấn công, đưa vào hệ thống những đầu vào đối nghịch có chủ đích để tìm cách nó bị điều khiển sai trước khi người dùng thật tìm ra. - [Viết MCP client gọi server từ xa của khách: từ mã 401 đến lệnh gọi tool đầu tiên](https://fdetimes.net/vi/bach-khoa/thuc-hanh-viet-mcp-client-ket-noi-server-tu-xa.md): MCP client qua Streamable HTTP là chương trình gửi từng thông điệp JSON-RPC bằng POST tới một endpoint duy nhất của server, kèm token OAuth, mã phiên và phiên bản giao thức trong header. - [Chunking tài liệu khách hàng: đo trước khi cắt, rồi gắn ngữ cảnh cho từng chunk](https://fdetimes.net/vi/bach-khoa/chunking-va-indexing-tai-lieu-khach-hang.md): Chunking là bước chia tài liệu thành các đoạn nhỏ để embed và đánh index, sao cho khi người dùng hỏi, hệ thống tìm lại đúng đoạn chứa câu trả lời. - [Với FDE, chữ ký trên hợp đồng thường là lúc trách nhiệm bắt đầu](https://fdetimes.net/vi/bach-khoa/vai-tro-fde-trong-vong-doi-hop-dong.md): Trách nhiệm của FDE theo vòng đời hợp đồng là những gì FDE phải giao ra ở mỗi chặng: presales (nếu công ty có giao), chốt phạm vi, đưa hệ thống vào production, rồi bàn giao cho Customer Success trước kỳ gia hạn. - [Spark cho FDE: đo dữ liệu của khách trước khi chọn cỡ cluster](https://fdetimes.net/vi/bach-khoa/spark-khi-du-lieu-khach-qua-lon.md): Đo dữ liệu trước khi dựng cluster là bước đo dung lượng, cách xếp file, kích thước bảng phụ, phân phối key và bộ nhớ thực của dữ liệu khách, sau đó so từng con số với các ngưỡng mặc định của Spark để chọn cấu hình. - [Sáu bước dựng demo React cho khách, bắt đầu từ máy chưa có Node](https://fdetimes.net/vi/bach-khoa/thuc-hanh-dung-giao-dien-noi-bo-bang-react.md): Giao diện thử nghiệm (demo UI) là một ứng dụng web nhỏ, dựng nhanh bằng React và TypeScript, để khách bấm thử một luồng thật trên dữ liệu thật trước khi cam kết làm sản phẩm. - [Kế hoạch 30-60-90 ngày cho FDE: khi mục tiêu là sáu tuần, bạn chỉ còn khoảng bốn tuần với khách](https://fdetimes.net/vi/bach-khoa/sap-thu-tu-trien-khai-30-60-90-ngay.md): Kế hoạch 30-60-90 ngày của FDE là cách xếp việc theo ba mốc tính từ ngày nhận tài khoản, để khách sớm có kết quả vận hành thật và FDE dần làm chủ tài khoản. - [Che dữ liệu cá nhân trước khi gửi lên LLM: đổi tên thành nhãn vẫn có thể chưa đủ theo luật mới](https://fdetimes.net/vi/bach-khoa/thuc-hanh-che-du-lieu-ca-nhan-truoc-khi-gui-llm.md): Khử nhận dạng là quá trình sửa hoặc xóa thông tin để tạo ra một bộ dữ liệu mới, từ đó không ai còn xác định được một con người cụ thể. Luật Bảo vệ dữ liệu cá nhân 2025 không coi dữ liệu đã qua bước này là dữ liệu cá nhân nữa. - [RAG trên tài liệu thật của khách: xử lý PDF, bảng biểu và bản scan tiếng Việt](https://fdetimes.net/vi/bach-khoa/thuc-hanh-xu-ly-pdf-va-tai-lieu-scan-cho-rag.md): RAG trên tài liệu thật là cả pipeline: parse, OCR, chunk, index rồi truy xuất trên các file lộn xộn của khách, như PDF nhiều bảng hay bản scan tiếng Việt, chứ không chỉ trên văn bản sạch. - [Viết lớp gọi API cho agent TypeScript: timeout, retry và idempotency key](https://fdetimes.net/vi/bach-khoa/thuc-hanh-agent-typescript-retry-timeout.md): Lớp gọi API an toàn cho agent là một hàm bọc fetch. Hàm này đặt timeout cho mỗi lần gọi, chỉ retry những lỗi đáng retry với backoff có jitter và ngân sách giới hạn, và gắn một idempotency key cố định cho mỗi thao tác nghiệp vụ có side effect, nhờ vậy gọi lại không bao giờ làm một việc hai lần. - [Thực hành: đưa tác vụ AI chạy lâu vào hàng đợi RabbitMQ và trả HTTP 202 ngay](https://fdetimes.net/vi/bach-khoa/thuc-hanh-hang-doi-cho-tac-vu-ai-chay-lau.md): Hàng đợi thông điệp là cách các dịch vụ giao tiếp bất đồng bộ: API đóng gói tác vụ thành message rồi gửi vào queue, worker lấy ra xử lý sau, còn client theo dõi kết quả qua một endpoint trạng thái hoặc webhook. - [Stream LLM tới giao diện: SSE trước, WebSocket khi thật cần](https://fdetimes.net/vi/bach-khoa/thuc-hanh-streaming-llm-sse-websocket.md): Streaming câu trả lời LLM là đẩy từng phần output của model tới giao diện ngay khi nó được sinh ra, qua một kênh như server-sent events (SSE), WebSocket hoặc polling, thay vì bắt người dùng chờ đến khi có trọn câu trả lời. - [Rà soát API theo OWASP API Top 10 trước khi đội bảo mật của khách vào cuộc](https://fdetimes.net/vi/bach-khoa/owasp-api-top-10-ra-soat-truoc-ban-giao.md): OWASP API Security Top 10 2023 là danh sách mười nhóm rủi ro bảo mật API, từ API1 Broken Object Level Authorization đến API10 Unsafe Consumption of APIs, thường được dùng làm checklist khi rà soát. - [Đừng để job đồng bộ của bạn khiến khách khóa API key](https://fdetimes.net/vi/bach-khoa/thuc-hanh-rate-limit-va-api-gateway.md): Rate limiting là cơ chế kiểm soát số thao tác được thực hiện trong một khoảng thời gian, để hệ thống không bị quá tải dẫn đến suy giảm hiệu năng. - [RBAC, ABAC, ReBAC hay PBAC: đưa mô hình phân quyền của khách vào ứng dụng AI](https://fdetimes.net/vi/bach-khoa/rbac-abac-rebac-mo-hinh-phan-quyen-cua-khach.md): Mô hình phân quyền là cách hệ thống quyết định ai được làm gì với tài nguyên nào: dựa trên vai trò (RBAC), thuộc tính (ABAC), quan hệ giữa các thực thể (ReBAC) hay luật khai báo tập trung trong một policy engine (PBAC). - [API key, Basic Auth, session, JWT hay OIDC: cách đọc đúng cơ chế xác thực ở hệ thống khách hàng](https://fdetimes.net/vi/bach-khoa/api-key-jwt-session-oidc-xac-thuc-he-thong-khach.md): Cơ chế xác thực là cách một hệ thống xác định ai đang gửi request. Muốn hiểu nó, cần trả lời được ba câu: credential nằm ở đâu, server có phải lưu trạng thái hay không, và bên nào đứng ra bảo đảm danh tính người dùng. - [Kéo một triệu bản ghi qua API phân trang của khách hàng mà không mất dòng nào](https://fdetimes.net/vi/bach-khoa/thuc-hanh-keo-du-lieu-lon-qua-api-phan-trang.md): Phân trang API là cách server chia một tập dữ liệu lớn thành nhiều lần trả về nhỏ. Client đi từ trang này sang trang sau bằng offset (vị trí), cursor (con trỏ do server cấp) hoặc keyset (giá trị lọc lấy từ trang trước). - [Thiết kế phản hồi lỗi theo RFC 9457 để đội vận hành của khách tự xử lý sự cố](https://fdetimes.net/vi/bach-khoa/loi-api-rfc-7807-va-hop-dong-loi.md): Problem Details (RFC 9457, bản thay thế RFC 7807) là định dạng JSON chuẩn cho phản hồi lỗi của HTTP API. Định dạng này dùng media type application/problem+json và các trường type, title, detail, instance để mô tả lỗi cho cả người lẫn máy. - [Demo chạy tốt ở nhà nhưng hỏng trong mạng khách: cách dò lỗi từ DNS, qua proxy, đến CORS và cookie](https://fdetimes.net/vi/bach-khoa/http-dns-tcp-khi-tich-hop-trong-mang-khach.md): Debug tích hợp trong mạng khách là đi lần lượt qua từng tầng mà một request phải vượt qua: phân giải tên miền, đường kết nối qua proxy và firewall, mã trạng thái HTTP và luật của trình duyệt về CORS và cookie, để xác định đúng chỗ request bị chặn. - [Edge AI ở nhà máy và cửa hàng: chọn TensorRT, LiteRT hay ExecuTorch](https://fdetimes.net/vi/bach-khoa/edge-ai-jetson-tflite-pytorch-mobile.md): Edge AI là cách chạy model AI ngay trên thiết bị đặt tại hiện trường, như camera ở dây chuyền hay máy ở quầy bán hàng, thay vì gửi dữ liệu về trung tâm dữ liệu đám mây để xử lý. - [Data lineage: lần ngược từng chặng khi khách báo dự đoán sai](https://fdetimes.net/vi/bach-khoa/data-lineage-truy-nguon-khi-so-lieu-sai.md): Data lineage là việc theo dõi dòng chảy của dữ liệu theo thời gian: dữ liệu bắt nguồn từ đâu, đã bị biến đổi thế nào và cuối cùng nằm ở đâu. - [Model sai mà không báo lỗi: tự dựng hệ thống bắt data drift bằng Prometheus và Grafana](https://fdetimes.net/vi/bach-khoa/giam-sat-model-va-data-drift-voi-prometheus-grafana.md): Data drift xảy ra khi phân bố dữ liệu production khác đáng kể so với dữ liệu dùng để huấn luyện model. - [Từ notebook đến API trong hạ tầng khách: huấn luyện model scikit-learn, lưu an toàn và đóng container](https://fdetimes.net/vi/bach-khoa/thuc-hanh-dong-goi-model-sklearn-pytorch-thanh-api.md): Huấn luyện model là quá trình "dạy" một model machine learning tối ưu hiệu năng trên tập dữ liệu huấn luyện. Đưa model thành API dự đoán nghĩa là đóng gói model đã huấn luyện vào một service nhận request và trả về kết quả, chạy được trên hạ tầng của người khác. - [Thực hành DVC: mỗi lần khách gửi dữ liệu mới là một commit truy ngược được](https://fdetimes.net/vi/bach-khoa/dvc-version-du-lieu-va-model-cua-khach.md): DVC là công cụ quản lý version cho dữ liệu và model theo kiểu Git: file lớn nằm ở kho lưu trữ riêng, còn Git chỉ giữ một file metadata nhỏ chứa hash để biết đang dùng phiên bản nào. - [Dựng CI/CD cho model ML với CML: đăng so sánh metric vào mỗi pull request](https://fdetimes.net/vi/bach-khoa/ci-cd-cho-model-ml-voi-cml.md): CML (Continuous Machine Learning) là công cụ đưa CI/CD vào dự án machine learning: mỗi pull request tự động huấn luyện, đánh giá model và đăng báo cáo metric, biểu đồ thành comment. - [ML cổ điển hay deep learning: chọn theo dạng dữ liệu của khách, đừng chọn theo mốt](https://fdetimes.net/vi/bach-khoa/ml-co-dien-hay-deep-learning-cho-du-lieu-khach.md): Chọn cách tiếp cận mô hình là quyết định dùng ML cổ điển (như mô hình dựa trên cây, cần đặc trưng do người thiết kế) hay deep learning (mạng nơ-ron học từ dữ liệu thô), dựa trên dạng dữ liệu, lượng dữ liệu, nhu cầu giải thích và hạ tầng của khách. - [Thực hành: chọn ngưỡng cho model theo giá của từng lỗi, bỏ thói quen dùng 0.5](https://fdetimes.net/vi/bach-khoa/chon-metric-danh-gia-model-theo-chi-phi-nghiep-vu.md): Đánh giá model theo chi phí sai lầm là gán cho mỗi loại lỗi (false positive, false negative) cái giá mà khách thực sự phải trả, rồi chọn metric và ngưỡng quyết định để tổng chi phí đó thấp nhất. - [Ước tính chi phí token trước khi ký hợp đồng: đếm tiếng Việt bằng đúng tokenizer](https://fdetimes.net/vi/bach-khoa/uoc-tinh-chi-phi-token-truoc-khi-ky-hop-dong.md): Ước tính chi phí token là việc đếm số token đầu vào và đầu ra trên dữ liệu mẫu của khách bằng đúng tokenizer của model sẽ dùng, nhân với lưu lượng dự kiến rồi áp đúng tầng giá đang có hiệu lực vào ngày báo giá. - [Thực hành nén context: giữ agent chạy phiên dài mà không quên việc đang làm](https://fdetimes.net/vi/bach-khoa/nen-lich-su-hoi-thoai-cho-agent-chay-dai.md): Compaction là kỹ thuật tóm tắt một cuộc hội thoại sắp chạm giới hạn context window, rồi cho agent chạy tiếp từ bản tóm tắt đó để nó làm được những việc kéo dài. - [Thực hành agentic RAG: cho agent tự viết lại truy vấn và từ chối trả lời khi thiếu bằng chứng](https://fdetimes.net/vi/bach-khoa/agentic-rag-truy-van-lai-va-kiem-bang-chung.md): Agentic RAG là cách tổ chức RAG trong đó việc truy xuất trở thành một quyết định của agent: agent chọn có tìm hay không, chấm xem tài liệu tìm được có liên quan không, rồi chọn trả lời hay viết lại truy vấn và tìm lại. - [Theo dõi agent trong production bằng bốn con số: tỷ lệ hoàn thành, lỗi tool, số bước và tỷ lệ chuyển cho người](https://fdetimes.net/vi/bach-khoa/chi-so-van-hanh-cho-agent-production.md): Theo dõi agent trong production là ghi lại mỗi lần agent chạy dưới dạng log có cấu trúc, rồi đo trên ba tầng vận hành, hành vi và kết quả để biết agent có làm xong việc thật hay không. - [Dựng agent xử lý hồ sơ nhiều bước bằng planner-executor, DAG và vòng tự phản biện](https://fdetimes.net/vi/bach-khoa/planner-executor-va-self-critique.md): Planner-executor là kiến trúc agent trong đó một LLM lập sẵn kế hoạch nhiều bước, còn executor thực hiện từng bước bằng tool, sau đó agent quyết định kết thúc hay lập lại kế hoạch. - [Dựng agent text-to-SQL trên kho dữ liệu của khách: viết định nghĩa trước, viết prompt sau](https://fdetimes.net/vi/bach-khoa/agent-text-to-sql-tren-kho-du-lieu-cua-khach.md): Agent text-to-SQL là hệ thống nhận câu hỏi bằng ngôn ngữ tự nhiên, dịch nó thành câu SQL, chạy trên database rồi trả kết quả, để người không biết SQL vẫn tự phân tích được dữ liệu. - [Thực hành: dựng cổng duyệt qua Slack trước khi agent hoàn tiền hay gửi email](https://fdetimes.net/vi/bach-khoa/human-in-the-loop-qua-slack-email.md): Human-in-the-loop approval là cơ chế bắt agent dừng trước một hành động có hậu quả, gửi đầy đủ chi tiết cho người có thẩm quyền, rồi chỉ thực thi, sửa hoặc huỷ khi người đó đã quyết định. - [Agent đọc web cho khách hàng: chọn crawler, giữ nguồn và đừng coi robots.txt là giấy phép](https://fdetimes.net/vi/bach-khoa/agent-tim-kiem-web-va-crawl-tai-lieu.md): Agent tìm kiếm web và crawl tài liệu là hệ thống tự tìm, tải và rút gọn nội dung từ internet để LLM trả lời câu hỏi, kèm theo nguồn có thể kiểm chứng. - [Khi nào agent phải dừng: bốn lớp chặn và lúc bàn giao cho con người](https://fdetimes.net/vi/bach-khoa/dieu-kien-dung-cua-agent.md): Điều kiện dừng của agent là những quy tắc buộc vòng lặp suy nghĩ–hành động kết thúc: khi đã đạt mục tiêu, khi chạm giới hạn bước, ngân sách hay thời gian, hoặc khi cần con người duyệt. - [Viết tool definition cho API của khách: sáu bước để model chọn đúng tool và điền đúng tham số](https://fdetimes.net/vi/bach-khoa/thiet-ke-tool-definition-cho-api-cua-khach.md): Tool definition là bản mô tả một hàm mà bạn đưa cho LLM, gồm tên, phần mô tả bằng chữ và schema các tham số, để model biết khi nào nên gọi hàm và cần truyền những đối số gì. - [Thực hành LLM-as-judge: hiệu chỉnh judge theo nhãn pass/fail của chuyên gia phía khách](https://fdetimes.net/vi/bach-khoa/llm-as-judge-hieu-chinh-voi-nhan-xet-nguoi.md): LLM-as-judge là cách dùng một mô hình ngôn ngữ để chấm đầu ra của một hệ thống AI khác theo rubric. Judge chỉ đáng tin khi kết quả chấm của nó đã được đối chiếu và hiệu chỉnh với nhãn do chuyên gia gán. - [Trợ lý AI của khách có đối xử khác nhau với từng nhóm người? Cách kiểm bằng phép thử hoán đổi](https://fdetimes.net/vi/bach-khoa/thien-lech-va-cong-bang-trong-ai-cua-khach.md): Thiên lệch trong trợ lý AI là khi hệ thống cho kết quả khác nhau một cách có hệ thống giữa các nhóm người dùng có hoàn cảnh tương đương, chỉ vì đặc điểm nhân khẩu học hoặc những biến đại diện cho đặc điểm đó. - [Biến ghi âm tổng đài tiếng Việt thành bản tóm tắt cuộc gọi](https://fdetimes.net/vi/bach-khoa/speech-to-text-tieng-viet-cho-tong-dai.md): Pipeline speech-to-text cho tổng đài là chuỗi bước biến file ghi âm cuộc gọi thành bản chép lời nguyên văn, có thể chỉnh sửa, gắn đúng người nói, rồi rút gọn thành một bản tóm tắt dùng được cho call analytics. - [Đọc model card trước khi chọn Qwen, Llama, Gemma hay Mistral cho dự án tiếng Việt](https://fdetimes.net/vi/bach-khoa/chon-model-open-weight-tren-hugging-face.md): Model card là file README.md của một model repo trên Hugging Face, gồm một khối metadata YAML ở đầu (license, language, datasets, base_model) và phần Markdown mô tả mục đích sử dụng, giới hạn, dữ liệu huấn luyện và kết quả đánh giá. - [Đọc ảnh hiện trường, biểu mẫu viết tay và video của khách bằng vision model: hướng dẫn từng bước](https://fdetimes.net/vi/bach-khoa/vision-model-cho-anh-va-video-cua-khach.md): Vision Language Model (VLM) là loại model hiểu và xử lý được cả hình ảnh lẫn văn bản, nên có thể đọc ảnh, biểu mẫu chụp lại hoặc video rồi trả lời bằng chữ. - [Thực hành LoRA: dạy một model nhỏ phân loại ticket hỗ trợ mà không sửa trọng số gốc](https://fdetimes.net/vi/bach-khoa/thuc-hanh-fine-tune-lora-model-nho.md): LoRA (Low-Rank Adaptation) là cách fine-tune giữ nguyên trọng số của model đã pre-train, chỉ học phần cập nhật được biểu diễn bằng hai ma trận hạng thấp, nhờ đó số tham số phải huấn luyện giảm rất mạnh. - [Gọi thẳng API Claude và OpenAI: tự viết vòng tool use, rồi đối chiếu với Gemini](https://fdetimes.net/vi/bach-khoa/goi-truc-tiep-api-claude-openai-gemini.md): Gọi trực tiếp LLM API là gửi request tới endpoint của nhà cung cấp, bằng HTTP thô hoặc SDK chính thức, rồi tự quản lý lịch sử hội thoại, luồng streaming và vòng thực thi tool thay vì để framework làm hộ. - [Guardrails cho ứng dụng LLM của khách: chặn đầu vào, khóa đầu ra, thêm moderation](https://fdetimes.net/vi/bach-khoa/guardrails-loc-dau-vao-dau-ra.md): Guardrails là các lớp kiểm soát đặt quanh một mô hình ngôn ngữ: lọc những gì đi vào, giới hạn những gì mô hình được làm và ràng buộc những gì nó được phép trả ra. - [Zero-shot, few-shot, CoT hay ReAct: thử cả bốn trên một bộ ticket để biết lúc nào cần kỹ thuật nặng hơn](https://fdetimes.net/vi/bach-khoa/ky-thuat-prompt-thuc-su-huu-ich.md): Zero-shot, few-shot, chain-of-thought (CoT) và ReAct là bốn cách viết prompt, đi từ đơn giản đến phức tạp: không kèm ví dụ, kèm ví dụ mẫu, yêu cầu model suy luận từng bước, và cho model xen kẽ suy luận với gọi tool. - [Thực hành RAG phân quyền: lọc tài liệu theo phòng ban trước khi tới tay model](https://fdetimes.net/vi/bach-khoa/rag-loc-theo-quyen-nguoi-dung.md): RAG có bộ lọc động là cách truy xuất trong đó tập tài liệu được tìm kiếm bị thu hẹp ngay lúc truy vấn theo thuộc tính của người hỏi, như phòng ban, vai trò hay mức nhạy cảm của dữ liệu. - [Hybrid search và rerank: dựng pipeline RAG tìm đúng số hợp đồng, mã sản phẩm](https://fdetimes.net/vi/bach-khoa/hybrid-search-va-rerank.md): Hybrid search là cách chạy song song tìm kiếm theo từ khóa (như BM25) và tìm kiếm theo vector ngữ nghĩa, rồi gộp hai danh sách kết quả thành một, thường bằng rank fusion, trước khi rerank và chuyển cho mô hình. - [Chọn embedding model cho dữ liệu tiếng Việt: dựng bộ test 50 câu hỏi trước khi tin leaderboard](https://fdetimes.net/vi/bach-khoa/chon-embedding-model-cho-tieng-viet.md): Bộ test embedding là một tập nhỏ gồm câu hỏi thật kèm đáp án tài liệu đúng, lấy từ dữ liệu của chính khách hàng, dùng để chấm các model ứng viên trong cùng một điều kiện. - [Context engineering: chọn phần dữ liệu khách hàng mà model được thấy](https://fdetimes.net/vi/bach-khoa/context-engineering-cho-fde.md): Context engineering là việc thiết kế và liên tục chọn lọc tập token mà model nhìn thấy ở mỗi bước, gồm chỉ dẫn, dữ liệu, bộ nhớ và kết quả tool, sao cho model có đúng thông tin nó cần cho bước tiếp theo. - [Từ solutions engineer sang FDE: viết lại một PoC đến chuẩn production](https://fdetimes.net/vi/bach-khoa/tu-consultant-solutions-engineer-sang-fde.md): Lấp khoảng trống code production là học cách đưa code từ chỗ chỉ chứng minh một ý tưởng thành code chạy ổn trong môi trường thật của khách hàng, rồi tự vận hành và chịu trách nhiệm về kết quả của nó. - [Từ data scientist sang FDE: giữ tư duy debug, học làm chủ cả hệ thống](https://fdetimes.net/vi/bach-khoa/tu-data-scientist-ml-engineer-sang-fde.md): Chuyển từ data scientist hoặc ML engineer sang FDE là giữ lại nền tảng ML và tư duy debug, rồi học thêm cách tách nhỏ bài toán mơ hồ của khách hàng, viết code production và tự chịu trách nhiệm một deployment từ đầu đến cuối. - [Viết design doc để đội kỹ thuật của khách duyệt trước khi bạn code](https://fdetimes.net/vi/bach-khoa/thuc-hanh-viet-design-doc-gui-khach-duyet.md): Design doc là một tài liệu khá thoải mái về hình thức, viết trước khi code, trình bày chiến lược ở mức cao và các trade-off của một giải pháp để người khác góp ý và đi đến đồng thuận. - [Báo cáo tuần cho khách: một trang, ba câu hỏi, và mục quyết định giúp dự án hết treo](https://fdetimes.net/vi/bach-khoa/thuc-hanh-viet-bao-cao-tien-do-hang-tuan-cho-khach.md): Báo cáo tiến độ hằng tuần là một văn bản dài một trang, giữ cùng một khung mỗi tuần, cho khách biết đã đạt được kết quả gì, rủi ro nào đang lớn dần và họ cần quyết định gì trước hạn nào. - [Hiểu kinh doanh cho FDE: lần theo dòng tiền trước khi viết dòng code đầu tiên](https://fdetimes.net/vi/bach-khoa/business-acumen-hieu-khach-kiem-tien-the-nao.md): Hiểu kinh doanh, với một FDE, là biết dự án mình làm thay đổi con số nào trong báo cáo lãi lỗ của khách, ngân sách trả cho nó nằm ở đơn vị nào và ai có quyền duyệt hay cắt khoản chi đó. - [Thực hành: vẽ quy trình thật của khách trước khi để AI tự động hoá nó](https://fdetimes.net/vi/bach-khoa/thuc-hanh-ve-quy-trinh-nghiep-vu-truoc-khi-tu-dong-hoa.md): Bản đồ quy trình as-is là sơ đồ mô tả công việc đang thật sự diễn ra ở khách hàng, gồm cả bước thủ công, email ngầm, vòng làm lại và điểm chờ, chứ không phải quy trình ghi trong tài liệu. - [Debug máy chủ Linux của khách qua bastion: một dòng ssh -J và ba lệnh đầu tiên cần gõ](https://fdetimes.net/vi/bach-khoa/thuc-hanh-debug-tren-may-chu-linux-cua-khach.md): Debug qua bastion là cách đi vào máy chủ nội bộ của khách thông qua một máy trung gian (bastion, hay jump host) bằng SSH, rồi chẩn đoán sự cố chỉ bằng các lệnh có sẵn trên hệ điều hành. - [Git khi code nằm trong repo của khách: danh tính, remote, credential và luật review](https://fdetimes.net/vi/bach-khoa/git-khi-code-nam-trong-repo-cua-khach.md): Git ở site khách là cách một FDE cấu hình danh tính, remote, credential và quy trình review để làm việc an toàn trong repo do khách sở hữu, thường nằm trên GitLab nội bộ của họ. - [Máy chủ của khách không có internet thì pipeline phải kết thúc bằng một file tar](https://fdetimes.net/vi/bach-khoa/thuc-hanh-ci-cd-trien-khai-vao-moi-truong-khach.md): CI/CD là tập hợp các thực hành tự động hoá vòng phát triển, kiểm thử và bàn giao phần mềm; trong môi trường air-gapped, khâu “delivery” kết thúc bằng một gói image được mang vào mạng cách ly rồi nạp lại bên trong mạng của khách. - [Bedrock, Azure OpenAI, Vertex AI: đưa mô hình vào đúng đám mây của khách](https://fdetimes.net/vi/bach-khoa/aws-azure-gcp-cho-fde.md): Dịch vụ AI được quản lý trên đám mây (Amazon Bedrock, Azure OpenAI trong Microsoft Foundry, Vertex AI nay là Gemini Enterprise Agent Platform) cho phép doanh nghiệp gọi foundation model ngay trong tài khoản cloud của mình, với quyền truy cập và vùng dữ liệu do chính họ kiểm soát. - [Dự án tổng hợp: ứng dụng hỏi đáp tự ghi trace và đếm token cho từng câu hỏi](https://fdetimes.net/vi/bach-khoa/thuc-hanh-ung-dung-ai-tron-goi-co-observability.md): LLM observability là việc thu thập dữ liệu theo thời gian thực từ ứng dụng LLM, gồm metrics, trace và log, để biết ứng dụng đang chạy ra sao và tốn bao nhiêu. - [Pipeline Airflow hằng đêm cho trợ lý AI: chạy lại vẫn không hỏng](https://fdetimes.net/vi/bach-khoa/thuc-hanh-pipeline-du-lieu-hang-dem-bang-airflow.md): Pipeline đồng bộ hằng đêm là một DAG trong Airflow, gồm các task được scheduler kích hoạt theo lịch để kéo dữ liệu mới từ hệ thống nguồn, nạp vào kho và làm mới nguồn tri thức mà trợ lý AI đọc. - [Lần đầu vào database của khách hàng: đọc schema, truy vấn trên bản sao và khoá phiên chỉ đọc](https://fdetimes.net/vi/bach-khoa/postgresql-va-nosql-o-khach-hang.md): Truy vấn an toàn ở khách hàng là cách khám phá schema và dữ liệu thật trên bản sao chỉ đọc, trong một phiên có giới hạn thời gian, khoá và transaction, để công việc của FDE không ảnh hưởng tới hệ thống production. - [Đọc codebase Java, Go hay Node.js của khách khi bạn chỉ quen Python](https://fdetimes.net/vi/bach-khoa/doc-code-backend-java-go-nodejs-cua-khach.md): Đọc nhanh codebase lạ là kỹ năng tìm ra manifest, entry point và handler API của một dự án viết bằng ngôn ngữ mình không quen, rồi lần theo một request để hiểu hệ thống thực sự làm gì. - [Thiết kế API cho giải pháp bàn giao: viết hợp đồng trước, viết code sau](https://fdetimes.net/vi/bach-khoa/thiet-ke-api-cho-giai-phap-trien-khai.md): Hợp đồng dữ liệu của một API là bản mô tả chính thức về tài nguyên, trường, kiểu dữ liệu và hành vi mà phần mềm của bạn cam kết với phần mềm bên kia. Bản này được viết trước khi code và chỉ được thay đổi theo luật versioning mà hai bên đã thống nhất. - [Prompt injection khi agent có quyền gọi vào hệ thống của khách: lập mô hình đe doạ và chặn theo từng lớp](https://fdetimes.net/vi/bach-khoa/prompt-injection-khi-agent-co-quyen-goi-he-thong.md): Prompt injection là lỗ hổng xảy ra khi nội dung đưa vào mô hình, do người dùng gõ hoặc nằm trong file và website bên ngoài, làm thay đổi hành vi hay đầu ra của LLM theo cách không ai dự định. - [Thực hành: dựng vLLM trong VPC của khách mà không để lộ cổng nội bộ](https://fdetimes.net/vi/bach-khoa/thuc-hanh-tu-host-model-open-weight-bang-vllm.md): Tự host model open-weight bằng vLLM là chạy server suy luận vLLM trên hạ tầng do khách kiểm soát, cung cấp API tương thích kiểu OpenAI cho ứng dụng nội bộ để dữ liệu không phải ra khỏi mạng của khách. - [Thực hành: dựng eval hồi quy bằng promptfoo trong GitHub Actions, tự chạy mỗi khi đổi prompt](https://fdetimes.net/vi/bach-khoa/thuc-hanh-eval-hoi-quy-trong-ci.md): Eval hồi quy cho LLM là bộ kiểm thử chạy lại trên một golden dataset sau mỗi lần đổi prompt hoặc model, để xác nhận thay đổi cải thiện hệ thống mà không làm hỏng những gì từng chạy đúng. - [Bộ nhớ của agent: ba tầng lưu trữ, mỗi tầng một lịch xoá riêng](https://fdetimes.net/vi/bach-khoa/bo-nho-va-trang-thai-cua-agent.md): Bộ nhớ của agent là các tầng lưu trạng thái, từ context window của một phiên đến database dài hạn dùng chung giữa các phiên, và mỗi tầng có cách ghi, cách truy xuất, cách xoá riêng. - [Tự viết vòng lặp agent bằng Python, không dùng framework: một tool, một vòng for, bốn chỗ hay sai](https://fdetimes.net/vi/bach-khoa/thuc-hanh-tu-viet-vong-lap-agent-bang-python.md): Vòng lặp agent là đoạn code gọi LLM, đọc yêu cầu dùng tool trong câu trả lời, tự chạy tool đó rồi gửi kết quả lại cho model. Vòng này lặp lại cho đến khi model không cần thêm tool hoặc chạm điều kiện dừng. - [Biến SOP của khách thành prompt: viết bộ test trước, viết prompt sau](https://fdetimes.net/vi/bach-khoa/thuc-hanh-viet-prompt-tu-quy-trinh-nghiep-vu-cua-khach.md): Chuyển SOP thành prompt là viết lại quy trình vận hành chuẩn của khách thành chỉ dẫn cho model, gồm vai trò, các bước đánh số kèm lý do, ví dụ lấy từ ca thật và một bộ eval để đo mức độ ổn định. - [LLM căn bản cho FDE: token, context window, temperature và lý do model “bịa”](https://fdetimes.net/vi/bach-khoa/llm-can-ban-cho-fde-token-context-sampling.md): Context window là toàn bộ văn bản mà model có thể tham chiếu khi sinh câu trả lời, gồm system prompt, tin nhắn, kết quả tool, tài liệu, định nghĩa tool và cả chính câu trả lời. Đây là bộ nhớ làm việc của model, không phải dữ liệu huấn luyện. - [Thực hành: đo retrieval của RAG bằng hit rate và MRR trước khi khách hàng tự phát hiện lỗi](https://fdetimes.net/vi/bach-khoa/thuc-hanh-danh-gia-retrieval-hit-rate-mrr.md): Hit rate@k là tỷ lệ câu hỏi có ít nhất một đoạn văn liên quan lọt vào top k kết quả; MRR là trung bình của 1/thứ hạng của đoạn liên quan đầu tiên trên toàn bộ câu hỏi. - [Nâng tự chủ cho agent từng bậc, rồi bàn giao quyền giám sát cho đội vận hành của khách](https://fdetimes.net/vi/bach-khoa/muc-tu-chu-cua-agent-va-ban-giao-van-hanh.md): Nâng dần mức tự chủ (graduated autonomy) là trao cho agent quyền tự thực thi từng nhóm hành động theo mức rủi ro. Mỗi lần nâng bậc phải dựa trên bằng chứng bậc trước đã chạy ổn, và cuối cùng vai trò giám sát được chuyển sang đội vận hành của khách. - [Khi ERP không có API tử tế: cách FDE tích hợp mà không kéo theo cả hệ thống cũ](https://fdetimes.net/vi/bach-khoa/tich-hop-he-thong-cu-erp-api-te.md): Tích hợp với hệ thống cũ là việc đọc và ghi dữ liệu vào một ERP hoặc ứng dụng không thể sửa. Cách làm bền là đặt một lớp dịch (anti-corruption layer) ở giữa, để mô hình dữ liệu cũ không lan sang code mới. - [Đề bài khách đưa hiếm khi là đề bài thật: cách FDE làm rõ yêu cầu trước khi viết code](https://fdetimes.net/vi/bach-khoa/bien-de-bai-mo-ho-thanh-ke-hoach.md): Discovery là quá trình FDE coi yêu cầu khách nói ra như một giả thuyết, rồi phỏng vấn, tổng hợp và kiểm chứng để tìm ra vấn đề thật trước khi viết spec. - [SAML, SCIM và bảng câu hỏi bảo mật: những ràng buộc FDE gặp từ hợp đồng doanh nghiệp đầu tiên](https://fdetimes.net/vi/bach-khoa/sso-saml-iam-trong-du-an-fde.md): SSO doanh nghiệp là cách để nhân viên của khách đăng nhập vào ứng dụng bằng tài khoản công ty qua identity provider (IdP) như Okta hay Entra ID. SAML lo phần đăng nhập, còn SCIM lo việc tạo, cập nhật và vô hiệu hóa tài khoản. - [Workflow hay agent: chọn mẫu thiết kế nào khi khách nói "chúng tôi muốn một agent"](https://fdetimes.net/vi/bach-khoa/workflow-hay-agent-chon-mau-thiet-ke.md): Workflow là hệ thống mà LLM và công cụ chạy theo đường code định sẵn; agent là hệ thống mà LLM tự quyết định quy trình và cách dùng công cụ để hoàn thành việc. - [Debug khi không được vào production của khách: tìm lỗi bằng log, mẫu dữ liệu và bản tái hiện](https://fdetimes.net/vi/bach-khoa/debug-he-thong-tai-khach-hang-khong-co-quyen-production.md): Debug không có quyền vào production là cách tìm nguyên nhân lỗi khi chỉ có log, một ít mẫu dữ liệu và khả năng tự dựng lại lỗi bên ngoài môi trường của khách hàng. - [Thực hành: viết bộ eval 50 mẫu cho trợ lý hỏi đáp bằng Python](https://fdetimes.net/vi/bach-khoa/viet-bo-eval-50-mau-cho-tro-ly-hoi-dap-bang-python.md): Bộ eval là tập câu hỏi có tiêu chí chấm rõ ràng, chạy lặp lại được, dùng để đo xem một hệ thống AI có làm đúng việc được giao hay không sau mỗi lần thay đổi. - [Từ bản vá cho một khách đến tính năng chung: FDE phản hồi cho đội product thế nào](https://fdetimes.net/vi/bach-khoa/tu-giai-phap-mot-khach-den-tinh-nang-san-pham.md): Vòng phản hồi field-to-product là quy trình FDE ghi lại những gì quan sát và xây dựng ở môi trường khách, kèm bằng chứng và bối cảnh, để đội core product quyết định có tổng quát hóa thành tính năng cho mọi khách hay không. - [Dẫn dắt kỹ thuật tại khách hàng khi không ai báo cáo cho bạn](https://fdetimes.net/vi/bach-khoa/dan-dat-ky-thuat-tai-khach-hang.md): Dẫn dắt khi không có quyền hạn là khả năng khiến người khác chọn một hướng kỹ thuật nhờ uy tín, cách giao tiếp và quyền được người bảo trợ cho mượn, chứ không nhờ chức danh. - [Sự cố production tại khách hàng: phân vai trước, sửa sau, viết postmortem để không lặp lại](https://fdetimes.net/vi/bach-khoa/su-co-production-tai-khach-hang-postmortem.md): Xử lý sự cố production là quy trình đi từ lúc tuyên bố sự cố, phân vai và giảm thiểu thiệt hại, đến lúc viết postmortem ghi lại tác động, các hành động đã làm và những thay đổi để sự cố không lặp lại. - [API và webhook cho FDE: viết tích hợp như thể mọi thứ sẽ được gửi hai lần](https://fdetimes.net/vi/bach-khoa/api-va-tich-hop.md): Tích hợp hệ thống doanh nghiệp là việc nối phần mềm của bạn với hệ thống của khách hàng và bên thứ ba qua API (bạn chủ động gọi) và webhook (họ chủ động gọi bạn), sao cho dữ liệu vẫn đúng khi mạng chập chờn, request bị gửi lặp hoặc đến sai thứ tự. - [Python và SQL cho FDE: đếm khóa, kiểm tra JOIN rồi mới tin số liệu](https://fdetimes.net/vi/bach-khoa/python-cho-fde.md): Nền tảng Python và SQL tối thiểu của FDE là khả năng dùng SQL để kiểm tra xem dữ liệu của khách hàng có đáng tin không, rồi dùng Python để lấy dữ liệu ra, xử lý lại và viết các phép kiểm tra thành code tự chạy mỗi lần dữ liệu thay đổi. - [Một deployment, bốn kiểu người nghe: FDE làm việc với kỹ thuật, nghiệp vụ và lãnh đạo khách hàng thế nào](https://fdetimes.net/vi/bach-khoa/giao-tiep-voi-stakeholder.md): Quản lý stakeholder phía khách hàng là việc vừa giữ quan hệ với lãnh đạo, những người ra quyết định, vừa giữ cho đội kỹ thuật, đội nghiệp vụ và người dùng tuyến đầu cùng hướng về một mục tiêu đo được. - [Viết tài liệu bàn giao để khách tự vận hành mà không cần gọi lại FDE](https://fdetimes.net/vi/bach-khoa/tai-lieu-ban-giao.md): Tài liệu bàn giao là bộ văn bản giúp đội phía khách hàng tự vận hành, sửa lỗi và phát triển tiếp những gì FDE đã xây mà không phải hỏi lại người xây. - [Từ POC lên production: vì sao nhiều dự án AI dừng lại ở buổi demo](https://fdetimes.net/vi/bach-khoa/tu-poc-len-production.md): Khoảng cách POC–production là phần việc nằm giữa một bản demo chứng minh mô hình làm được việc và một hệ thống chạy hằng ngày trên dữ liệu thật, gắn vào quy trình thật của khách hàng. - [Đo ROI cho khách hàng: đếm việc đạt chuẩn, trừ công kiểm tra và sửa lỗi](https://fdetimes.net/vi/bach-khoa/do-roi-cho-khach-hang.md): ROI của một dự án triển khai là phần giá trị kinh doanh đo được sau khi đã trừ toàn bộ chi phí, kể cả công kiểm tra và sửa lỗi, so với một baseline đo trước khi hệ thống chạy. - [Chốt phạm vi dự án FDE: ba phép thử tách scope creep khỏi discovery](https://fdetimes.net/vi/bach-khoa/scoping-du-an-fde.md): Chốt phạm vi trong dự án FDE là việc thống nhất bằng văn bản kết quả khách đã mua, những việc sẽ không làm và tiêu chí "xong", rồi dùng chính văn bản đó để quyết định mỗi yêu cầu mới là bước làm rõ hay là việc mới cần định giá lại. - [On-prem, VPC hay SaaS: FDE phải vẽ được bản đồ “cái gì chạy ở đâu”](https://fdetimes.net/vi/bach-khoa/on-prem-va-cloud.md): Mô hình triển khai (SaaS, customer VPC/BYOC hay on-prem) quy định phần mềm của vendor chạy trên hạ tầng của ai, dữ liệu nằm ở đâu và vendor còn giữ những quyền điều khiển nào. - [Cấp quyền cho AI agent trong hạ tầng khách hàng: bắt đầu từ việc agent không được làm gì](https://fdetimes.net/vi/bach-khoa/bao-mat-khi-trien-khai.md): Phân quyền cho AI agent là việc thiết kế xem agent được gọi công cụ nào, chạy nhân danh ai, với scope nào, khi nào phải có người duyệt và được phép kết nối mạng tới đâu, sao cho khi mô hình bị lừa thì thiệt hại vẫn nằm trong giới hạn. - [Observability cho hệ thống LLM: trace từng request, kiểm soát log và đối soát chi phí](https://fdetimes.net/vi/bach-khoa/observability-cho-llm.md): Observability cho hệ thống LLM là cách ghi lại toàn bộ đường đi của một request qua các bước gọi model, gọi công cụ và truy xuất dữ liệu (trace), kèm số token, nội dung đã che dữ liệu nhạy cảm và chi phí, để bạn debug được và giải thích được tiền đã đi đâu. - [Tool calling: mô hình chỉ đề xuất, còn code của bạn mới thực thi](https://fdetimes.net/vi/bach-khoa/tool-calling-va-agent.md): Tool calling là cơ chế trong đó mô hình phát ra một yêu cầu có cấu trúc gồm tên tool và đối số JSON, còn ứng dụng quyết định có chạy thao tác đó hay không, chạy thế nào, rồi gửi kết quả trở lại cuộc hội thoại. - [Khoan dựng RAG: đếm token trước, đo Recall@k sau](https://fdetimes.net/vi/bach-khoa/rag-cho-fde.md): Đánh giá retrieval là đo riêng xem bước tìm kiếm của hệ thống RAG có đưa đúng đoạn tài liệu cần thiết vào top-k kết quả hay không, tách khỏi chất lượng câu trả lời cuối cùng. - [Sau go-live, bộ eval thật của agent nằm trong trace của khách hàng](https://fdetimes.net/vi/bach-khoa/danh-gia-ai-trong-production.md): Eval từ trace production là cách lấy mẫu những gì agent thực sự làm với người dùng thật, phân tích lỗi trong đó rồi biến thành test case và evaluator, để bộ eval luôn bám theo cách khách hàng dùng sản phẩm. - [Ôn thuật toán chỉ chuẩn bị cho một vòng trong loop phỏng vấn FDE](https://fdetimes.net/vi/bach-khoa/phong-van-fde.md): Phỏng vấn decomposition là một phiên mở và mang tính cộng tác: ứng viên vừa nói to suy nghĩ của mình vừa tách một bài toán thực tế còn mơ hồ thành những phần nhỏ có thể giải được. - [Nối dữ liệu khách hàng là việc chính của FDE, không phải việc lặt vặt trước khi “làm thật”](https://fdetimes.net/vi/bach-khoa/tich-hop-du-lieu-khach-hang.md): Nối dữ liệu khách hàng (data onboarding) là đưa dữ liệu thật, rời rạc và không hoàn hảo từ các hệ thống của khách về một dạng thống nhất, kiểm chứng được, để sản phẩm có thể chạy trên đó. - [Nhà tuyển dụng FDE tìm gì: code là ngưỡng, giao tiếp với khách hàng là thước đo](https://fdetimes.net/vi/bach-khoa/ky-nang-cot-loi-fde.md): Kỹ năng cốt lõi của FDE là tổ hợp năng lực kỹ thuật (lập trình full stack, cloud, data engineering, applied AI) và năng lực làm việc trực tiếp với khách hàng mà nhà tuyển dụng dùng để sàng lọc rồi xếp hạng ứng viên. - [Từ câu "con bot trả lời dở quá" đến một bộ eval: biến lời phàn nàn thành thước đo](https://fdetimes.net/vi/bach-khoa/fde-va-llm-agent.md): Biến lời phàn nàn thành thước đo là chuyển kỳ vọng mơ hồ của khách hàng thành các tiêu chí cụ thể, có ngưỡng rõ ràng, kèm một bộ eval chứng minh hệ thống AI đạt hay chưa đạt. - [Why, what, how: tách một FDE engagement thành ba câu hỏi trước khi viết code](https://fdetimes.net/vi/bach-khoa/deployment-strategist.md): Tách why/what/how là cách chia một FDE engagement thành ba câu hỏi riêng: vì sao khách cần thay đổi (why), kết quả đo được nào chứng minh thành công (what), và hệ thống kỹ thuật nào tạo ra kết quả đó (how). Mỗi câu hỏi có người chịu trách nhiệm và cách kiểm chứng riêng. - [Ngày làm việc của FDE chạy theo standup của khách, không chỉ của công ty bạn](https://fdetimes.net/vi/bach-khoa/mot-ngay-cua-fde.md): Làm việc theo lịch của khách hàng nghĩa là FDE dự standup của đội khách, triage các vấn đề khách gửi tới trước giờ làm, rồi đặt ưu tiên trong ngày quanh những gì đang chặn khách chứ không quanh backlog nội bộ. - [Khách nói dashboard chậm, nhưng thứ họ thiếu là conversion: bài học discovery của FDE](https://fdetimes.net/vi/bach-khoa/customer-discovery.md): Customer discovery trong nghề FDE là cuộc điều tra kỹ thuật có cấu trúc, tiến hành dưới dạng hội thoại, để lần ngược từ lời mô tả của khách về vấn đề workflow thật sự bên dưới. - [Delta và Echo: vì sao Palantir giao việc triển khai cho hai vai, và cách một FDE tự đóng cả hai](https://fdetimes.net/vi/bach-khoa/nguon-goc-fde-palantir.md): Delta và Echo là cặp vai trong mô hình triển khai của Palantir: Echo là analyst có chuyên môn ngành, ngồi cùng khách hàng để làm discovery, lo adoption và giữ quan hệ; Delta là kỹ sư triển khai, nhận bài toán đó và nhanh chóng xây prototype chạy được. - [FDE và software engineer: cùng viết code, nhưng FDE sở hữu kết quả của một khách hàng](https://fdetimes.net/vi/bach-khoa/fde-khac-software-engineer.md): FDE (forward deployed engineer) là kỹ sư phần mềm làm việc ngay bên trong tổ chức khách hàng, chịu trách nhiệm về kết quả của một account cụ thể thay vì một component dùng chung. - [FDE hay Solutions Architect: ai được commit vào production mới là ranh giới](https://fdetimes.net/vi/bach-khoa/fde-khac-solutions-engineer.md): Forward Deployed Engineer là kỹ sư sở hữu code chạy production trong môi trường của một khách hàng cụ thể, khác với Solutions Architect, người tạo ra tài liệu kiến trúc và kế hoạch triển khai mà không commit code. - [Vì sao các phòng lab AI đang săn Forward Deployed Engineer](https://fdetimes.net/vi/bach-khoa/fde-la-gi.md): Forward Deployed Engineer (FDE) là kỹ sư phần mềm làm việc trực tiếp tại khách hàng, vừa tìm ra bài toán thật vừa tự tay triển khai hệ thống AI vào hoạt động kinh doanh của họ. - [Fine-tuning hay RAG: đừng chọn kỹ thuật, hãy chẩn đoán vấn đề](https://fdetimes.net/vi/bach-khoa/fine-tuning-hay-rag.md): RAG đưa kiến thức mới vào ngữ cảnh của mô hình lúc trả lời, còn fine-tuning huấn luyện lại mô hình để đổi hành vi của nó. Nên dùng cái nào tùy vào việc lỗi đến từ chỗ mô hình thiếu kiến thức hay làm sai cách. - [Deploy prompt bằng một label, và vì sao rollback có thể mất tới một phút](https://fdetimes.net/vi/bach-khoa/prompt-trong-production.md): Prompt versioning trong production là cách quản lý prompt như một artifact có phiên bản: một label trỏ tới bản đang chạy, eval tự động chặn thay đổi kém, và rollback là chuyển label về phiên bản tốt gần nhất. - [Data lake, warehouse hay lakehouse: đọc đúng kiến trúc dữ liệu của khách trước khi viết pipeline ML đầu tiên](https://fdetimes.net/vi/bach-khoa/data-lake-warehouse-lakehouse-o-khach-hang.md): Kiến trúc dữ liệu của khách là cách họ lưu và biến đổi dữ liệu: data lake giữ dữ liệu ở dạng gốc, data warehouse giữ dữ liệu đã được xử lý cho một mục đích cụ thể, còn lakehouse đặt một lớp metadata lên các file của lake để có tính năng quản lý kiểu warehouse. ## Phân tích - [Khách đòi cả ba thứ, FDE nên kéo cần gạt phạm vi trước](https://fdetimes.net/vi/phan-tich/danh-doi-pham-vi-toc-do-chat-luong.md): Dùng phạm vi làm cần gạt nghĩa là FDE điều chỉnh những gì sẽ giao trước tiên để giữ thời hạn và mức chất lượng tối thiểu, chỉ đổi thời gian hoặc nguồn lực khi đã thương lượng rõ với khách. - [Vibe coding: nợ kỹ thuật đến hạn đúng ngày lên production](https://fdetimes.net/vi/phan-tich/vibe-coding-prototype-nhanh-va-cai-gia.md): Vibe coding là cách để AI viết code theo mô tả, chấp nhận kết quả mà không đọc, không kiểm thử và không cần hiểu code, khác với phát triển phần mềm có AI hỗ trợ, nơi người viết vẫn review, test và giải thích được từng dòng. - [Đổi model không chỉ là đổi API key: vì sao prompt viết cho GPT có thể hỏng trên Claude, Gemini và Llama](https://fdetimes.net/vi/phan-tich/chuyen-prompt-giua-cac-model-va-nha-cung-cap.md): Model migration là việc chuyển một ứng dụng đang chạy production từ model này sang model khác, gồm cả viết lại prompt, định dạng tool call, tham số sampling và phần hậu xử lý output, rồi kiểm chứng bằng eval rằng chất lượng không bị giảm. - [Khi lãnh đạo khách hàng muốn một “nhân viên AI làm được mọi thứ”: FDE cần tách AGI khỏi agent ngay từ buổi họp đầu](https://fdetimes.net/vi/phan-tich/ai-va-agi-noi-chuyen-ky-vong-voi-lanh-dao-khach.md): AGI là loại trí tuệ nhân tạo giả định, ngang hoặc vượt con người ở gần như mọi tác vụ nhận thức. Còn agent là hệ thống dùng LLM, được gắn thêm khả năng lập kế hoạch, công cụ và bộ nhớ để tự xử lý những tác vụ cụ thể. - [Bàn giao cho nhiều khách hàng: nên tách theo khách hàng trước khi tách code](https://fdetimes.net/vi/phan-tich/monolith-microservices-deployment-stamps.md): Deployment stamps là cách triển khai nhiều bản sao độc lập của ứng dụng, mỗi bản có data store riêng và phục vụ một nhóm tenant định trước. - [Chọn data mesh hay fabric? Đọc sơ đồ tổ chức của khách trước](https://fdetimes.net/vi/phan-tich/chon-stack-du-lieu-data-mesh-data-fabric.md): Data mesh là mô hình quản lý dữ liệu phân tán, giao trách nhiệm dữ liệu cho từng domain nghiệp vụ; data fabric là một cách thiết kế lớp tích hợp để truy cập dữ liệu rộng khắp; còn kho hoặc hub trung tâm là nơi một đội duy nhất chuẩn hóa và phục vụ dữ liệu cho cả tổ chức. - [Giữ log 12 tháng, xoá dữ liệu không chậm trễ: bài toán kiến trúc API](https://fdetimes.net/vi/phan-tich/gdpr-hipaa-pci-dss-anh-huong-thiet-ke-api.md): API compliance là việc thiết kế API, log và kho lưu trữ sao cho đáp ứng các yêu cầu pháp lý về dữ liệu như GDPR, CCPA/CPRA, HIPAA và PCI DSS ngay từ kiến trúc, thay vì vá lại sau khi hệ thống đã chạy. - [Assistants API đã tắt: chuyển dự án của khách sang Responses API không chỉ là đổi endpoint](https://fdetimes.net/vi/phan-tich/di-chuyen-tu-openai-assistants-api.md): Chuyển từ Assistants API sang Responses API là thay ba khái niệm Assistant, Thread, Run bằng Prompt, Conversation, Response, đồng thời đưa vòng gọi tool về chạy trong code của chính khách hàng. - [Klarna tuyển lại người: use case AI cần bằng chứng vận hành, không chỉ blog vendor](https://fdetimes.net/vi/phan-tich/ban-do-use-case-ai-theo-nganh.md): Bản đồ use case AI theo ngành là cách xếp các ứng dụng như RAG, agent và hệ gợi ý theo bài toán, theo dữ liệu chúng cần và theo người chịu trách nhiệm với kết quả, để biết cái nào đáng triển khai trước. - [AI Engineer, ML Engineer và FDE: cùng bộ công cụ, khác người chịu trách nhiệm](https://fdetimes.net/vi/phan-tich/ai-engineer-va-fde-khac-nhau-the-nao.md): Forward Deployed Engineer (FDE) là kỹ sư cần nền kỹ thuật tương tự AI/ML Engineer nhưng làm việc trực tiếp với một khách hàng cụ thể, tự tìm ra phạm vi bài toán và được đánh giá bằng kết quả thực tế sau khi hệ thống chạy. - [Cửa sổ ngữ cảnh chứa 5.000 trang, nhưng mốc bỏ RAG chỉ là 500 trang: FDE phải trả lời khách bằng số đo](https://fdetimes.net/vi/phan-tich/context-dai-co-thay-duoc-rag.md): Long context là cách đưa thẳng một lượng văn bản rất lớn (hàng trăm nghìn tới hàng triệu token) vào prompt. RAG (retrieval-augmented generation) thì chỉ truy xuất những đoạn liên quan rồi đưa chúng vào cửa sổ ngữ cảnh lúc suy luận. - [LangSmith, Arize, Helicone hay PostHog: khách hàng đặt ràng buộc gì thì chọn công cụ đó](https://fdetimes.net/vi/phan-tich/langsmith-arize-helicone-so-voi-langfuse.md): LLM observability là việc thu thập metrics, traces và logs từ ứng dụng LLM để biết hệ thống có đang chạy đúng trong production hay không. - [LangChain, LlamaIndex, Haystack hay gọi API thẳng: chọn framework theo vấn đề của khách, không theo độ nổi tiếng](https://fdetimes.net/vi/phan-tich/langchain-llamaindex-haystack-hay-tu-viet.md): Chọn framework cho agent là quyết định giao lớp nào của hệ thống (gọi model, truy xuất dữ liệu, điều phối luồng, xử lý tài liệu) cho một lớp trừu tượng do người khác viết, thay vì tự viết và tự giữ quyền kiểm soát. - [Model reasoning: khi nào đáng bắt khách hàng trả thêm tiền và chờ lâu hơn](https://fdetimes.net/vi/phan-tich/model-reasoning-khi-nao-dang-tra-them.md): Model reasoning (o-series của OpenAI, extended thinking hay adaptive thinking của Claude) là chế độ model tự sinh thêm một chuỗi suy luận nội bộ trước khi trả lời; chuỗi đó chiếm context window, làm tăng độ trễ, và với Claude được tính tiền như token output. - [Chọn OpenAI, Anthropic, Gemini hay open-weight cho khách: dữ liệu đi đâu quan trọng hơn bảng xếp hạng](https://fdetimes.net/vi/phan-tich/chon-nha-cung-cap-model-cho-khach-hang.md): Chọn nhà cung cấp model là quyết định dùng API thương mại nào (OpenAI, Anthropic, Gemini) hay tự host một model open-weight, dựa trên hiệu năng, cách giữ dữ liệu, vùng xử lý dữ liệu và hợp đồng cloud khách đang có. - [Multi-agent: song song hóa việc đọc, giữ việc ghi ở một luồng](https://fdetimes.net/vi/phan-tich/multi-agent-khi-nao-dang-dung.md): Hệ thống multi-agent là kiến trúc trong đó nhiều agent LLM, thường gồm một agent điều phối và các subagent, cùng chia nhau xử lý một nhiệm vụ thay vì để một agent làm tuần tự từ đầu đến cuối. - [Từ 25% đến 50% thời gian ở chỗ khách: vì sao hầu hết vị trí FDE không thể làm từ nhà](https://fdetimes.net/vi/phan-tich/di-cong-tac-25-50-phan-tram-fde-co-phai-o-cho-khach.md): Forward Deployed Engineer (FDE) là kỹ sư phần mềm được đưa đến làm việc cùng khách hàng để triển khai và tùy biến sản phẩm ngay trong môi trường thật của họ, thường phải dành một phần đáng kể thời gian tại chỗ khách. - [Phỏng vấn FDE: vòng code chưa biến mất, nhưng không còn là bộ lọc chính](https://fdetimes.net/vi/phan-tich/cognition-phong-van-fde-bang-mo-phong-khach.md): Vòng decomposition là dạng phỏng vấn FDE trong đó ứng viên nhận một bài toán doanh nghiệp mơ hồ, thường do người phỏng vấn đóng vai khách hàng đưa ra, và được chấm trên cách họ hỏi, làm rõ phạm vi rồi chia nhỏ vấn đề, chứ không chấm trên code. - [Từ software engineer sang FDE: code production chỉ là tấm vé qua cửa](https://fdetimes.net/vi/phan-tich/tu-software-engineer-sang-fde-loi-the-va-khoang-trong.md): Forward Deployed Engineer (FDE) là kỹ sư viết code chất lượng production ngay bên trong hệ thống của khách hàng. Họ chịu trách nhiệm cả ba việc: xác định cần xây gì, hiểu vì sao nó quan trọng với doanh nghiệp, rồi deploy và scale nó. - [Khi agent viết code, việc của FDE dồn về ba chỗ: định nghĩa, ràng buộc và phán xét](https://fdetimes.net/vi/phan-tich/agentic-ai-thay-doi-fde.md): Trong bối cảnh agent lập trình, việc của FDE gồm ba phần: định nghĩa bài toán và người dùng, đặt ràng buộc để chỉ đạo agent, và phán xét xem kết quả có tạo ra giá trị thật cho khách hàng hay không. - [Cửa FDE cho kỹ sư Việt nằm ở các lab đòi có mặt, không ở tin ghi “Remote”](https://fdetimes.net/vi/phan-tich/co-hoi-fde-cho-ky-su-viet.md): Trong tin tuyển Forward Deployed Engineer, “remote” chỉ là nhãn hình thức làm việc. Điều kiện thật nằm ở ba chỗ: phải có mặt ở đâu, phải đi khách hàng bao nhiêu phần trăm thời gian, và ai được phép nộp đơn. - [FDE tốn khoảng 400.000 USD mỗi năm: mô hình chỉ scale được khi mỗi lần deployment làm lần sau rẻ hơn](https://fdetimes.net/vi/phan-tich/mo-hinh-fde-co-scale-duoc-khong.md): Forward deployed engineer (FDE) là kỹ sư làm việc ngay trong môi trường của khách hàng để đưa sản phẩm vào vận hành thật, rồi mang những gì học được ở hiện trường về lại sản phẩm lõi. - [Palantir chia việc FDE cho hai người, hai startup AI dồn cả vào một người](https://fdetimes.net/vi/phan-tich/fde-palantir-va-fde-startup-ai.md): Mô hình Delta/Echo là cách Palantir ghép một kỹ sư viết code tại chỗ khách hàng (Delta, tức FDE) với một chiến lược gia triển khai (Echo) lo quan hệ và quy trình, để giải pháp vừa chạy đúng vừa được khách hàng dùng thật. - [Công ty AI y tế tuyển FDE nhưng kinh nghiệm y tế chỉ là điểm cộng](https://fdetimes.net/vi/phan-tich/fde-chuyen-sau-nganh-hay-lam-generalist.md): FDE T-shaped là kỹ sư có một năng lực cốt lõi đủ sâu (đi vào thực tế vận hành của khách hàng rồi xây giải pháp khớp với thực tế ấy), cộng với bề rộng có được sau khi làm qua nhiều ngành, thay vì chuyên sâu một vertical chọn từ trước. - [Tỷ lệ pass là quyết định sản phẩm, và đó là việc của FDE](https://fdetimes.net/vi/phan-tich/eval-thanh-ky-nang-cot-loi.md): Eval là bài kiểm thử cho hệ thống AI: đưa một input vào, rồi áp logic chấm điểm lên output để biết hệ thống có đạt yêu cầu hay không. - [Ranh giới giữa FDE và consultant không nằm ở tốc độ, mà ở nơi bài học chảy về](https://fdetimes.net/vi/phan-tich/fde-co-phai-consulting.md): Forward Deployed Engineer (FDE) là kỹ sư phần mềm làm việc trực tiếp với khách hàng để xây hệ thống chạy production, chịu trách nhiệm đến kết quả và đưa bài học từ deployment quay về định hình sản phẩm. - [Ba tin tuyển dụng, một nấc thang: lương FDE từ 1 năm đến 8 năm kinh nghiệm](https://fdetimes.net/vi/phan-tich/luong-va-thang-tien-fde.md): Lộ trình thăng tiến FDE là chuỗi bậc từ kỹ sư mới vào nghề lên senior rồi quản lý đội FDE, có thể đọc trực tiếp từ yêu cầu kinh nghiệm và dải lương trong tin tuyển dụng công khai. - [Vì sao OpenAI và Anthropic đồng loạt dựng đội FDE](https://fdetimes.net/vi/phan-tich/vi-sao-cong-ty-ai-lap-doi-fde.md): Forward Deployed Engineer (FDE) là kỹ sư làm việc trực tiếp bên trong tổ chức khách hàng để biến một sản phẩm AI thành hệ thống chạy được trong thực tế, đồng thời mang bài học từ hiện trường về cho đội sản phẩm. ## Tin tức - [Medplum cho FDE làm thay PM, và quy trình bắt đầu gãy khi đội FDE lớn dần](https://fdetimes.net/vi/tin-tuc/product-management-without-product-managers-a-conversation.md): Mô hình FDE kiêm PM là cách tổ chức trong đó chính các forward deployed engineer tiếp nhận yêu cầu, xếp thứ tự ưu tiên và đưa tín hiệu từ khách hàng vào roadmap, thay cho một đội product manager riêng. - [Fyxer nói 90% người dùng vẫn hoạt động sau ba tháng: FDE nên hỏi gì trước khi tin con số này](https://fdetimes.net/vi/tin-tuc/how-fyxer-built-an-ai-executive-assistant-people-trust.md): Retention theo cohort là tỷ lệ người dùng trong một nhóm bắt đầu cùng thời điểm vẫn còn hoạt động sau một khoảng thời gian, và tỷ lệ này chỉ có nghĩa khi đã định rõ nhóm đó và thế nào là "hoạt động". - [Hai cha đẻ Kubernetes muốn kéo agent khỏi laptop lên cloud](https://fdetimes.net/vi/tin-tuc/can-a-cloud-native-harness-make-agents-reliable-beyond-the.md): Agent harness là lớp phần mềm bao quanh model, gồm vòng lặp agent, môi trường thực thi công cụ và trạng thái phiên làm việc, quyết định agent chạy ở đâu, cho ai và với quyền gì. - [Cổng duyệt cuối cùng của agent: bỏ hay giữ là câu hỏi FDE phải trả lời](https://fdetimes.net/vi/tin-tuc/the-last-human-gate-forward-deployed-engineering-for.md): Approval gate là điểm chặn trong workflow của agent, nơi hành động phải chờ một người có thẩm quyền duyệt trước khi được thực thi. - [Eval đang trở thành "definition of done" của FDE, và thành cả điều khoản hợp đồng](https://fdetimes.net/vi/tin-tuc/the-definition-of-done.md): Eval là bài test cho hệ thống AI: đưa một input, áp logic chấm điểm lên output để đo mức độ thành công, và khi được hai bên thống nhất trước, nó trở thành định nghĩa "xong" của một engagement. - [Chiều rộng bắt đầu có giá: execution rẻ đi, phán đoán đa lĩnh vực lên giá](https://fdetimes.net/vi/tin-tuc/breadth-finally-pays.md): Chiều rộng (breadth) trong tuyển dụng kỹ sư là khả năng phân biệt đúng–sai ở nhiều lĩnh vực thay vì đi sâu một đường, thứ thị trường từng xem nhẹ vì khó đánh giá. - [Perplexity tin GPT-6 Astra chạy hệ thống end-to-end, nhưng chưa công bố số liệu nào](https://fdetimes.net/vi/tin-tuc/perplexity-trusts-gpt-6-astra-with-end-to-end-systems.md): Tin cậy end-to-end là việc để một model tự xử lý trọn vòng lặp gửi tin nhắn, sửa phần mềm và giám sát production, con người chỉ bước vào khi cần thay vì duyệt từng bước. - [Tin tuyển FDE tăng hơn 1.000%, nhưng chưa ai đo được công việc thực sự là gì](https://fdetimes.net/vi/tin-tuc/the-word-is-growing-faster-than-the-job.md): "Từ chạy nhanh hơn nghề" là tình trạng một chức danh lan rộng trong tin tuyển dụng nhanh hơn tốc độ thị trường thống nhất về việc người giữ chức danh đó thật sự làm gì. - [Benchmark mới cho agent làm FDE: cổng nghiệm thu chặn mọi run "train mà không học" trước khi khách trả tiền](https://fdetimes.net/vi/tin-tuc/trains-but-doesn-t-learn-a-post-training-delivery-benchmark.md): TBDL (trains but does not learn) là kiểu thất bại âm thầm trong post-training: loss giảm, mọi tín hiệu giám sát đều xanh, nhưng model giao đi không hơn gì base model. - [Khảo sát State of FDE 2026 đóng ngày 9/10: đo công việc thay vì đếm chức danh](https://fdetimes.net/vi/tin-tuc/the-state-of-fde-2026-survey-is-open.md): State of FDE 2026 là khảo sát do FDE Hub tổ chức nhằm đo công việc thực tế của Forward Deployed Engineer qua chính câu trả lời của người làm nghề, thay vì đếm số người mang chức danh FDE. ## Dữ liệu - [Lộ trình (JSON)](https://fdetimes.net/api/roadmap.json): Các chặng trở thành FDE. - [Việc làm FDE (JSON)](https://fdetimes.net/api/jobs.json): Vị trí FDE đang mở; thời điểm cập nhật ghi trong trường generated_at. - [Toàn văn bách khoa](https://fdetimes.net/llms-full.txt): Mọi bài bách khoa và lộ trình dạng Markdown.