
BotPsy-0.8B: model AI agent 0,8 tỷ tham số chạy hoàn toàn trên máy — gọi tool giỏi hơn cả model lớn gấp 2,5 lần
Vấn đề thực tế: agent cloud tốn tiền và lộ dữ liệu
Một buổi sáng bình thường: agent của bạn đọc lịch, kiểm tra ổ đĩa homelab, nhắc cuộc hẹn nha sĩ lúc 3 giờ chiều — mỗi việc nhỏ đó là một lần gọi API lên cloud, tính tiền theo token. Cuối tháng, hóa đơn đến từ hàng trăm việc lặt vặt mà model lớn không hề cần thiết để làm.
Phần lớn tác vụ agent hằng ngày không phải suy luận sâu — nó là quyết định gọi tool nào, với tham số nào, rồi đọc kết quả. Ngày 11/11/2026, Tether AI Research công bố trên blog Hugging Face một model chỉ 0,8 tỷ tham số, chạy hoàn toàn trên máy, nhưng gọi tool tốt hơn cả model cùng họ lớn gấp 2,5 lần. Đó là BotPsy-0.8B.
BotPsy là gì?
BotPsy-0.8B là model ngôn ngữ chuyên gọi function và chạy agentic workflow, do Tether AI Research phát triển, post-train từ Qwen3.5-0.8B, chỉ xử lý text, giấy phép Apache 2.0. Weights đã có sẵn: qvac/BotPsy-0.8B (BF16, 1,52 GB) và qvac/BotPsy-0.8B-GGUFs (BF16 / Q8_0 0,81 GB / Q4_K_M 0,53 GB) cho llama.cpp và QVAC SDK. Model chạy trên Transformers, vLLM và llama.cpp chuẩn, không cần code tùy chỉnh.
Đối tượng rõ nhất là người tự host và chơi homelab, lập trình viên đang xây agent, người dùng coding agent muốn agent chạy local, và IT manager quan tâm tới chi phí và riêng tư dữ liệu. Nếu dữ liệu của bạn không được phép rời khỏi máy, hoặc bạn muốn chi phí biên của mỗi lần gọi tool về gần bằng không, BotPsy đáng thử. Ngược lại, nhà phát triển nói thẳng BotPsy không dành cho tác vụ high-stakes hay quyết định liên quan tới tiền bạc, sức khỏe, thông tin cá nhân nhạy cảm.
Kiến trúc và cơ chế hoạt động của BotPsy
Quy trình huấn luyện 4 giai đoạn
Quy trình post-training có bốn giai đoạn: SFT trên dữ liệu tool-calling; multi-teacher on-policy distillation, trong đó ba teacher Qwen3.5-4B cùng dạy cho student 0,8B; rồi hai vòng RL bằng thuật toán DAPO. Training code và dữ liệu không được phát hành.
RL đã dạy model một kỷ luật quyết định: dừng suy luận đúng lúc và gọi tool, thay vì suy luận vòng vo. Token suy luận trung bình trên GPQA Diamond giảm khoảng 3 lần (11.563 xuống 3.690); vòng lặp suy luận rơi từ 22,9% xuống 1,4%. Theo mình, đây là insight quan trọng nhất: mức tăng đến từ việc model biết dừng lại và hành động — distillation truyền được kỹ năng gọi tool, chứ không truyền được kiến thức.
Luồng suy luận và gọi tool
Model suy luận ở thinking mode rồi quyết định có cần gọi tool không. Nếu cần, nó tạo tool call XML Qwen3.5, tool thực thi trên máy, kết quả trả về cho model suy luận tiếp; nếu không có tool phù hợp, model từ chối thay vì bịa ra một tool call. Hai cài đặt quyết định chất lượng: thinking mode bắt buộc bật (enable_thinking=True) — template mặc định non-thinking, quên bật thì model vẫn chạy mà không báo lỗi, nhưng trả lời kém hẳn; và sampling temperature 0.3, top_p 0.95, top_k 20, presence_penalty 1.5. Server phải dùng đúng parser — qwen3_xml cho tool call, qwen3 cho reasoning trên vLLM. Khi không có tool phù hợp, BotPsy từ chối trong 86,1% trường hợp (BFCL v4), cao nhất nhóm được test.
Sơ đồ kiến trúc
flowchart TD
A[User Request<br/>VD: kiểm tra dung lượng ổ đĩa] --> B[BotPsy Thinking<br/>enable_thinking=True]
B --> C{Decision:<br/>Cần gọi tool?}
C -- Có --> D[Tool Call<br/>Qwen3.5 XML<br/>parser qwen3_xml]
D --> E[Tool Execution local<br/>read-only / sandbox<br/>dữ liệu không rời máy]
E --> F[Tool Result]
F --> B
C -- Không --> G[Final Answer<br/>Trả lời người dùng]
C -- Không có tool phù hợp --> H[Refuse / Ask Clarification<br/>hallucination refusal 86.1%]
H --> G
Phụ thuộc và giới hạn kỹ thuật
BotPsy cần Transformers hỗ trợ Qwen3.5 (đã test 5.19.0); có thể cài thêm flash-linear-attention và causal-conv1d. Model ưu tiên tiếng Anh; tiếng Việt chưa có số liệu — hãy tự test trước khi tin. Roadmap mới là kế hoạch, chưa phải tính năng có sẵn.
Hiệu năng theo số liệu của nhà phát triển
Toàn bộ benchmark dưới đây do Tether tự chạy (đánh giá ngày 03/11/2026, chế độ thinking), chưa kiểm chứng độc lập — hãy tự test với tool của chính mình trước khi tin.
Ở nhóm benchmark agentic, BotPsy dẫn đầu 5/6 bài test, kể cả trước model lớn gấp 2,5 lần: BFCL v4 44,0 (base 23,4; 2B-Think 37,7); ACEBench 58,7 (30,1; 55,4); τ-bench 51,5 (23,2; 46,5); ToolSandbox 64,6 (30,5; 41,2); trung bình 45,0 (24,7; 38,8). Điểm thua duy nhất: Claw-Eval 46,5 so với 48,9. Ở bài test đa lượt, τ²-bench telecom đạt 82,5 so với 69,3; multi-turn BFCL v4 tăng từ 7,5 lên 46,1.
Kiến thức tổng quát vẫn đi theo quy mô: GPQA Diamond 38,1 so với 59,9 của bản 2B, MMLU-Pro 48,9 so với 65,5. Tuân thủ hướng dẫn tăng mạnh: IFEval 90,8 (base 59,7), IFBench 55,9 (base 22,0) — cao nhất nhóm được test. Điểm yếu nhà phát triển tự thừa nhận: BrowseComp-Plus chỉ 4,5; BFCL web search 14,0, memory 16,3; τ³-banking không model nào vượt qua 5. Về an toàn, red-teaming của chính vendor cho unsafe rate 21% và prompt-injection 31% — cải thiện so với base, nhưng vẫn cao.
Hướng dẫn triển khai BotPsy trên máy
Điều kiện tiên quyết
Bạn cần một trong ba thứ: Python với Transformers hỗ trợ Qwen3.5 (đã test 5.19.0), vLLM, hoặc llama.cpp với file GGUF. Dung lượng: BF16 khoảng 1,52 GB, Q8_0 khoảng 0,81 GB, Q4_K_M khoảng 0,53 GB — bản Q4_K_M chạy được trên CPU laptop qua llama.cpp (suy luận từ kích thước file, chưa test).
Cách 1 — vLLM server OpenAI-compatible
Cách này phù hợp nhất nếu bạn xây agent, vì server tương thích API OpenAI:
vllm serve qvac/BotPsy-0.8B --language-model-only \
--enable-auto-tool-choice --tool-call-parser qwen3_xml --reasoning-parser qwen3
Từng flag: --language-model-only chỉ phục vụ model ngôn ngữ; --enable-auto-tool-choice cho server tự quyết định khi nào gọi tool; --tool-call-parser qwen3_xml parse tool call theo XML Qwen3.5; --reasoning-parser qwen3 tách phần suy luận khỏi nội dung trả lời.
Cách 2 — llama.cpp với GGUF
Cách này phù hợp nhất cho laptop không có GPU mạnh. Repo GGUF khuyên dùng bản Q8_0 (điểm trung bình 50,7, gần như ngang BF16 là 50,4).
hf download qvac/BotPsy-0.8B-GGUFs botpsy-0.8b-q8_0.gguf --local-dir .
llama-server -m botpsy-0.8b-q8_0.gguf --jinja -c 32768 \
--temp 0.3 --top-p 0.95 --top-k 20 --presence-penalty 1.5 \
--chat-template-kwargs '{"enable_thinking": true}' --port 8080
Kiểm tra server bằng curl
Một lệnh curl chung cho cả hai server (llama-server cổng 8080, vLLM cổng 8000):
curl -s http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{
"messages": [{"role": "user", "content": "Add the dentist on Friday at 3 pm."}],
"tools": [{"type": "function", "function": {
"name": "create_event",
"parameters": {"type": "object", "properties": {
"title": {"type": "string"}, "day": {"type": "string"},
"time": {"type": "string"}},
"required": ["title", "day", "time"]}}}],
"max_tokens": 8192
}'
Kết quả kỳ vọng: reasoning_content chứa suy luận, tool_calls chứa hàm create_event (title Dentist, day Friday, time 15:00). Nếu tool_calls trống, kiểm tra lại parser và enable_thinking.
Cách 3 — Transformers (Python)
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "qvac/BotPsy-0.8B"
tokenizer = AutoTokenizer.from_pretrained(model_id)
device = "cuda" if torch.cuda.is_available() else "cpu"
model = AutoModelForCausalLM.from_pretrained(model_id, dtype=torch.bfloat16).to(device)
Nhớ bật enable_thinking=True trong apply_chat_template và dùng sampling temperature 0.3, top_p 0.95, top_k 20, presence_penalty 1.5.
Lỗi thường gặp và cách xử lý
Quên bật thinking mode là lỗi phổ biến nhất: model chạy kém hẳn mà không báo lỗi — kiểm tra lại enable_thinking=True ở mọi nơi gọi model. Sai tool-call parser trên vLLM là lỗi thứ hai: agent “nói” về tool thay vì gọi tool — kiểm tra lại --tool-call-parser qwen3_xml và --reasoning-parser qwen3. Transformers cũ sẽ báo lỗi khi load model — nâng cấp lên 5.19.0.
Sao lưu và quay lại khi cần
Quay lại model cũ chỉ là đổi model id trong config — về Qwen3.5-0.8B-Think, Qwen3.5-2B-Think, hoặc trỏ lại API cloud — không cần đổi code agent vì BotPsy chạy sau API tương thích OpenAI.
Đánh giá kỹ thuật
BotPsy gọi tool vượt model lớn gấp 2,5 lần cùng họ Qwen ở BFCL v4 (44,0 so với 37,7). Nó chạy hoàn toàn on-device: dữ liệu không rời máy, không phụ thuộc API, chi phí vận hành gần bằng không sau khi tải weights. Apache 2.0 và stack chuẩn, không khóa runtime; ít hơn khoảng 3 lần token suy luận.
Ngược lại, kiến thức tổng quát yếu hơn hẳn model 2B (GPQA 38,1 so với 59,9; MMLU-Pro 48,9 so với 65,5). Model yếu ở tìm kiếm web, memory dài hạn và tác vụ banking, ưu tiên tiếng Anh. Benchmark chỉ từ vendor; training code và dữ liệu không phát hành nên không audit được quy trình. Trong phổ local, BotPsy là đầu nhỏ nhất: Colibri chạy model MoE lớn trên máy cá nhân để đổi lấy năng lực, còn BotPsy đổi năng lực lấy kích thước.
Điểm mạnh thật về bảo mật là dữ liệu không rời máy khi chạy local. Nhưng điểm yếu thật cũng cần nói thẳng: unsafe rate 21% và prompt-injection 31% theo red-teaming của chính vendor vẫn cao, vì model nhỏ dễ bị prompt injection qua nội dung tool trả về. Cách vận hành an toàn là cấp tool theo quyền tối thiểu: bắt đầu với tool chỉ đọc, không cho tool ghi, xóa hay chuyển tiền khi chưa kiểm soát được hành vi của model. Đưa tool vào sandbox, log mọi tool call, không đưa secret vào prompt.
Về hiệu năng và mở rộng, chỉ dùng số liệu đã có: weights 0,53–1,52 GB, token suy luận giảm khoảng 3 lần, tỉ lệ vòng lặp 1,4%. Bài này không đưa ra throughput hay độ trễ, vì chưa có số liệu độc lập và mình chưa chạy thử.
So sánh BotPsy với các lựa chọn khác
| Tiêu chí | BotPsy-0.8B | Qwen3.5-0.8B | Qwen3.5-2B | LFM2.5-1.2B | MiniCPM5-1B |
|---|---|---|---|---|---|
| BFCL v4 | 44,0 | 23,4 | 37,7 | 28,1 | 22,8 |
| ACEBench | 58,7 | 30,1 | 55,4 | 39,4 | 24,5 |
| τ-bench | 51,5 | 23,2 | 46,5 | 6,5 | 28,8 |
| ToolSandbox | 64,6 | 30,5 | 41,2 | 45,7 | 28,1 |
| MMLU-Pro | 48,9 | 41,6 | 65,5 | 39,4 | 40,0 |
| IFEval | 90,8 | 59,7 | 80,0 | 85,6 | 78,4 |
Bảng trên dùng đúng số liệu vendor công bố, ở chế độ thinking. BotPsy thắng ở tool-calling trên mỗi tham số, thua ở kiến thức tổng quát. Muse Ember là model nhỏ cho agent nhưng chạy qua cloud API — cùng triết lý, khác ở chỗ vẫn phụ thuộc API. Jev giảm chi phí AI bằng cách định tuyến; BotPsy là đáp án cực đoan: đưa hẳn tác vụ về máy local.
Use case thực tế
Homelab và self-hosting. Agent local điều khiển homelab: tra trạng thái container, đọc log, tạo ticket khi dịch vụ lỗi — dữ liệu hạ tầng không rời khỏi mạng nhà. Kết hợp với bài Orkas về hệ sinh thái local-first, BotPsy có thể làm bộ não gọi tool của hệ thống agent trên desktop.
Lập trình viên xây agent và coding agent local. Dùng BotPsy làm bộ não gọi tool trong agent framework của riêng mình, qua API OpenAI-compatible của vLLM. Tác vụ routine chạy local với chi phí bằng không, ca khó leo thang lên model lớn hơn.
Doanh nghiệp và IT manager. Agent nội bộ xử lý dữ liệu nhạy cảm mà không gửi ra ngoài, chi phí biên gần bằng không — với điều kiện giới hạn tool ở quyền thấp, log đầy đủ, không dùng cho quyết định high-stakes. BotPsy không thay thế model lớn — nó thay thế những lần gọi API không cần thiết.
Kết luận
Nên dùng BotPsy nếu bạn cần agent local, riêng tư, rẻ, cho tác vụ routine có độ khó thấp đến trung bình, hoặc bạn là dev muốn một model gọi tool nhỏ để nhúng vào hệ thống của mình. Chưa nên nếu bạn cần kiến thức sâu, tìm kiếm web mở, tác vụ tài chính hay y tế, hoặc cần số liệu đã kiểm chứng độc lập trước khi quyết định.
Bước tiếp theo: tải bản Q4_K_M 0,53 GB chạy thử bằng llama.cpp, hoặc dựng vLLM server với đúng bốn flag đã nêu, rồi test với một tool chỉ đọc. BotPsy không phải model giỏi toàn diện — nó là bằng chứng rằng kỹ năng gọi tool có thể nén vào 0,8 tỷ tham số.
Bài học rút ra
- Kỹ năng gọi tool tách rời khỏi kiến thức: BotPsy thắng model 2B ở tool-calling nhưng thua xa ở GPQA và MMLU-Pro.
- “Thinking mode phải bật” là yêu cầu triển khai, không phải tùy chọn: template mặc định non-thinking.
- Parser là một phần của model: XML Qwen3.5 đòi đúng
--tool-call-parser qwen3_xml. - Số liệu vendor chưa phải sự thật đã kiểm chứng — hãy tự test.
- An toàn on-device không đồng nghĩa an toàn tuyệt đối: unsafe 21% và prompt-injection 31%.
- Model nhỏ mở ra kiến trúc cascade: BotPsy local cho việc routine.
Phạm vi kiểm chứng
Ngày kiểm chứng: 11/11/2026, dựa trên blog Hugging Face của Tether AI Research, model card qvac/BotPsy-0.8B và repo qvac/BotPsy-0.8B-GGUFs. Đã đối chiếu với tài liệu chính thức: thông số model, giấy phép, quy trình huấn luyện, lệnh vLLM, yêu cầu Transformers 5.19.0, định dạng tool call và tham số sampling. Thinking mode mặc định tắt, phải bật bằng enable_thinking=True. Kích thước file là thông số phát hành, không phải benchmark hiệu năng. Benchmark và số liệu an toàn là của nhà phát triển Tether, chưa kiểm chứng độc lập. Bài này chưa cài đặt hay chạy thử BotPsy. Lệnh llama.cpp và curl kiểm tra đã đối chiếu với card của repo GGUF lúc viết bài.
Tham khảo
- Tether AI Research — BotPsy: On-Device Personal Assistant with a Sub-Billion-Parameter Agentic Language Model: https://huggingface.co/blog/qvac/botpsy
- Model card qvac/BotPsy-0.8B: https://huggingface.co/qvac/BotPsy-0.8B
- GGUF weights qvac/BotPsy-0.8B-GGUFs: https://huggingface.co/qvac/BotPsy-0.8B-GGUFs
Bình luận
Bình luận được duyệt trước khi hiển thị.Đang tải bình luận…
Để lại bình luận