Tôi đã mắc sai lầm này hai lần trước khi học được bài học. Lần đầu, tôi approve một dự án build-from-scratch NLP pipeline vì "chúng ta cần kiểm soát toàn bộ data pipeline." Sáu tháng và 800 engineering-hours sau, chúng tôi có một hệ thống kém hơn GPT-3.5 ở mọi metric. Lần hai, tôi approve mua một AI vendor với hợp đồng 3 năm vì "nhanh hơn." Mười tám tháng sau, vendor bị acquired, API deprecated, và chúng tôi phải migrate khẩn cấp.
Cả hai quyết định đều sai không phải vì build hay buy bản thân là sai — mà vì thiếu framework để đánh giá đúng trước khi quyết định.
Ma Trận Quyết Định: Ba Trục Thực Sự Quan Trọng
Hầu hết bài viết về build vs buy dừng lại ở "cost vs control." Đó là oversimplification nguy hiểm với AI. Ba trục thực sự cần đánh giá là:
Trục 1: Differentiation Level
Hỏi thẳng: "Nếu competitor của chúng ta dùng chính solution này, họ có thể replicate capability của chúng ta không?"
- Core differentiator (điểm khác biệt cốt lõi): Đây là nơi bạn cần build. Recommendation engine với proprietary behavioral data của bạn, fraud detection model trained trên transaction patterns độc quyền, hay pricing model kết hợp domain knowledge không ai có.
- Commodity capability (tính năng phổ thông): OCR, general summarization, language translation, boilerplate code generation — đây là buy territory.
- Competitive parity (theo kịp đối thủ): Đây là vùng nguy hiểm nhất. Nhiều team build vì không muốn tụt hậu, nhưng thực ra chỉ cần reach parity, không cần lead.
Trục 2: Data Sensitivity
Đây không chỉ là câu hỏi compliance. Là câu hỏi về competitive moat.
Data Sensitivity Matrix:
- Confidential + Irreplaceable → Build hoặc Private deployment
- Confidential + Replaceable → Private deployment của vendor solution
- Non-confidential + Unique → Buy với data ownership clause
- Non-confidential + Generic → Buy bất kỳ vendor nào
Tôi thấy nhiều công ty fintech panic buy private LLM deployment cho use case hoàn toàn có thể dùng public API với data anonymization đơn giản. Ngược lại, có startup healthcare dùng public LLM API với PHI thô trong prompt — đó là disaster đang chờ xảy ra.
Trục 3: Team AI Capability
Câu hỏi thực tế nhất: "Team có thể maintain cái này trong 2 năm không, kể cả khi người build nó nghỉ việc?"
Đánh giá honest team capability theo thang:
- Level 0: Không có ML/AI engineer nào
- Level 1: Có engineer biết fine-tune và deploy pre-trained models
- Level 2: Có team có thể train custom models từ existing architectures
- Level 3: Có research capability, tự design architectures
Level 0 và 1 building core AI là sai lầm chắc chắn. Level 2 trở lên mới có lựa chọn thực sự.
Phân Tích TCO Thực Tế: Hidden Costs Không Ai Nói Cho Bạn
Hidden Costs Của Buy
Giá API chỉ là phần nổi. Một số chi phí ẩn tôi đã gặp:
Migration cost khi vendor thay đổi: OpenAI deprecated text-davinci-003 với 6 tháng notice. Các team đã hardcode behavior expectations phải refactor toàn bộ prompt engineering khi switch sang GPT-4. Estimate 2-4 engineer-weeks per major model migration nếu không có abstraction layer tốt.
Vendor lock-in premium: Sau 12-18 tháng, vendor biết switching cost của bạn cao. Renewal thường cao hơn 20-40% so với contract đầu.
Evaluation và QA overhead: Mỗi lần vendor cập nhật model, bạn cần re-evaluate. Với business-critical AI, đây có thể là 1-2 engineer-weeks mỗi quý.
Rate limiting và reliability SLA gap: Bạn build product trên SLA 99.9% của vendor, nhưng business cần 99.99%. Gap đó phải được fill bằng fallback logic phức tạp — cost thực sự của bạn.
Hidden Costs Của Build
Phần này thường bị underestimate nghiêm trọng hơn:
Talent cost không tuyến tính: ML engineer giỏi ở Việt Nam hiện tại cost 80-150M VND/tháng, và market rất cạnh tranh. Một team build AI thực sự cần ít nhất 3-4 người trong 12 tháng đầu.
Infrastructure cost tích lũy: GPU cluster cho training, model serving infrastructure, monitoring, experiment tracking. Một setup decent cho mid-scale model: $15,000-30,000/tháng trên cloud.
Rough Build Cost Estimate (12 months, Vietnam market):
- 3 ML engineers: 3 × 1.2B VND = 3.6B VND
- Infrastructure: 12 × 400M VND = 4.8B VND
- Data labeling + ops: ~1.5B VND
- Total: ~10B VND (~$400K USD)
Equivalent Buy Cost:
- GPT-4o API at $5/1M input tokens
- 1M tokens/day = $150/day = $54,750/year = ~1.4B VND
Math thường favor buy trừ khi scale rất lớn hoặc differentiation rất cao.
Technical debt của ML code: ML code già nhanh. Model 18 tháng tuổi thường underperform significantly so với SOTA mới. Bạn cần ongoing investment để không bị lạc hậu, đó là cost mà nhiều roadmap không account.
Hybrid Approach: Khi Nào Build Wrapper, Khi Nào Build Core
Đây là lựa chọn thứ ba mà hầu hết decision framework bỏ qua, và theo kinh nghiệm tôi, đây là lựa chọn đúng trong phần lớn trường hợp.
Build Wrapper (Orchestration Layer)
Dùng khi: Capability cần là commodity, nhưng cách bạn kết hợp, route, và orchestrate tạo ra giá trị.
# Ví dụ: Intelligent routing giữa models
class AIRouter:
def route(self, request: AIRequest) -> str:
if request.requires_reasoning and request.cost_sensitive:
return "claude-3-5-haiku"
elif request.requires_reasoning:
return "claude-sonnet-4-5"
elif request.is_simple_extraction:
return "gpt-4o-mini"
else:
return self.primary_modelWrapper layer bảo vệ bạn khỏi vendor lock-in, cho phép A/B test models, và là nơi bạn add business logic mà không cần touch AI internals.
Build Core (Fine-tuning hoặc Custom Model)
Dùng khi: General-purpose model performance không đủ cho use case cụ thể, và bạn có labeled data độc quyền.
Signal rõ ràng nhất là khi prompt engineering đã bị đẩy đến giới hạn. Nếu bạn đang dùng 4,000 token system prompt với dozens of examples và vẫn chưa đạt accuracy target, fine-tuning có thể là con đường đúng.
# Fine-tuning với OpenAI (nếu data không sensitive)
openai api fine_tuning.jobs.create \
-t "your_training_file.jsonl" \
-m "gpt-4o-mini" \
--suffix "domain-specific-v1"
# Hoặc với open-source model cho data sensitive
python train.py \
--base-model "Qwen/Qwen2.5-7B" \
--training-data "./proprietary-data/" \
--output-dir "./fine-tuned-model/"Vendor Evaluation: Beyond Feature Checklist
Exit Strategy Là Tiêu Chí Số 1
Tôi sẽ nói thẳng: hầu hết vendor evaluation tập trung vào features khi nên tập trung vào exit. Hỏi những câu này trước khi ký:
- "Nếu chúng tôi muốn migrate sang competitor sau 12 tháng, effort là bao nhiêu?"
- "Data chúng tôi gửi vào được lưu trữ thế nào và có được dùng để train model không?"
- "API format có chuẩn OpenAI-compatible không?" (nếu có, switching cost thấp hơn nhiều)
- "Có SLA penalty không, hay chỉ là best-effort uptime promise?"
Đánh Giá Financial Health Của Vendor
AI vendor landscape đang consolidate nhanh. Năm 2024-2025 đã chứng kiến nhiều AI startup raise lớn rồi shut down hoặc pivot. Check:
- Runway còn bao lâu (dựa trên public funding data)
- Revenue model có sustainable không, hay đang burn để acquire customers
- Có backing từ strategic investor (Microsoft/OpenAI, Google/Anthropic, AWS) không — điều này giảm risk đáng kể
Model Performance Degradation Risk
Vendor có thể silently update model. Tôi đã thấy production system break vì vendor "improved" model và behavior thay đổi đủ để downstream logic fail. Contract nên có:
Model versioning requirements:
- Pinned version access cho ít nhất 12 tháng
- 90 ngày deprecation notice
- Behavioral change testing requirements trước migration
Case Studies: Ba Quyết Định Và Kết Quả
Case 1: E-commerce Recommendation Engine (Build — Đúng)
Một platform với 5M+ users và proprietary purchase + browsing data quyết định build recommendation model riêng thay vì dùng generic recommendation API.
Kết quả sau 18 tháng: CTR tăng 34% so với vendor solution, vì model được train trên behavioral patterns đặc thù của user base Việt Nam không có trong global training data của vendor. Build cost ~8B VND, nhưng revenue uplift justify trong tháng 14.
Đây là trường hợp build đúng vì: data là core differentiator, team có Level 2-3 capability, và scale đủ lớn để justify investment.
Case 2: Customer Support Chatbot (Buy — Đúng)
Một công ty SaaS B2B với 50 enterprise clients muốn automate tier-1 support. Họ quyết định build chatbot trên GPT-4o với RAG pipeline thay vì build model riêng.
Setup time: 6 tuần. Cost: khoảng $2,000/tháng API cost ở scale hiện tại. Deflection rate đạt 62% sau 3 tháng optimization.
Nếu họ build model riêng với cùng team size và timeline, họ sẽ không có gì để deploy sau 6 tháng.
Case 3: Document Processing (Buy — Sai Cách, Phải Pivot)
Một công ty legal tech mua một specialized document AI vendor với contract 2 năm, không negotiate model versioning và exit clause. Sau 8 tháng, vendor update model để "improve accuracy" nhưng output format thay đổi đủ để toàn bộ downstream pipeline break.
Emergency fix cost 3 engineer-weeks. Pivot sang vendor khác không thể vì contract lock-in. Lesson: buy là đúng, nhưng contract structure sai.
Kết Luận
Decision template đơn giản để dùng trong cuộc họp tiếp theo:
Build vs Buy Decision Checklist:
1. Differentiation Test
[ ] Use case này có trong core value proposition không?
[ ] Proprietary data có tạo ra significant advantage không?
2. Capability Test
[ ] Team có Level 2+ AI capability không?
[ ] Có budget maintain trong 24 tháng không?
3. TCO Sanity Check
[ ] Đã tính full build cost (talent + infra + ops)?
[ ] Đã tính hidden buy cost (migration + lock-in premium)?
4. Vendor Risk (nếu Buy)
[ ] Vendor có exit strategy clause chấp nhận được không?
[ ] API có chuẩn để switch cost thấp không?
[ ] Vendor financial health ổn không?
Kết quả:
- Nếu pass Differentiation + Capability → Consider Build
- Nếu fail một trong hai → Buy với exit strategy tốt
- Trong mọi trường hợp → Build abstraction layer trên top
Build vs buy không phải câu hỏi về pride hay laziness. Là câu hỏi về allocation of finite engineering capacity. Mỗi lần bạn build cái vendor đã làm tốt rồi, bạn không build cái chỉ team bạn mới có thể làm. Và ngược lại, mỗi lần bạn buy core differentiator của mình, bạn đang thuê lại chính competitive advantage của mình theo giờ.