Đa số các dự án nội dung AI đều được xây dựng xoay quanh một câu hỏi: làm sao để tôi đẻ ra được nhiều bài hơn? LeaseInVietnam được xây dựng xoay quanh một câu hỏi hoàn toàn khác: làm sao để tôi ép mọi bài viết được đăng đều phải tạo ra chuyển đổi (convert)?
Hệ thống này là một cổng thông tin tái định cư tự trị (autonomous relocation hub) nhắm tới tệp khách Tây (expats) và dân du mục kỹ thuật số (digital nomads) đang thuê nhà ở miền Nam Việt Nam — TP.HCM, Nha Trang, Phú Quốc. Nó sản xuất nội dung bằng tiếng Anh Mỹ (American English), tự động xuất bản mỗi ngày thông qua GitOps, và nắn dòng mọi tương tác của độc giả vào một phễu khách hàng tiềm năng (B2B lead funnel). Phễu này đẻ ra tiền hoa hồng từ các dịch vụ vận chuyển nhà, đặt lịch dọn dẹp, cho thuê nội thất, và tư vấn pháp lý.
Cái rào cản kỹ thuật bắt buộc để làm được điều này là không thể thương lượng: không có bất kỳ một dữ kiện nào được phép lên web trừ khi nó có một chuỗi bằng chứng (evidence chain) có thể truy vết ngược về một phần tử DOM hoặc một API response thực tế. Một cái giá thuê nhà bịa đặt (hallucinated) hay một lời khuyên pháp lý chế cháo không chỉ làm tổn hại SEO — nó phá nát niềm tin, thứ duy nhất tạo ra giá trị cho cái phễu lead kia.
1. Mô hình Kinh doanh: Biến Traffic thành Phễu Leads, Chứ không phải Đất Bán Quảng Cáo
Mô hình doanh thu ở đây cố tình né xa AdSense. Khách Tây khi thuê nhà ở Việt Nam có một chuỗi nhu cầu cực kỳ dễ đoán sau khi họ đặt bút ký hợp đồng:
- Dịch vụ chuyển nhà — họ cần xe tải và nhân viên khuân vác biết tiếng Anh.
- Dịch vụ dọn dẹp / giúp việc — dọn dẹp hàng tuần cho các căn hộ có sẵn hoặc không có nội thất.
- Thuê/Mua nội thất — nhiều expat thuê nhà trống để tiết kiệm tiền, sau đó họ cần sắm đồ.
- Tư vấn pháp lý và visa — Gia hạn Thẻ tạm trú (TRC), đăng ký tạm trú với công an, review hợp đồng thuê nhà.
Mỗi cái nhu cầu trên là một lead B2B trị giá tiền tươi thóc thật. Hoa hồng môi giới chuyển nhà dao động từ 10-15% trên mỗi booking. Một cái giới thiệu thiết kế nội thất duy nhất cho một tay chủ nhà đang muốn cải tạo nhà phố thành quán café hoặc hostel có thể mang về hàng ngàn đô la tiền hoa hồng.
Cơ chế cực kỳ đơn giản: khi một expat điền vào form CTA (Call-to-Action) trên web, một webhook sẽ bắn tín hiệu về hệ thống n8n nằm trên Node 114. Node này lập tức route cái lead đó cho đối tác B2B tương ứng thông qua Telegram theo thời gian thực. Đối tác nhận được một khách hàng nóng hổi đi kèm đầy đủ bối cảnh — khách đang cần gì, ở quận nào, timeline ra sao. Hệ thống tự động ghi log cái referral này lại để cuối tháng lôi ra đối soát tính hoa hồng.
flowchart LR
A[Expat đọc bài] --> B[Điền form CTA]
B --> C[Webhook → n8n]
C --> D{Loại Lead?}
D -->|Chuyển nhà| E[Telegram → Đối tác Vietnam Moving]
D -->|Dọn dẹp| F[Telegram → Đối tác bTaskee / JupViec]
D -->|Nội thất| G[Telegram → Đối tác Nội thất]
D -->|Pháp lý| H[Telegram → Đơn vị làm Visa]
E & F & G & H --> I[Ghi log Hoa hồng]
Quá trình cấy ghép (injection) CTA này không hề thủ công. GPT-5.2 đọc các thẻ dữ liệu (data tags) của bài viết và tự động tiêm vào cái component ngữ cảnh chính xác nhất. Một bài viết nói về tình trạng ngập lụt ở Quận 7 sẽ được tiêm CTA dịch vụ dọn vệ sinh. Một bài viết về các chiêu trò lừa đảo tiền cọc sẽ được tiêm CTA tư vấn pháp lý. Một bài viết về việc chuyển tới sống ở Thảo Điền sẽ được tiêm CTA dịch vụ chuyển nhà.
2. Tính năng Cảnh báo Lừa đảo: Niềm tin chính là Hào nước Cạnh tranh
Khách Tây thuê nhà ở Việt Nam có một nỗi ám ảnh kinh hoàng: bị lừa đảo (scam). Tin rao vặt ảo, treo đầu dê bán thịt chó, giật tiền cọc, chủ nhà giấu mặt hoặc từ chối đăng ký tạm trú với công an phường. Nỗi ám ảnh này chính là lý do khiến họ phải search bằng tiếng Anh thay vì xài thẳng mấy trang bất động sản của Việt Nam.
Hệ thống của chúng tôi biến sự lo âu này thành một tín hiệu về sự đáng tin cậy. Bộ AI Extractor được lập trình để phát hiện các dấu hiệu lừa đảo ngay trong quá trình thu thập dữ liệu:
- Giá cả thấp một cách lố bịch so với mặt bằng chung của khu vực và loại bất động sản đó.
- Chủ nhà đòi chuyển tiền cọc trước cả khi đi xem nhà.
- Không có địa chỉ cụ thể hoặc không có tên tòa nhà đàng hoàng.
- Nguồn bài đăng đến từ một domain Hạng C (forum mờ ám, bài đăng mạng xã hội chưa kiểm chứng) và không có bằng chứng nào đối chiếu được.
Khi hệ thống đánh hơi thấy các tín hiệu này, bài viết sẽ tự động render ra một component <ScamWarning /> — một khối cảnh báo viền đỏ rực rỡ giải thích tường tận cái mánh lới lừa đảo đó và những gì khách cần phải kiểm tra kỹ trước khi đi tiếp.
<ScamWarning title="Phát hiện Rủi ro Tiền cọc">
Tin đăng này yêu cầu thanh toán trước 3 tháng tiền cọc trước khi đi xem nhà.
Các chủ nhà đàng hoàng ở Thảo Điền thường chỉ yêu cầu cọc 1-2 tháng.
Hãy xác minh căn hộ có tồn tại và khớp với hình ảnh trước khi chuyển bất kỳ khoản tiền nào.
</ScamWarning>
Không có một cổng bất động sản nào của Việt Nam làm trò này. Không có một trang blog expat nào làm trò này ở quy mô tự động. Cái tầng phát hiện lừa đảo tự động này chính là thứ biến LeaseInVietnam thành một “cổng thông tin đáng tin cậy” thay vì chỉ là một cái thùng rác tổng hợp tin rao vặt — và niềm tin chính là xăng để chạy cái phễu lead B2B kia.
3. Kiến trúc Hệ thống: 8 Giai đoạn, 2 Node, 1 Quy tắc
Toàn bộ pipeline được chạy trên hai cỗ máy vật lý (máy tính cá nhân) nằm trong cùng một mạng LAN ở nhà. Quy tắc cai trị toàn bộ hệ thống này vô cùng đơn giản: Node 112 xử lý Dữ kiện (Facts). Node 114 xử lý Câu chuyện (Stories).
flowchart TD
A[Nguồn Dữ liệu Bên ngoài] --> B[Node 112 — Spider / Discovery]
B --> C[Node 114 — Lọc trùng + Lưu trữ thô]
C --> D[Giai đoạn A: Tiếp nhận / Chuẩn hóa]
D --> E[Giai đoạn B: Gemma Classifier phân loại]
E -->|Từ chối| X[Lưu trữ rác]
E -->|Tiếp tục| F[Giai đoạn C: Gemma Extractor bóc tách]
F --> G[Giai đoạn D: Gemma Planner lập kế hoạch]
G --> H[Giai đoạn E: GPT-5.2 Viết bài]
H --> I[Giai đoạn F: Gemma Reviewer duyệt bài]
I -->|Tự động duyệt| J[Trình điều phối Publish Orchestrator]
I -->|Cần người xem lại| R[Nhánh Review / Mở PR]
J --> K[Git Repo → Astro Build → Cloudflare Pages]
Node 112 đi cào các nguồn tin, chuẩn hóa URL, lọc trùng (deduplicate) ở local, tải HTML về, và chạy model Gemma4:e4b để phân loại và bóc tách dữ liệu. Nó KHÔNG BAO GIỜ viết bài. Nó KHÔNG BAO GIỜ đụng vào Git. Output của nó là các cục JSONL sạch sẽ được đóng gói gọn gàng để chuyển sang Node 114 thông qua một API nội bộ có định kiểu (typed API).
Node 114 nắm giữ database PostgreSQL, chạy API nội bộ, quản lý hàng đợi nội dung (content queues), gọi API của GPT-5.2 để tổng hợp bài viết, validate định dạng MDX đầu ra, và bóp cò kích hoạt Cloudflare Pages build web thông qua GitOps.
Kiến trúc Edge Worker
Node 112 còn mở ra một cái API Gateway Vùng biên (Edge API Gateway) bảo mật, cho phép các worker bên ngoài — laptop, máy tính cá nhân của bạn bè — đóng góp năng lực cào dữ liệu khi họ rảnh rỗi. Trò này giúp giảm chi phí hạ tầng xuống khoảng 80% trong các khung giờ cào dữ liệu cao điểm. Quyết định thiết kế chí mạng ở đây: Node 112 luôn luôn duy trì các worker nội bộ của riêng nó, nhờ vậy hệ thống vẫn chạy ngon lành hoàn toàn tự trị ngay cả khi đéo có cái máy ngoài nào cắm vào. Các worker bên ngoài chỉ đóng vai trò là chân ga tăng tốc (acceleration), chứ không phải là cột trụ phải dựa dẫm (dependency).
4. Pipeline Chống Bịa Đặt (Anti-Hallucination)
Mọi trường thông tin (field) lọt được vào một bài viết xuất bản đều phải đi qua 4 tầng xác thực. Đây không phải là tùy chọn — nó là nền móng kiến trúc khiến cho cái tuyên bố “cổng thông tin đáng tin cậy” trở nên có trọng lượng.
Tầng 1: Bóc tách Tất định (Deterministic Extraction)
Bộ bóc tách (extractor) là một service viết bằng Go, nó load một cục profile chọn lọc (selector profile) dạng YAML cho từng domain và bóc tách các trường dữ liệu theo một luồng ưu tiên nghiêm ngặt:
- Dữ liệu cấu trúc nhúng (Embedded structured data) — JSON-LD, state nhúng thẳng vào script, API responses (độ tự tin: 0.94-0.98)
- DOM selectors — Các bộ chọn CSS cắm vào cây HTML đã được parse (độ tự tin: 0.85-0.95)
- Regex quét trên text đã dọn dẹp — dùng để vét các pattern về giá, diện tích, số phòng ngủ (độ tự tin: 0.70-0.85)
- Vứt bỏ (Drop) — nếu cả 3 trò trên đều không tìm ra bằng chứng, thì coi như cái field đó đéo tồn tại.
func (e *Extractor) ExtractField(doc *goquery.Document, rule FieldRule) ExtractedField {
// 1. Thử JSON-LD trước — đáng tin cậy nhất
if val, ok := e.extractFromJSONLD(doc, rule.JSONLDPath); ok {
return ExtractedField{Value: val, Method: "jsonld", Confidence: 0.94}
}
// 2. DOM selectors theo thứ tự ưu tiên
for _, selector := range rule.Selectors {
if val := doc.Find(selector).First().Text(); val != "" {
return ExtractedField{Value: val, Method: "dom", Confidence: 0.90}
}
}
// 3. Fallback bằng Regex quét trên text thuần
if rule.Regex != "" {
if val, ok := e.extractWithRegex(doc.Text(), rule.Regex); ok {
return ExtractedField{Value: val, Method: "regex", Confidence: 0.78}
}
}
return ExtractedField{Status: "missing"}
}
Tầng 2: Xác thực (Verification)
Bộ xác thực (verifier) chạy các luật cứng (reject ngay lập tức), các luật mềm (trừ điểm tự tin), và các bài kiểm tra tính nhất quán chéo (cross-field consistency checks).
Các luật reject cứng bao gồm: thiếu source_url, thiếu raw_text hoặc evidence_snippet ở các trường quan trọng, source_method lại là llm_guess (AI đoán mò), giá tiền bị âm, vị trí địa lý chỏi lại cái hàng rào khu vực (geo-fence).
Output của nó là một bản án (verdict) có định kiểu cho từng trường và cho toàn bộ bản ghi (record):
{
"record_status": "pass",
"field_results": {
"price": { "status": "pass", "final_confidence": 0.92 },
"address": { "status": "pass", "final_confidence": 0.88 },
"bedrooms": { "status": "suspicious", "reason_codes": ["MULTI_MATCH_CONFLICT"] }
},
"record_confidence": 0.87
}
Các record có độ tự tin rớt xuống dưới 0.80 sẽ bị ném vào khu cách ly (quarantine). Phân hạng độ tin cậy của domain (Domain trust tiers) đóng vai trò ép buộc sự phân biệt này: một trang web đăng tin Tier A có quyền đẻ ra một dữ kiện “Giá” được đánh dấu là verified (đã xác thực); nhưng một dòng comment trên Reddit Tier C thì chỉ có thể đẻ ra tín hiệu rủi ro chứ không được phép biến thành một dữ kiện (hard fact) để mang lên bài viết.
Tầng 3: Làm giàu dữ liệu bằng Gemma4 (Chạy Local, Không tốn token)
Gemma4:e4b được chạy ở local trên Node 112 thông qua Ollama. Việc của nó cực kỳ hẹp: phân loại thẻ category, nhận diện vị trí cụm dân cư nhỏ, tóm tắt mớ text lộn xộn thành 2-3 câu ngắn gọn, và suy luận ra mức độ rủi ro dựa trên các gạch đầu dòng bằng chứng. Nó CHỈ ĐƯỢC PHÉP nhìn thấy verified_fields (các trường đã verify), clean_text, và evidence[]. Nó đéo được xem file HTML gốc. Nó không thể nào bịa ra (hallucinate) cái thứ mà nó không được nhìn thấy.
Tầng 4: Bàn giao gói hàng (Bundle) qua API Nội bộ
Node 112 đóng gói các bản ghi đã được verify và vận chuyển sang Node 114 thông qua một HTTP API có định kiểu nghiêm ngặt kèm theo các khóa lũy đẳng (idempotency keys). Mỗi field là một struct có type rõ ràng. API này sẽ validate schema, validate business rules, và check lũy đẳng trước khi cắm vào PostgreSQL.
POST /internal/api/v1/bundles
Authorization: Bearer <internal-token>
Idempotency-Key: bundle_20260424_hcmc_001
5. Hệ thống Selector Profile
Hệ thống hiện đang nắm 11 YAML profiles đặc thù cho từng domain, bao phủ batdongsan.com.vn, chotot.com, nhatot.com, các thớt Reddit, các review trên Google Maps, các trang văn bản luật chính thống, và các blog hướng dẫn của tụi expat.
profile_id: "batdongsan_listing_detail_v1"
domain: "batdongsan.com.vn"
trust_tier: "A"
field_rules:
price:
methods: [dom, regex]
selectors:
- ".re__pr-short__value"
- ".price"
required: true
base_confidence: 0.92
address:
methods: [dom]
selectors:
- ".re__pr-short__address"
base_confidence: 0.88
Khi một domain lạ chưa có profile, bộ extractor sẽ tự động lùi về phương án fallback: móc dữ liệu từ JSON-LD và thẻ meta, nhưng bị áp trần độ tự tin (confidence cap) tối đa là 0.75. Tình trạng “Selector drift” — xảy ra khi một trang web thay đổi giao diện và làm hỏng các selectors cũ — sẽ được phát hiện thông qua việc giám sát tỷ lệ pass rate và tự động kích hoạt workflow cảnh báo cập nhật profile.
6. Động cơ Biên tập: GPT-5.2 đóng vai trò Kỹ sư Bố cục (Layout Engineer)
Một khi các cục bundle đã verify cập bến Node 114, PostgreSQL sẽ lo việc theo dõi mọi quá trình chuyển đổi trạng thái (state transitions). Router sẽ phân loại các cục bundle này thành 2 dạng nội dung:
- Bài Radar (Bản tin nhanh) — gom cùng một thẻ category và vị trí, tự động bóp cò khi gom đủ 5 tin, bài dài 600-1200 chữ, chỉ nhét đúng 1 cái CTA.
- Bài Guide (Cẩm nang) — gom nhiều thẻ category khác nhau nhưng cùng chung một khu vực dân cư nhỏ, kích hoạt khi đủ 15 tin với ≥3 thẻ khác nhau, bài dạng đào sâu (deep-dive).
Câu lệnh (prompt) truyền cho AI không bao giờ bắt GPT-5.2 “hãy viết một bài về Thảo Điền”. Nó ném thẳng vào mặt con AI một cục payload JSONL đã được cấu trúc lớp lang, kèm theo một bản hợp đồng đầu ra MDX cứng nhắc:
[PRICE]+[INFRASTRUCTURE]→ phọt ra phần tóm tắt (executive summary frontmatter).[DRAMA]+[ENVIRONMENT]→ đẻ ra component<ScamWarning>hoặc<RedFlags>.[LIFESTYLE_FOOD]+[LIFESTYLE_WELLNESS]→ đẻ ra component<NeighborhoodGrid>.[SERVICE_GAP]→ đẻ ra component<CallToAction>phù hợp với ngữ cảnh.
Con LLM lúc này hoạt động như một gã thợ lắp ráp bố cục, chứ không phải là một nhà văn bay bổng sáng tạo. Output của nó mang tính tất định (deterministic) tới mức đủ để validate bằng code tự động trước khi nó kịp chạm vào Git.
7. Chế độ Hoạt động Kép (Dual-Mode)
Hệ thống hỗ trợ 2 chế độ sản xuất nội dung:
Chế độ Tự động (Auto mode) chạy ngầm bằng cron hàng ngày. Hệ thống duy trì một danh sách các từ khóa hạt nhân (core keywords) — ví dụ: “Giá chung cư Thảo Điền”, “Khu nomad Nha Trang”, “Cuộc sống expat Quận 7” — và tự động xách đít đi cào dữ liệu, bóc tách, và xuất bản các bản tin cập nhật thị trường hoặc cẩm nang khu vực mà không cần một mống con người nào nhúng tay vào.
Chế độ Thủ công qua Telegram (Manual mode) xử lý các trend nóng hổi và các request ngách. Một ông admin ném một từ khóa duy nhất cho con bot Telegram. Con bot kích hoạt toàn bộ pipeline — tìm kiếm, bóc tách, verify, viết bài, duyệt, publish — và bài viết on air trong vài phút. Đây là thứ vũ khí hạng nặng để bú trend ngay tắp lự khi có một cái phốt lừa đảo bùng lên trên Reddit, một luật visa mới vừa ra lò, hoặc một cộng đồng expat mới vừa tụ tập ở một cái quận lạ hoắc nào đó.
8. Chiến lược Nội dung: 4 Cái Xô, 1 Mục tiêu Chuyển đổi
Mỗi mảnh nội dung đẻ ra đều được thiết kế để dẫn dụ convert về một trong các phễu lead B2B:
| Phân loại Nội dung | Ví dụ | CTA được tiêm vào |
|---|---|---|
| Cẩm nang Khu vực (Area Guides) | “Khu phố tốt nhất cho expat ở Nha Trang” | Tư vấn Tái định cư / Thuê nhà |
| Cẩm nang Định cư (Relocation Guides) | “Cách thuê nhà ở VN dành cho người nước ngoài” | Tư vấn Pháp lý / Làm TRC |
| Cập nhật Thị trường (Market Updates) | “Giá thuê nhà Thảo Điền tháng 4/2026” | Dịch vụ Chuyển nhà |
| Sống Tồn tại (Practical Living) | “Cách đăng ký điện nước ở TP.HCM” | Dịch vụ Dọn dẹp / Sửa chữa |
Cái xô Area Guides là mục tiêu MVP ưu tiên — nội dung bền vững (evergreen), cày SEO tốt, không sợ bị thiu theo thời gian, là sân chơi lý tưởng để test trọn vẹn cái pipeline 8-giai-đoạn trước khi bung lụa mở rộng sang đám tin tức Market Updates dễ hết đát.
9. Đội quân 10 Agent Cào dữ liệu (Scraper Swarm)
Khâu thu thập dữ liệu do 10 Agent chuyên biệt cày cuốc, mỗi con bị nhốt trong cái lồng địa lý giới hạn ở miền Nam Việt Nam (từ Nha Trang đổ vào Phú Quốc):
| Agent | Dữ liệu Cào được | Thẻ Tag |
|---|---|---|
lease_scraper_price_rent | Giá thuê hiện tại từ các trang rao vặt | [PRICE] |
lease_scraper_price_sale | Giá bán nhà, ước tính ROI | [INVESTMENT] |
lease_scraper_fb_expat | Không khí cộng đồng, review quán xá | [VIBE] |
lease_scraper_reddit_drama | Phốt lừa đảo, bùng cọc, chủ nhà hãm | [DRAMA] |
lease_scraper_infra_macro | Tiến độ Metro, đào đường, ngập lụt | [INFRASTRUCTURE] |
lease_scraper_fnb_food | Nhà hàng, cafe, bar được tụi Tây đánh giá cao | [LIFESTYLE_FOOD] |
lease_scraper_wellness | Bệnh viện quốc tế, phòng gym, yoga | [LIFESTYLE_WELLNESS] |
lease_scraper_climate_aqi | Chỉ số AQI, các con đường hay ngập | [ENVIRONMENT] |
lease_scraper_legal | Luật visa, điều kiện TRC, giấy tạm trú | [LEGAL] |
lease_scraper_competitors | Những bài rate 1-sao chửi bới các agent đối thủ | [SERVICE_GAP] |
Cái hàng rào địa lý (geo-fence) được ép chặt từ tầng system prompt của con AI cho đến tầng verifier bằng code cứng. Bất kỳ một cái record nào bị dính location = hanoi sẽ bị sút bay ra chuồng gà trước cả khi nó kịp chui vào hàng đợi.
10. Lộ trình (Roadmap)
Phase 1 — MVP: Tập trung vào mảng Cẩm nang Khu vực (Area Guides) cho TP.HCM (Thảo Điền, Quận 7). Nội dung evergreen, cày SEO, không nhạy cảm về mặt thời gian. Mục tiêu: nghiệm thu đầu-cuối (end-to-end) cái pipeline 8-giai-đoạn này và chốt các mối quan hệ đối tác B2B đầu tiên.
Phase 2 — Mở rộng ven biển: Đánh úp Nha Trang và Phú Quốc. Tích hợp sâu với các đối tác B2B bằng con bot Telegram tự động đối soát và rượt đuổi KPI (SLA bot) đòi hoa hồng. Kích hoạt hai mảng nội dung Market Updates và Practical Living.
Phase 3 — Bành trướng Nền tảng: Phủ sóng mảng cho thuê ngắn hạn (tiệm cận sân chơi Airbnb), tracking biến động giá theo thời gian thực, và Bắc tiến (Hà Nội, Hải Phòng) một khi pipeline phía Nam đã chạy ro ro.
11. Các Bài học Xương máu
Cái sản phẩm thực sự là Cổng Thông Tin Đáng Tin Cậy (Trust portal), đéo phải mấy bài SEO nhảm rí. Tính năng cảnh báo lừa đảo, những cái giá nhà được chống lưng bằng bằng chứng, thông tin pháp lý được xác thực cứng ngắc — đây mới là những thứ biến cái phễu lead B2B thành cỗ máy in tiền. Đám expat chỉ móc hầu bao cho một nguồn tin dám chỉ mặt đặt tên những cái bẫy nguy hiểm, chứ không phải mấy cái trang lúc nào cũng màu hồng.
Hãy cách ly tầng Dữ liệu (Data plane) khỏi tầng Biên tập (Editorial plane) ngay ở cấp độ Network. Đừng chỉ viết tách ra trong code — hãy chia rẽ chúng bằng một cái ranh giới HTTP API. Điều này ép buộc một bản hợp đồng cứng nhắc và ngăn chặn chuyện hai cái cục này cứ dính lấy nhau rồi lôi nhau chết chùm khi hệ thống phình to ra.
Điểm Tự tin (Confidence scores) hữu dụng hơn vạn lần cái kiểu pass/fail nhị phân. Một cái field có độ tự tin 0.72 từ trò chọc ngoáy Regex trên một trang web rác rưởi hoàn toàn khác bọt với một cái field có độ tự tin 0.94 lấy từ JSON-LD chuẩn chỉnh của một trang bất động sản uy tín. Việc giữ lại được cái tín hiệu (signal) này giúp cho bộ writer và validator ở phía sau đưa ra được những quyết định khôn ngoan hơn nhiều.
LLM là những gã Kỹ sư Bố cục (Layout engineers) xuất chúng nếu bạn mớm cho tụi nó input được cấu trúc đàng hoàng. Chất lượng đầu ra của GPT-5.2 tăng vọt ngay từ cái giây phút tôi đéo yêu cầu nó “hãy viết về X” nữa, mà thay vào đó tống vào họng nó một cục payload JSONL có định kiểu chặt chẽ cùng với một bản hợp đồng ép buộc đầu ra bằng MDX. Bớt tự do sáng tạo đi, output sẽ trở nên đáng tin cậy hơn vạn lần.
Khu Cách ly (Quarantine) là một TÍNH NĂNG, đéo phải là một trạng thái lỗi. Mỗi một bản ghi bị ném vào khu cách ly là một điểm dữ liệu (data point) tố cáo tình trạng selector drift, domain thay đổi cấu trúc, hoặc các trường hợp edge-cases lọt khe trong logic bóc tách. Một cái hàng đợi cách ly khỏe mạnh là cách để hệ thống tự tiến hóa theo thời gian mà không cần cái mạng người nào phải chui vào fix.
Toàn bộ tài liệu kiến trúc, danh tính các agent, script của pipeline, gói selector profile, và source code Go đều có sẵn tại repository leaseinvietnam-model.