Sau khi OpenClaw đã chạy và Telegram đã nối được, câu hỏi tiếp theo không phải “nhờ nó build app gì”. Câu hỏi đúng hơn: workflow nào đủ nhỏ để bạn điều khiển từ điện thoại mà vẫn không mất quyền kiểm soát.
Điện thoại là control surface tiện. Nhưng nó cũng là nơi bạn dễ approve vội, khó đọc diff, khó nhìn file tree, khó phát hiện agent sửa sai scope. Vì vậy vibe coding qua Telegram chỉ nên dùng cho vòng ngắn: giao lát nhỏ, nhận kết quả, xem evidence, checkpoint, rồi mới đi tiếp.
Bài này giả định bạn đã đọc bài setup OpenClaw trước đó và đã pass smoke test trên toy repo.
Đừng bắt đầu bằng repo thật
Workflow đầu tiên nên dùng disposable app workspace:
agent-labs/
telegram-mini-app/
README.md
Nếu cần app web, dùng template đơn giản nhất của stack bạn quen. Nếu chưa cần framework, dùng HTML/CSS/JS tĩnh. Điểm cần test là loop Telegram -> agent -> file change -> preview -> feedback, không phải architecture.
Workspace nên có Git ngay từ đầu:
git init
git add .
git commit -m "chore(lab): init workspace"
Nếu bạn đang làm trên phone và không tiện chạy command, hãy chuẩn bị repo từ laptop trước. Đừng để agent tự init mọi thứ khi bạn chưa nhìn filesystem.
App brief phải nhỏ
Prompt đầu tiên nên là app brief, không phải mệnh lệnh build full app:
We are in a disposable lab workspace.
Build only the first slice of a tiny expense tracker.
User goal:
- Add one expense with amount, category, note.
- See the expense in a list.
- See total amount.
Constraints:
- No backend.
- No external API.
- No auth.
- No package install unless you explain why first.
- Before editing, list files you plan to create or change.
Brief này cố tình hẹp. Không có login, database, analytics, payment, deploy. Nếu agent không làm tốt lát này, nó chưa đáng được giao lát lớn hơn.
Telegram là remote control, không phải review tool
Bạn có thể nhắn yêu cầu qua Telegram, nhưng review thật vẫn nên làm ở máy có màn hình và terminal.
Telegram phù hợp cho:
- giao task nhỏ;
- gửi screenshot lỗi;
- hỏi agent giải thích diff;
- yêu cầu dừng hoặc rollback;
- kiểm tra progress.
Telegram không phù hợp cho:
- approve migration database;
- approve xóa file;
- review dependency mới;
- review thay đổi auth;
- merge vào branch chính.
Một prompt tốt qua Telegram:
Pause after this step. Summarize changed files and exact manual test steps. Do not start the next feature.
Một prompt nguy hiểm:
Make it production ready.
“Production ready” qua điện thoại là lời mời cho scope creep.
Checkpoint trước mỗi thay đổi rủi ro
OpenClaw hoặc platform xung quanh có thể có cơ chế checkpoint riêng. Nhưng Git vẫn là checkpoint phổ thông nhất.
Trước một thay đổi rủi ro, yêu cầu agent nói rõ:
Before making this change, confirm current git status and propose a checkpoint. Do not edit until I approve.
Thay đổi rủi ro gồm:
- cài package mới;
- sửa config build;
- đổi data model;
- đổi auth;
- thêm external API;
- refactor nhiều file;
- xóa file;
- chạy script migration.
Nếu agent không đọc được Git status, bạn tự đọc từ laptop. Nếu working tree đang bẩn, commit hoặc stash phần known-good trước khi đi tiếp. Đừng cho agent làm một bước lớn trên nền diff chưa hiểu.
Gửi screenshot và error context đúng cách
Khi app lỗi, người dùng hay gửi: “nó không chạy”. Prompt này thiếu context. Agent sẽ đoán.
Gửi tốt hơn:
The app shows a blank page after I click Add.
Visible behavior:
- Form clears.
- List stays empty.
- Browser console says: TypeError: expenses.map is not a function.
Expected behavior:
- New expense appears in list.
- Total updates.
Please inspect the state shape first. Do not rewrite the UI.
Nếu có screenshot, mô tả thêm phần quan trọng bằng text. Agent không phải lúc nào cũng đọc ảnh đáng tin, và Telegram có thể nén ảnh.
Nếu có terminal error, copy 20-40 dòng liên quan, không dán cả log 2000 dòng. Context quá dài làm agent dễ lạc.
Stop condition: khi agent bắt đầu loop
Vibe coding qua Telegram rất dễ biến thành vòng lặp:
- Agent báo đã fix.
- Bạn test, vẫn lỗi.
- Agent sửa tiếp.
- App đổi hình dạng, lỗi khác xuất hiện.
- Agent xin thêm một lượt.
Đặt stop condition trước:
If the same bug is not fixed after two attempts, stop and explain your current hypothesis. Do not keep editing.
Các tín hiệu nên dừng:
- cùng một lỗi xuất hiện sau hai lần fix;
- agent sửa file không liên quan;
- agent đổi UI lớn để né bug nhỏ;
- agent thêm dependency mới không giải thích được;
- agent nói “fixed” nhưng không đưa manual test steps;
- diff vượt quá scope ban đầu.
Khi dừng, yêu cầu:
Stop editing. Summarize:
1. What you changed.
2. What still fails.
3. Which files are risky.
4. How to revert to last checkpoint.
Sau đó review trên laptop.
Handoff từ phone sang dev review
Khi một slice chạy được, đừng nhảy ngay sang feature tiếp theo. Tạo handoff note:
Summarize this slice for a developer review:
- original app brief;
- files changed;
- dependencies added;
- manual test steps;
- known limitations;
- anything you are unsure about.
Note này giúp bạn hoặc agent khác audit. Nó cũng làm rõ: Telegram loop chỉ tạo prototype, không thay thế code review.
Chốt lại
OpenClaw qua Telegram rất hợp cho vibe coding kiểu “đang đi đường vẫn điều khiển agent”. Nhưng càng tiện thì càng cần ranh giới: disposable workspace, app brief nhỏ, checkpoint trước risky change, stop condition rõ.
Điện thoại chỉ nên là remote control. Review thật vẫn là diff, UI, data flow, và khả năng rollback.