Bài 12: Agent Trở Thành Cộng Sự Tức Thì

MỤC TIÊU CUỐI BÀI

Nhiệm vụ trước anh em đã cho agent cánh tay (MCP). Hôm nay cho nó việc cụ thể, giọng riêng, và thói quen chủ động. Lần đầu tiên agent không đợi anh em nhắn — nó tự nhắn khi có chuyện xảy ra.

MỤC TIÊU CUỐI NGÀY

Đang làm việc khác, bỗng Telegram tự bật một trong những tin kiểu này:

"Có đơn mới vừa vào: 450k của chị Hà, 2 sản phẩm."
"Có người mới điền form: anh Minh, SĐT 0903xxx. Đây là khách thứ 5 hôm nay."
"8h sáng. Tối qua chốt 3 đơn, tổng 1.2tr. Hôm nay anh em chưa có việc nào đang chờ xử lý."

→ Agent tự theo dõi business, tự nhắn anh em khi có chuyện — không cần anh em hỏi trước.

SỰ KHÁC BIỆT CỦA NGÀY HÔM NAY

Đến giờ agent phản ứng — anh em nhắn gì, nó làm đó. Hôm nay agent chủ động — tự biết chuyện và tự báo.

Nếu anh em chưa có team, agent chính là cộng sự đầu tiên của anh em. Nếu anh em đã có team, agent thành người giữ mắt giúp cả team — không bao giờ ngủ quên việc.

TINH THẦN AI-FIRST (để AI làm — mình chỉ duyệt)

Hôm nay nhẹ hơn nhiệm vụ trước. Không phải đưa code mới lên VPS, không đụng VPS, không SSL. Anh em chỉ cần:

  • Agent coding thêm 1 MCP function nhỏ (không tạo bảng mới)
  • Agent coding viết nháp các file MD cho goClaw
  • Anh em tải file + thiết lập Heartbeat qua Dashboard (bấm chuột, không gõ lệnh)

Tổng thời gian: ~2-3 giờ. Chỗ duy nhất anh em phải tự quyết: "Agent cần nhắn tôi khi có chuyện gì?"

SOP — HƯỚNG DẪN CHI TIẾT TỪNG BƯỚC

Phần Một: Cho agent một việc dễ nhất để bắt đầu

BƯỚC 01 — Chọn 1 tín hiệu để agent theo dõi:

Không cần nghĩ lớn. Ngày đầu tiên agent làm việc chủ động, mục tiêu chỉ là một tín hiệu đơn giản — khi nó xảy ra, agent nhắn anh em.

3 lựa chọn dễ nhất — chọn 1 hợp với business của anh em:

  • Tín hiệu 01 · Đơn mới: Có đơn hàng vừa vào. Data anh em đã có sẵn (bảng orders từ nhiệm vụ Sepay). Chỉ cần thêm 1 MCP function đọc đơn mới trong X phút gần đây. Agent nhắn anh em khi có đơn.
    "Đơn mới: chị Hà, 450k, 2 sản phẩm. Tổng hôm nay: 3 đơn."
  • Tín hiệu 02 · Form/lead mới: Có người mới điền form. Data anh em đã có sẵn (bảng waitlist hoặc customers từ nhiệm vụ form). Chỉ cần thêm 1 MCP function đọc lead mới. Agent nhắn anh em.
    "Anh Minh vừa điền form, SĐT 0903xxx. Khách thứ 5 hôm nay."
  • Tín hiệu 03 · Báo cáo sáng: Tổng kết 24h qua. Đơn giản nhất — không cần theo dõi tức thì. Cron chạy 8h mỗi sáng, agent tổng hợp đơn + khách + doanh thu tối qua. Phù hợp nếu business anh em chậm, không cần biết ngay lập tức.
    "8h sáng. Tối qua chốt 3 đơn, 1.2tr. 2 khách mới điền form."

Nên chọn Tín hiệu 01 hoặc 02: Vì nó bắn ra tức thì khi có chuyện — cho anh em thấy ngay tính tức thì. Tín hiệu 03 dễ nhất nhưng chỉ chạy 1 lần/ngày, ít cảm giác bất ngờ. Muốn hăng hái? Làm cả 3 — 1 nhắn tức thì (01 hoặc 02) + 1 báo sáng (03).

BƯỚC 02 — Vibe thêm 1 MCP function:

Mở agent coding ngay trong thư mục website trên máy. Dán đoạn hướng dẫn đơn giản này vào agent:

LỆNH COPY – THÊM MCP FUNCTION

Tôi muốn agent AI của tôi (qua goClaw + Telegram) tự nhắn tôi khi có chuyện xảy ra trong business. Tín hiệu tôi chọn: [điền Tín hiệu 01, 02, 03 — hoặc mô tả ngắn use case riêng] Trước khi code, hãy: 1. ĐỌC codebase hiện tại — brain.db + MCP server từ nhiệm vụ trước. Cho tôi biết đang có bảng gì, function MCP gì. 2. ĐỀ XUẤT plan: - Có cần thêm cột nào vào bảng hiện có không (ví dụ: cờ "đã_nhắn" để không nhắn trùng)? - Cần thêm MCP function nào? (tên + input + output) - KHÔNG tạo bảng mới, KHÔNG tạo trang admin mới — chỉ mở rộng cái đã có. 3. Sau khi tôi duyệt plan, code + đưa lên VPS + thử nhanh để chắc function trả đúng. Mục tiêu: giữ đơn giản nhất có thể. Tôi không cần tính năng phức tạp — chỉ cần 1 function để agent đọc được tín hiệu này.

💡 Đừng tự viết prompt dài hơn: Agent coding đã hiểu codebase của anh em. Anh em chỉ cần nói mục tiêu ngắn gọn. Prompt dài quá sẽ làm nó bị bó khuôn, khó sáng tạo giải pháp phù hợp.

Phần Hai: Nâng cấp bộ não thứ 2

BƯỚC 03 — Hiểu sự nâng cấp:

Bộ não thứ 2 của anh em đang ở đâu? Từ Bài 4 anh em đã xây bộ não thứ 2 — file brain.db chứa brand voice, knowledge, business info. Nó đang nằm trên máy anh em, im lặng.

Hôm nay anh em đánh thức nó dậy và kết nối với goClaw. Từ giờ, agent đọc được brand voice, biết giọng anh em, biết nguyên tắc anh em — lần đầu agent nói chuyện "như anh em", không phải ChatGPT generic.

💡 Hiểu kiểu đơn giản nhất: brain.db = cuốn sổ tay của anh em ở nhà. goClaw = cộng sự ở văn phòng. Hôm nay anh em photocopy cuốn sổ, mang qua văn phòng, đưa cho cộng sự đọc. Vậy thôi.

BƯỚC 04 — Export brain.db ra markdown:

goClaw đọc được markdown, không đọc được SQLite trực tiếp. Cần chuyển đổi. AI làm giúp:

LỆNH COPY – EXPORT DATABASE

Mở thư mục my-brain trên máy tôi. Đọc file brain.db. Làm giúp tôi: 1. Tạo thư mục vault-ready/ mới. 2. Đọc các table trong brain.db và xuất ra file markdown — mỗi table 1 file: - brand_voice → brand-voice.md (giọng văn, tone, từ hay dùng/tránh) - knowledge → knowledge-base.md (kiến thức chuyên môn) - business → my-business.md (sản phẩm, khách hàng mục tiêu) - các table khác có gì thì xuất hết (faq, objections, products...) 3. Dùng cú pháp [[wikilinks]] khi 1 file nhắc tới nội dung của file khác — giúp goClaw liên kết các khái niệm. 4. Viết file index.md — mục lục liệt kê tất cả file, có wikilink. 5. Báo tôi có bao nhiêu file, bao nhiêu từ. Không có table nào thì skip. Không tự tạo data giả.

💡 Không có brain.db? Có thể anh em đã skip Bài 4 hoặc lưu brand voice ở chỗ khác. Dùng prompt này thay thế: "Tạo thư mục vault-ready/ với 3 file markdown: brand-voice.md, my-business.md, knowledge-base.md. Hỏi tôi từng câu ngắn (tone, từ dùng, sản phẩm, USP, 3 kiến thức quan trọng), viết file dựa trên câu trả lời. Làm từng file một."

BƯỚC 05 — Upload vào Knowledge Vault:

Knowledge Vault là thư viện tài liệu trong goClaw. Agent dùng nó để tra cứu mỗi khi trả lời — giống Google search riêng cho agent.

Cách 1 — Tải lên qua Dashboard (đơn giản nhất)

  • Mở https://app.yourdomain.com → đăng nhập goClaw Dashboard.
  • Sidebar → Core → Knowledge Vault (hoặc Documents tùy phiên bản).
  • Bấm Upload → chọn từng file trong thư mục vault-ready/.
  • Chờ trạng thái chuyển đã xử lý xong.

Cách 2 — Đồng bộ hệ thống file (nếu Cách 1 không có giao diện)

LỆNH COPY – ĐỒNG BỘ FILE

Tôi muốn nạp các file MD vào Knowledge Vault của goClaw qua đồng bộ hệ thống file. Thông tin VPS: [điền IP, SSH user] Làm giúp: 1. Đọc tài liệu tại https://docs.goclaw.sh/ tìm đường dẫn thư mục vault (thường ~/.goclaw/vault/ hoặc /opt/goclaw/vault/). 2. SSH vào VPS, kiểm tra thư mục. Chưa có thì tạo. 3. SCP tất cả file trong vault-ready/ lên thư mục vault trên VPS. 4. Kiểm tra goClaw đã tự xử lý chưa (qua Dashboard hoặc nhật ký). Nếu chưa, hướng dẫn tôi tải lại. Làm từng bước một.

💡 Lạc trong Dashboard? Chụp màn hình chỗ anh em đang đứng → dán vào Claude (hoặc agent coding anh em đang dùng) → hỏi "tôi đang tìm Knowledge Vault để tải file, bấm đâu tiếp?". Nhanh hơn đi tìm menu.

Phần Ba: Cho agent giọng riêng

BƯỚC 06 — Hiểu 4 Context Files cốt lõi:

Ngoài Knowledge Vault (tra cứu khi cần), mỗi agent có một bộ file định nghĩa nó là ai — gọi là **Context Files**. Đây là file agent đọc mỗi lần trước khi trả lời. Hôm nay viết 4 file quan trọng nhất:

  • SOUL.md (Linh hồn — "Tôi là ai"): Cá tính, giọng điệu, phong cách nói chuyện. Đây là file quyết định agent nói "như chị Lan bán khóa tự tin, gần gũi" hay "như trợ lý robot cứng nhắc".
  • USER.md (Về anh em — "Tôi đang làm việc với ai"): Tên anh em, business đang làm, cách giao tiếp ưa thích. Agent gọi anh em đúng tên, nhớ anh em là ai, adjust theo thói quen.
  • AGENTS.md (Nguyên tắc — "Tôi được/không được làm gì"): Hướng dẫn vận hành — agent được phép làm gì (nhắn báo đơn mới, trả lời khách), không được làm gì (giảm giá tự tiện, hứa ngày ship, xóa dữ liệu). Hàng rào an toàn.
  • HEARTBEAT.md (Thói quen — "Tôi tự kiểm tra gì mỗi 5-10 phút"): Checklist agent đọc mỗi lần "tim đập". Đây là file kích hoạt tính tức thì — nó bảo agent tự gọi MCP function đã build ở Phần 1 để kiểm tra có tín hiệu mới không.
BƯỚC 07 — Để AI viết nháp 4 file:

Không tự viết — để AI đọc brain.db và soạn sẵn 4 file. Dán vào agent coding:

LỆNH COPY – DRAFT CONTEXT FILES

Tôi cần bạn viết nháp 4 Context Files cho agent goClaw. Đọc brain.db trong thư mục my-brain/ trước. Quan trọng: ở Phần 1 hôm nay tôi đã thêm MCP function: [tên function + ý nghĩa, ví dụ: "get_new_orders_since_last_check() — đọc đơn mới trong X phút gần đây"]. File HEARTBEAT.md phải gắn với function này. Tạo thư mục context-files/ mới, viết 4 file: 1. SOUL.md — personality agent dựa trên brand_voice trong brain.db. Các phần: # Who I Am, # How I Talk, # What I Care About, # Phrases I Use, # Phrases I Avoid. 2. USER.md — về tôi (user), dựa trên business + brand_voice. Các phần: # My Name, # What I'm Building, # How I Like To Be Talked To. 3. AGENTS.md — hướng dẫn vận hành. Các phần: # What You CAN Do (5 việc agent được phép, BAO GỒM gọi MCP function để chủ động nhắn tôi), # What You MUST NOT Do (3 việc cấm), # When Uncertain (mặc định: hỏi tôi trước khi hành động). 4. HEARTBEAT.md — file QUAN TRỌNG NHẤT. Nội dung: # Every Heartbeat Check Bạn là cộng sự của tôi. Mỗi lần tim đập: 1. Gọi [tên MCP function đã build ở Phần 1] 2. Nếu có kết quả (có đơn mới / form mới / vv): → Nhắn tôi trên Telegram, kèm đầy đủ context cần thiết → Giọng theo SOUL.md 3. Nếu không có gì mới: im lặng, không spam. Quy tắc vàng: - Chỉ nhắn khi có VIỆC GIÁ TRỊ — không nhắn "không có gì mới" - Không nhắn cùng 1 thứ 2 lần — cơ chế đã_nhắn trong database lo việc đó - Tone luôn theo SOUL.md Mỗi file ngắn (50-150 dòng), tiếng Việt, giọng tự nhiên theo brand_voice. Sau khi xong, show nội dung từng file, hỏi tôi có chỉnh gì không — đặc biệt HEARTBEAT.md vì nó quyết định cách agent làm việc.

💡 Sau khi AI viết nháp xong: Đọc kỹ, chỉnh 10-20% cho đúng giọng thật. Chỗ nào nghe "giống AI viết" thì viết lại.

BƯỚC 08 — Upload 4 file vào agent:
  • Dashboard → Sidebar → Core → Agents.
  • Chọn agent Telegram anh em đã tạo ở nhiệm vụ trước.
  • Tab Files (hoặc Context tùy phiên bản).
  • Tải lên (hoặc dán nội dung) từng file: SOUL.md, USER.md, AGENTS.md, HEARTBEAT.md.
  • Lưu lại.

💡 Không thấy thẻ Files? Chụp màn hình Dashboard agent của anh em → dán vào Claude (hoặc agent coding anh em đang dùng) → "tôi muốn tải lên 4 file MD làm context cho agent này, thẻ nào?". Mỗi version goClaw bố cục hơi khác. Nếu không có UI: bảo agent coding SSH vào VPS, copy file vào thư mục context của agent (thường ~/.goclaw/agents/[tên-agent]/).

Phần Bốn: Cho agent thói quen chủ động

BƯỚC 09 — Bật Heartbeat:

Giống tim đập — cứ đều đặn N phút một lần, agent tự đọc file HEARTBEAT.md và làm theo checklist. Đây là cơ chế biến agent từ phản ứng thành chủ động.

  • Dashboard → Agent detail (trang chi tiết agent) → thẻ Config (cấu hình).
  • Phần Heartbeat → bật Enabled (kích hoạt).
  • Interval (khoảng thời gian giữa 2 lần tim đập): đặt 5m (5 phút) — đủ tức thì để cảm nhận, chưa tốn nhiều chi phí AI.
  • Active Hours (giờ hoạt động): chọn giờ agent làm việc (ví dụ 7h-23h) — tránh chạy lúc 3h sáng tốn chi phí AI vô ích.
  • Model (chọn mô hình AI): chọn model rẻ cho Heartbeat (Haiku hoặc GPT-4o-mini) — Heartbeat chỉ kiểm tra nhẹ, không cần Sonnet.
  • Lưu lại.
BƯỚC 10 — (Tùy chọn) Thêm cron báo sáng:

Heartbeat lo việc bất ngờ. Cron lo việc đúng giờ. Nếu anh em muốn có thêm báo sáng cố định 8h mỗi ngày, thiết lập thêm 1 cron:

Cấu hình Cron Jobs:

  • Dashboard → Automation (tự động hoá) hoặc Cron Jobs (lịch tự động).
  • Bấm Add (thêm mới). Điền:
    • Name (tên): morning-briefing
    • Schedule (lịch chạy): 0 8 * * * (8h sáng mỗi ngày)
    • Timezone (múi giờ): Asia/Ho_Chi_Minh
    • Agent: chọn agent Telegram của anh em
    • Message (tin nhắn giao cho agent): "Chào sáng. Tổng kết 24h qua: có bao nhiêu đơn, doanh thu, khách mới. Báo ngắn gọn."
    • Channel / Target (kênh gửi / người nhận): Telegram chat của anh em
  • Lưu lại.

💡 Không biết cú pháp cron? Hỏi AI: "Cho tôi cron expression cho 8h sáng mỗi ngày, Việt Nam." → AI trả 0 8 * * * + timezone Asia/Ho_Chi_Minh. Xong.

BƯỚC 11 — Test 3 cấp:

Đừng đợi mai test. Làm 3 thử nhanh ngay bây giờ:

  • Test 1 — Giọng (kiểm tra Context Files): Trong Telegram, hỏi agent:
    "Bạn là ai?" → trả lời theo SOUL.md (không phải "Tôi là AI assistant...")
    "Bạn có được phép giảm giá cho khách không?" → theo AGENTS.md (thường: "không, cần hỏi sếp trước")
    Trả lời đúng → Context Files đang hoạt động. Trả lời generic → xem troubleshoot bên dưới.
  • Test 2 — Nhắn tức thì (quan trọng nhất hôm nay): Tùy tín hiệu anh em chọn:
    Tín hiệu 01 (đơn mới) → tự tạo 1 đơn test qua trang bán hàng (hoặc thêm trực tiếp vào DB) → chờ 5-10 phút.
    Tín hiệu 02 (form mới) → tự điền form trên landing page → chờ 5-10 phút.
    Trong vòng 10 phút, Telegram phải tự bật tin nhắn từ agent, kèm chi tiết. Đây là khoảnh khắc bất ngờ — agent đang chủ động làm việc thay anh em.
  • Test 3 — Cron báo sáng (chỉ nếu làm Bước 10): Dashboard → Cron Jobs → morning-briefing → bấm Run Now. Telegram phải nhận tin báo sáng trong 30 giây.

⚡ Nếu Test 2 không nhắn — Kiểm tra theo thứ tự:

  1. Agent có đọc HEARTBEAT.md không? Dashboard → Agent → xem nhật ký Heartbeat. Phải thấy heartbeat đã chạy gần đây.
  2. MCP function có trả data đúng không? Gọi thẳng qua Telegram: "Dùng tool [tên function] xem có gì mới không." — nếu nó trả được, MCP ok.
  3. Cơ chế "đã nhắn" — có thể đơn đã được đánh dấu nhắn rồi từ Heartbeat trước. Tạo đơn mới hoàn toàn để thử.
  4. Vẫn không được? Chụp nhật ký Heartbeat → dán vào agent coding → "agent không nhắn khi có đơn mới, sửa lỗi giúp."

Hoàn thành khi:

  • Agent trả lời đúng giọng anh em (không còn generic)
  • Agent tự nhắn trước khi anh em hỏi — khi có đơn/form mới

Mẹo AI-First tổng cho cả bài

Hôm nay nhẹ hơn nhiệm vụ trước. Không đưa code mới lên, không cài phần mềm, không SSH nhiều. Chủ yếu:

  • Dán prompt ngắn → AI code hoặc viết MD → anh em đọc duyệt.
  • Bấm trên Dashboard để tải file, bật Heartbeat, đặt cron.
  • Test bằng cách tạo đơn/form giả → chờ agent nhắn.

Chỗ khó nhất: "biết chỗ nào bấm trên Dashboard". Mỗi version goClaw bố cục khác nhau. Nguyên tắc: chụp màn hình + hỏi Claude (hoặc agent coding anh em đang dùng).

Quay lại Bài 11 Tiến tới Bài 13