
Chắc anh em dạo này cũng hóng được vụ Meta vung tiền thâu tóm startup AI Agent Manus rồi nhỉ? Đang giữa lúc cao trào, thì cựu Backend Lead của Manus (trước khi bị thâu tóm) vừa lên Reddit thả một quả bom nổ tung não giới dev AI. Hóa ra sau 2 năm cày cuốc sấp mặt làm Agent, lão quái này rút ra một chân lý ngược đời: Dẹp m cái đống API hay Function Calling phức tạp đi. Chỉ cần một hàm run(command="...") dùng lệnh Unix là đè bẹp tất cả!*
Nghe có vẻ hơi "dị giáo" đúng không? Nhưng đọc kỹ thì thấy ổng phân tích bén như dao cạo. Anh em pha cốc cafe rồi cùng Coding4Food mổ xẻ xem rốt cuộc chuyện quái gì đang xảy ra nhé.
Lão lead này chỉ ra một sự thật hiển nhiên mà đa số chúng ta bỏ qua: 50 năm trước, Unix được thiết kế với triết lý mọi thứ đều là luồng văn bản (text stream). Các tool nhỏ gọn giao tiếp qua pipe |, xuất lỗi ra stderr, báo cáo qua exit codes.
Trùng hợp thay, 50 năm sau, mấy con LLM (Large Language Models) cũng hoạt động y chang: mọi thứ đều là tokens. Chúng nó chỉ hiểu text, nhả ra text. Vậy thì cớ gì chúng ta phải đẻ ra cái chuẩn JSON Function Calling lằng nhằng, bắt con AI phải đau đầu chọn giữa 15 cái tool khác nhau (như read_file, search_web, run_code...) để rồi độ chính xác rớt thê thảm vì cạn kiệt context?
Thay vì thế, lão quái này thu gọn lại thành đúng 1 tool duy nhất: run(command="...").
Ví dụ muốn đọc log file và đếm số dòng lỗi, thay vì gọi 3 hàm API khác nhau, con AI chỉ cần phang 1 dòng bash xịn xò:
run(command="cat /var/log/app.log | grep ERROR | wc -l")
Tại sao AI lại xài mượt lệnh bash? Vì trong hàng tỷ dòng code GitHub mà bọn nó được train, bash script, CI/CD pipeline, với mấy câu trả lời Stack Overflow xài lệnh CLI nhiều vô kể. Chúng nó sinh ra đã là "bậc thầy gõ phím" (terminal operator) rồi!
Chuyển sang CLI là một nhẽ, nhưng làm sao để con AI biết dùng lệnh gì khi nó đ*o biết Google? Lão lead Manus áp dụng 3 trick rất ma giáo:
1. Khám phá --help từng bước (Progressive Disclosure)
Thay vì nhét một cục document dài 3000 chữ vào System Prompt làm cắn RAM (context window), hệ thống chỉ nhúng 1 list ngắn gọn mô tả các lệnh cơ bản.
Khi con Agent tò mò gọi lệnh memory, nó sẽ trả về lỗi kèm hướng dẫn: usage: memory search|recent|store. AI tự hiểu và gọi tiếp memory search. Từng bước bóc hành, context được tối ưu tối đa.
2. Lấy lỗi lầm làm ngọn hải đăng (Error messages as navigation)
Agent thì chả biết search Google cách fix bug. Thế nên mọi thông báo lỗi phải chỉ đích danh cách giải quyết.
Ví dụ con AI dùng cat photo.png (ngu xuẩn vì đây là file ảnh). Thay vì chửi nó, hệ thống báo: [error] file ảnh nhị phân. Hãy dùng lệnh: see photo.png. Con AI "à hóa ra thế" và quay xe dùng đúng lệnh ở bước tiếp theo.
3. Format output chuẩn chỉnh để AI tự "khôn" lên
Sau mỗi lệnh, hệ thống kẹp thêm dòng metadata: [exit:0 | 12ms].
Con AI nhìn nhiều sẽ tự hình thành phản xạ: thấy exit:1 là biết toang, phải tìm cách sửa. Thấy thời gian chạy quá lâu, tự biết đường tiết chế bớt.
Để hệ thống này chạy không bể, lão phải chia làm 2 lớp: Lớp 1 (Thực thi Unix thuần) và Lớp 2 (Trình bày cho LLM).
Lão kể mấy quả chuyện tâm linh trong production nghe cực thấm:
cat ra đọc. Kết quả là 182KB byte nhị phân bị tokenizer biến thành rác, nhét đầy context window. Con AI bị ngáo ngơ, thử đi thử lại 20 lần tốn đống tiền API. -> Bài học: Phải có cơ chế chặn file nhị phân (Binary Guard).stderr (lỗi tiêu chuẩn). Con AI cài thư viện thất bại, chả biết vì sao, cứ thế lôi đủ trò từ pip, pip3, apt install ra thử ròng rã 10 lần. -> Bài học: stderr là sinh mạng, tuyệt đối không được giấu.File còn dài lắm, dùng cat file.txt | grep <keyword> đi em. Thế là AI tự biết đường lọc data.Anh em trên Reddit đọc xong bài này như kiểu "chân mệnh thiên tử" xuất hiện. Combat khá xôm:
spaceman_ nhớ ra: "Trước đây Hugging Face cũng làm con Smolagents, chỉ cho LLM dùng đúng 1 tool là Python eval, chạy mượt vãi chưởng luôn."johnbbab cảm thán: "Hóa ra framework AI xịn nhất cuối cùng lại có hình dáng của... cái shell Linux."raucousbasilisk chốt câu đi vào lòng đất: "Bắn tiếng người (Natural language) để con AI tự dịch sang sed, awk, regex... đó mới là siêu năng lực thực sự của thế kỷ này!"Đọc xong bài của lão dev Manus, mình mới thấy đôi khi chúng ta bị hội chứng "bánh xe hình vuông", cứ thích đẻ ra mấy cái chuẩn schema JSON, API phức tạp để giao tiếp với AI, trong khi hệ sinh thái Unix/CLI đã giải quyết bài toán pipe data từ nửa thế kỷ trước.
Anh em nào đang làm tool/agent thì tham khảo ngay triết lý này nhé, code bớt phình to mà lại mượt mà. Anh em rảnh rỗi có thể lôi một con vps ra cắm thử agent chạy script xem thế nào. Cái gì đã là chuẩn mực của quá khứ thì đôi khi lại chính là chìa khóa của tương lai đấy!
Meta vừa thâu tóm Manus, và cựu Backend Lead của họ vừa lên Reddit xả một tràng sự thật: Đừng cố nhét 1 đống JSON function calling cho LLM nữa, xài Bash đi!