Build agent đầu tiên hữu ích: Trợ lý trả lời FAQ
Hướng dẫn xây dựng agent trả lời FAQ đầu tiên với OpenClaw/GoClaw: từ SOUL.md đến kết nối Telegram, tối ưu chi phí LLM, và deploy production trong 30 phút.
Bạn đã bao giờ trả lời câu hỏi "Sản phẩm này hỗ trợ thanh toán Momo không?" lần thứ 50 trong ngày chưa? Hoặc thức dậy với 30 tin nhắn Slack hỏi cách reset mật khẩu? Đó là lý do chúng ta cần một agent FAQ — không phải chatbot ngô nghê keyword-based, mà một "nhân viên tổng đài" AI thực sự biết sản phẩm của bạn, nhớ lịch sử trò chuyện, và làm việc 24/7 không kêu ca.
Vấn đề
Các cách tiếp cận cũ đều có điểm yếu chí mạng:
Static FAQ (WordPress/Notion): Khách hàng không đọc. Họ scan 3 giây, không thấy từ khóa chính xác, liền bỏ đi hoặc mở ticket hỗ trợ. Tỷ lệ bounce cao, trải nghiệm kém.
Support team con người: Tốn chi phí, nhân viên burnout vì trả lời lặp lại "làm sao đổi mật khẩu" 20 lần/ngày. Thời gian đáp ứng không đồng đều (nửa đêm không ai trực).
ChatGPT raw (không có context): LLM thuần túy bịa ra tính năng sản phẩm không tồn tại (hallucination), không nhớ khách hàng cũ từng hỏi gì, và không có quyền truy cập tài liệu nội bộ mới nhất.
Giải pháp cần phải là một hệ thống grounded (dựa trên tài liệu thật), persistent (có memory), và accessible (qua Telegram/Zalo mà khách hàng đã cài sẵn).
Ý tưởng cốt lõi
Thay vì dạy AI "học thuộc lòng" sản phẩm, chúng ta cho agent tra cứu như tra từ điển — đây là kiến trúc RAG (Retrieval-Augmented Generation) đơn giản nhất.
Kiến trúc 4 thành phần:
SOUL.md — Bản sắc và ranh giới
Đây là file markdown định nghĩa agent là ai, được làm gì, không được làm gì. Khác với "system prompt" thông thường, SOUL.md được đọc đầu tiên mỗi khi agent "thức dậy".
Ví dụ cho trợ lý TroiSinh:
---
name: TroiSinh Support Agent
description: Trợ lý hỗ trợ khách hàng TroiSinh, chuyên gia về AI Agent Platforms
model: gpt-4o-mini
## Nhiệm vụ
Trả lời câu hỏi kỹ thuật dựa trên tài liệu kiến thức nội bộ.
## Ràng buộc
- Chỉ trả lời dựa trên thông tin trong Knowledge Base. Nếu không biết, nói "Tôi cần chuyển lên bộ phận kỹ thuật" chứ không bịa.
- Luôn trả lời bằng tiếng Việt, giọng hỗ trợ chuyên nghiệp nhưng thân thiện.
- Không được tiết lộ thông tin giá nội bộ trừ khi người dùng là khách hàng đã xác thực.Knowledge Base — Kho tài liệu sản phẩm
Thư mục docs/ chứa các file markdown (FAQ, hướng dẫn, API reference). Khi khởi động, OpenClaw/GoClaw sẽ:
- Chunk (cắt nhỏ) tài liệu thành đoạn ~500 token
- Embedding qua model (ví dụ
text-embedding-3-small) - Lưu vào vector DB (Postgres với PGVector, hoặc Chroma)
LLM Engine — Bộ xử lý ngôn ngữ
GPT-4o-mini là lựa chọn ngon-bổ-rẻ cho FAQ: nhanh, hiểu tiếng Việt tốt, giá rẻ. Claude 3 Haiku là alternative nếu cần reasoning sâu hơn chút.
Channel — Cổng giao tiếp
Telegram Bot là điểm khởi đầu hoàn hảo: dễ setup, webhook ổn định, người dùng Việt Nam đã quen dùng. Zalo OA cũng tốt nhưng phức tạp hơn về xác thực.
Workflow thực thi
User hỏi trên Telegram
↓
Agent nhận message → Retrieval Tool (tìm 3 đoạn văn liên quan nhất trong vector DB)
↓
LLM synthesizes câu trả lời (dựa trên đoạn văn + SOUL.md + lịch sử chat)
↓
Gửi trả lời + lưu conversation vào DB cho lần sauKhoảnh khắc "à ra vậy": Agent này không phải là "script trả lời tự động" hay "if-then bot". Nó là một process sống có bản sắc (SOUL.md), có trí nhớ (vector DB + chat history), và có khả năng tự tra cứu kiến thức. Khách hàng không chat với "ChatGPT", mà chat với "chuyên viên hỗ trợ TroiSinh" — một thực thể cụ thể có ranh giới rõ ràng.
Tại sao nó hoạt động
Tách biệt biết và làm: LLM chỉ xử lý ngôn ngữ, vector DB xử lý trí nhớ. Điều này giống như bộ não người: vỏ não (neocortex) xử lý ngôn ngữ và suy luận, còn hải mã (hippocampus) lưu trữ và truy xuất ký ức. Khi bạn tách hai chức năng này, agent không bị "lẫn" giữa việc nhớ thông tin và việc diễn đạt.
RAG thay vì Fine-tuning: Tài liệu FAQ thay đổi hàng tuần — thêm tính năng mới, sửa giá, cập nhật chính sách. Fine-tuning một model mất vài giờ và chi phí cao; copy file markdown mới vào thư mục docs/ và restart agent là instant.
Progressive Disclosure: SOUL.md chỉ load 1 lần khi agent khởi động, Knowledge Base chỉ truy vấn khi cần (khi user hỏi). Điều này tiết kiệm token hơn việc dump cả tài liệu vào context window mỗi lần hỏi.
Ý nghĩa thực tế
| Tiêu chí | Static FAQ | ChatGPT raw | Agent FAQ (OpenClaw) |
|---|---|---|---|
| Độ chính xác | Cao (nếu tìm đúng) | Thấp (hallucinate) | Cao (grounded vào docs) |
| Chi phí vận hành | Hosting ~$5/tháng | $20-50/tháng (API) | $5-15/tháng (GPT-4o-mini) |
| Personalization | Không | Không | Có (nhớ lịch sử 30 ngày) |
| Setup time | 1 giờ | 5 phút | 30 phút |
Chi phí LLM thực tế (cho 1,000 query/ngày, mỗi query ~1,000 tokens):
- OpenAI GPT-4o-mini: ~0.60 (output) = **22/tháng)
- Claude 3 Haiku: ~1.25 = **45/tháng)
- Ollama (self-hosted): 50-100/tháng (phù hợp nếu cần data sovereignty)
Ai đang dùng:
- Startup SaaS: Giảm 80% ticket support cho câu hỏi lặp lại về pricing, tính năng.
- IT Internal: Trả lời tự động câu hỏi về VPN, cách đổi password, đặt phòng họp.
- E-commerce: Chính sách đổi trả, theo dõi đơn hàng (kết nối thêm tool tra cứu database).
Hạn chế cần biết:
- Không xử lý được giao dịch: Agent FAQ này chỉ đọc, không thể tạo đơn hàng hoặc xử lý thanh toán (cần security cao hơn, xem thêm ở 5-layer-security).
- Garbage in, garbage out: Nếu tài liệu
docs/cũ hoặc sai, agent sẽ trả lời sai. Cần quy trình cập nhật docs định kỳ. - Hallucination vẫn có thể xảy ra: Với câu hỏi edge case không có trong docs, agent có thể bịa đáp án nếu SOUL.md không ràng buộc chặt. Cần monitoring (qua hooks-overview) để phát hiện.
Đào sâu hơn
Tài liệu chính thức:
- OpenClaw Documentation — Hướng dẫn chi tiết về config và deployment.
- Telegram Bot API — Tài liệu webhook và message format.
Cùng cụm (Thiết lập & Chạy agent đầu tiên):
Cài đặt OpenClaw từ zero
Hướng dẫn chi tiết cài đặt Docker, PostgreSQL, và khởi động OpenClaw lần đầu.
Viết SOUL.md chuyên sâu
Kỹ thuật định nghĩa personality, ranh giới an toàn, và tone of voice cho agent.
Kết nối thêm Zalo, Discord, Slack
Mở rộng agent ra nhiều kênh khác ngoài Telegram.
So sánh chi phí LLM provider
Benchmark OpenAI, Anthropic, và Ollama — khi nào dùng cái nào để tối ưu budget.
Tối ưu chi phí cơ bản
Chiến lược prompt caching, model selection, và rate limiting để giảm 70% bill.
Đọc tiếp (Level 1 — Phát triển Agent):
Tạo Custom Skill: Package kiến thức thành markdown
Thêm tool tùy chỉnh (search, calculator, API caller) để agent làm được nhiều hơn trả lời FAQ.
RAG cho Agent: Khi memory không đủ
Chiến lược chunking, embedding, và hybrid search để tăng độ chính xác truy xuất tài liệu.
Kiến trúc Memory nâng cao
Phân biệt short-term, working, và long-term memory — thiết kế agent nhớ dài hạn qua nhiều session.
AGENTS.md: Thiết lập workspace rules cho agent — Từ hỗn loạn đến nhất quán
AGENTS.md là file cấu hình workspace cho AI agent, định nghĩa rules cụ thể cho từng dự án, giúp agent nhất quán giữa các session và thành viên trong team.
Kết nối agent với Telegram, Zalo, Discord — Biến chat app thành 'văn phòng' cho AI
Hướng dẫn kết nối AI agent với Telegram Bot, Zalo OA và Discord qua webhook. Từ cấu hình BotFather đến xử lý async messaging, mở rộng agent ra khỏi terminal.