Mục lục · 9 mục
TL;DR
- Mở session với 1 task gọn: review Google Ads công ty cho ổn. Ngỡ là 30 phút.
- Càng đào càng ra: API bị expire token, OAuth app stuck testing mode, 12 trên 17 dimension data missing, 70% keyword Quality Score ≤4, 5/5 campaign lost rank >50%, conversion value setup = 0 nên không đo được ROAS suốt 1 năm qua.
- Ship marathon 8 giờ: 13 công cụ Python + 6 slash command + 34 mutation thật trên account + cron 8h sáng tự pulse + Telegram alert.
- Đóng máy. Đắc thắng. Định đứng lên đi ăn tối.
- Rồi tự hỏi: “Strategy của Marketing là gì? OKR Q2 là gì? Marketing chiếm % effort nào của công ty? Sales đang convert 2 lead tuần này theo flow gì?”
- Không có câu trả lời cụ thể.
- Tôi vừa dồn 8 giờ tối ưu 1 nhánh nhỏ (Google Ads) của 1 cành lớn (Marketing) của 1 cái cây mà gốc rễ chưa từng có.
- Lá hợp quang giỏi đến mấy, gốc không có thì cây chết.
Mở đầu
Trưa hôm đó tôi định mở Claude Code lên 30 phút, chạy lệnh /ads-review 7d, ngó vài keyword, đóng máy đi gặp khách.
8 tiếng sau, tôi đã ship:
- 13 Python tool mới (impression share, quality score, auction insights heuristic, anomaly detector 5-rule, segment time/geo/device, conversion action management, mutation utilities, pulse orchestrator)
- 6 slash command theo cadence (daily / weekly / monthly / quarterly / emergency / emergency-resume)
- 34 thay đổi thật trên Google Ads account (4 PAUSE keyword + 4 BID adjust + 11 ADD keyword EXACT/PHRASE + 15 NEGATIVE)
- Set up Conversion Value cho 4 conversion action (lần đầu tiên đo được ROAS sau ~1 năm)
- Deploy cron 8h sáng VPS Linux, tự pull report mỗi sáng + push Telegram
- Document
SKILL.md v2.0.0, deploy guide, plan file lưu vĩnh viễn
Từ ngoài nhìn vào: một ngày productive. Plan E2E 4 tuần — xong 75% trong 1 ngày.
Rồi tôi đi gấp giấy ăn tối, bỏ ra 5 phút ngẫm. Và phát hiện một thứ mà 1 tháng vừa qua tôi không hề nghĩ đến.
Cái review nhỏ vỡ ra một cái lớn
Lúc đầu chỉ là việc rất nhỏ.
Tôi gọi review hệ thống Google Ads: tuần qua đốt vài triệu, được 2 conversion. Cái đó tự nó đã tệ rồi. Đào sâu thêm: 7 keyword chiếm 72% chi phí — không một conversion nào. Câu chuyện “đốt tiền không ROAS” mà ai chạy ads đều biết.
(Update sau buổi marathon: 2 conversion đó thực ra đã trở thành 2 cuộc nói chuyện thật với khách trong tuần. Đối tác sales của tôi đang follow. Tôi đang hy vọng ít nhất chốt được 1 deal — để cái khoản Google Ads tháng này không lỗ. Không hề lập tức là “chiến lược content” hay “long-term brand building”. Là “không lỗ tháng này, plz”. Tôi nói thật vậy đó.)
Nhưng JARVIS — con AI agent tôi build để vận hành công ty — chỉ pull được 5/17 dimension data. Quality Score, Impression Share, Auction Insights, segment time/device/geo… đều không có. Conversion value của 4 action chính đều = 0. Điều này nghĩa là: trong cả năm qua, account chạy hoàn toàn mù — không tính được lead nào tạo ra giá trị bao nhiêu, không bid theo intent được, không so sánh ROAS giữa 5 campaign được.
Tệ hơn: refresh token Google Ads OAuth bị expire mỗi 7 ngày. Lý do: OAuth app trong Google Cloud Console vẫn ở trạng thái Testing, chưa publish. Đây là một line trong UI mà bấm 1 cái xong là token sống vô hạn — tôi không hề biết line đó tồn tại trong 1 năm.
Cái mâu thuẫn nó nằm chỗ này:
Tôi nói đẹp lắm về “AI agent vận hành 3 entity”. Tôi build 30+ skill. Tôi viết MASTER_AGENT.md với Luật Thép. Tôi có CAPABILITY_MAP, có architecture document, có ADR.
Nhưng cái cơ bản nhất — Google Ads account của công ty mình đang chạy như thế nào? — tôi không có câu trả lời cụ thể. Chỉ có cảm giác “nó đang chạy đó, không sao đâu”.
Marathon 8 giờ — và cảm giác đắc thắng giả
Tôi chuyển sang chế độ strategist. Spawn 3 research agent song song:
- Audit toàn bộ tool sẵn có, diff với expert checklist 17 data dimension
- Web fetch 3 landing page công ty, dò gap UX vs best practice B2B
- Web search top 10 competitor B2B nội thất Việt Nam, estimate CPC theo tier
Compose plan E2E 4 tuần. Approve. Marathon ship.
8 giờ sau:
- Cron VPS chạy thật. 18 giây mỗi run. Telegram status 200.
- 4 conversion action đã có value. ROAS sẽ tính được sau ~7 ngày.
- 34 mutation áp dụng trực tiếp lên account, mỗi cái verify post-mutation.
- Plan file, decision log, skill v2.0.0 — lưu vĩnh viễn.
Cảm giác lúc đó: cuối cùng đã control được Google Ads. Sau 1 năm.
Câu hỏi không hề trong plan
Tôi đóng máy. Định đứng dậy đi ăn tối.
Rồi tự nhiên xẹt qua đầu — không hề trong plan, không trong todo:
“Strategy của Marketing là gì?”
Không trả lời được.
“OKR Q2 cho AIC là gì?”
Không trả lời được.
“Marketing chiếm bao nhiêu % effort của công ty? Sales đang convert lead theo flow gì? Khi đối tác sales nhận 2 lead Google Ads tuần này, họ follow theo template nào? Lead-to-deal conversion rate trung bình bao nhiêu? Tháng vừa rồi close bao nhiêu deal — cao hay thấp hơn cùng kỳ năm ngoái?”
Không một câu nào tôi trả lời được cụ thể.
Tôi vừa bỏ ra 8 giờ tối ưu Google Ads — mà không biết sales đang vận hành theo cơ chế nào, không biết Marketing chiếm bao nhiêu % effort của AIC, không biết North Star của công ty năm 2026 là gì.
Folder knowledge/companies/AIC/ mở ra — chỗ tôi định để toàn bộ tri thức về công ty mình.
Trống.
Có vài file tactical: debtors.md, partners.md. Hết. Không có vision, không có mission, không có OKR, không có strategy cho 6 function (Sales / Marketing / Operations / Finance / HR / R&D), không có customer journey, không có brand voice, không có budget allocation plan. Câu hỏi “AIC khác Maison Office ở điểm gì trong 1 câu?” — tôi không có 1 câu.
Tôi vừa optimize 1 sub-function (Google Ads) của 1 function (Marketing) của 1 entity (AIC) — mà gốc rễ chưa bao giờ tồn tại.
Cái cây 4-layer
Tôi vẽ ra mô hình này, và nó làm hơi lạnh sống lưng:
Layer 0 — GỐC RỄ (Identity, Mission, Values)
├── Tôi (CEO 3 entity) — vision cá nhân, life purpose
├── AIC — sứ mệnh, vị thế
├── OKG — sứ mệnh, vị thế
└── Cá nhân — tài chính, gia đình, sức khỏe
Layer 1 — THÂN (North Star Strategic Plan)
├── 3-5 năm goals mỗi entity
├── Time + capital allocation
└── Stakeholder map
Layer 2 — CÀNH LỚN (Function/Department)
Sales | Marketing | Operations | Finance | HR | R&D
Layer 3 — CÀNH NHỎ (Sub-function tactics)
Marketing → Google Ads | SEO | Content | Social | PR | Partnership
Layer 4 — LÁ (Daily execution)
• Pause keyword X
• Bid adjust Y
• ...
Tôi đã dành 1 tháng vừa qua build skill, ship tool, fix bug. Thuần Layer 4. Một số quyết định lan đến Layer 3. Hiếm khi chạm Layer 2. Layer 0-1 thì gần như chưa bao giờ.
Layer 0 không phải copy-paste vision statement của Apple. Layer 0 là cái mà chỉ mình tôi mới trả lời được — Tôi khởi nghiệp 3 entity vì lý do sâu nào? 5 năm tới đời tôi trông như thế nào? 3 giá trị tôi không đánh đổi dù business sụp?
Những câu hỏi đó tôi né. Tôi né nó vì nó không actionable. Nó không có code để ship, không có button để bấm, không có metric để đo. Nó là cái khó hơn tất cả: ngồi xuống tự hỏi — và trả lời thật.
Cái bẫy execution-first
Tôi đoán đây là dạng bias chung của founder solo có background tech:
Tay làm được trước. Code dễ feel-good hơn strategy. Ship được tool có dopamine ngay. Strategy là việc xây trên không khí — không thấy progress trong 30 phút, dễ nản.
Cộng thêm tâm lý “phải luôn productive” — mở Mac mà không làm gì là bứt rứt. Cách giải toả: làm cái gì đó. Mà execution thì lúc nào cũng có sẵn task. Strategy phải tự generate task — và tự generate task đòi hỏi đã có khung strategy trước.
Catch-22: cần strategy để tự generate strategic task, nhưng đang bận execution nên không có thời gian xây strategy.
1 tháng qua tôi rơi vào đúng cái vòng đó.
Cảm giác hôm nay — “plan E2E gần xong trong 1 ngày” — là cảm giác lừa. Tôi vừa làm rất tốt 1 việc rất nhỏ.
Lá hợp quang giỏi đến mấy, gốc không có thì cây chết.
Cuối tuần này
Phương pháp tôi chốt với JARVIS — 6 phase, không vội:
| Phase | Output | Time |
|---|---|---|
| A — Identity Ground | 4 file Layer 0 (1 page mỗi entity + cá nhân) | 1 session 90p |
| B — North Star 2026 | OKR Q2/Q3/Q4 + capital allocation | 1 session 60p |
| C — AIC Marketing Strategy | Vision + segment + brand voice + KPI | 1 session 60p |
| D — AIC other depts | Sales / Ops / Finance / HR / R&D | 1 session/dept × 5 |
| E — OKG | Tất cả dept | Tuần 5+ |
| F — Cá nhân | Tài chính, gia đình, sức khỏe | Defer Q3 |
Quy tắc cứng:
- KHÔNG xây hết 1 lần (overwhelm).
- KHÔNG pause execution (business chạy real money).
- Strategy build song song daily execution, không thay thế.
- Mỗi action JARVIS propose từ Phase B trở đi phải reference Layer 0-3. Chưa có Layer 0-3 đủ → JARVIS phải warn: “chưa có strategy, em propose dựa trên data thuần — anh duyệt cẩn thận”.
Đây là cơ chế chống AI chạy mỗi nẻo — vấn đề lớn của solo-founder dùng AI agent không có persistent strategic context.
Đoạn kết
7h tối. Đói. Còn 2 cuộc hẹn khách tuần sau, đối tác sales đang follow. Hy vọng Google Ads tháng này không lỗ.
Cái tôi học hôm nay — không mới, nhưng nhiều founder solo-tech (trong đó có tôi) bỏ qua:
Bạn không thể outsource Layer 0 cho AI. AI execute Layer 4 giỏi hơn bạn, có thể giỏi hơn bạn ở Layer 3 trong 1 năm tới. Nhưng Layer 0 — vision, identity, values — chỉ bạn mới trả lời được. Bạn không trả lời thì AI sẽ chạy mọi nẻo, vì nó không có gốc để dóng theo.
Cuối tuần này tôi ngồi xuống 90 phút trả lời 10-15 câu Layer 0. Không có code ship. Không có tool deploy. Không có dopamine.
Chỉ có cái cây bắt đầu có gốc.
Nếu bạn cũng là founder build AI agent cho công ty mình và đọc đến đây gật đầu — gửi tôi 1 email. Tôi đoán không chỉ mình tôi rơi vào cái bẫy này.