🧒Chia sẻ kinh nghiệm

Ông bố dựng "JARVIS" cho con trai 7 tuổi: dạy học, lên cấp, điều khiển nhà, gọi bố từ xa

Anh dành chín ngày dựng một "Kid Mode" trên Hermes Agent cho con trai 7 tuổi. Phần cứng là chiếc Samsung Galaxy Tab A9+ khóa cứng bằng Fully Kiosk: không màn hình Android, không trình duyệt, không YouTube, không kho game. Bật lên là vào thẳng một bảng điều khiển tự dựng: glyph giọng nói ở giữa, telemetry, phù hiệu cấp bậc, thẻ từ vựng, hồ sơ mật, nhiệm vụ, điều khiển nhà thông minh, và một đường dây gọi thẳng về bố.

Phân tách quan trọng nhất: "Gemini diễn vai, server nắm thực tại"

Kiến trúc chia ba tầng: Gemini Live lo giọng nói và hội thoại (chất giọng JARVIS kiểu Anh); Hermes là "tầng vận hành" nối bộ nhớ, công cụ, Telegram, Home Assistant, Spotify và cả ngôi nhà; còn một server Node tự viết nắm toàn bộ trạng thái thật. Nguyên tắc: AI có thể ứng biến một nhiệm vụ, kể chuyện, biến bài học thành thí nghiệm - nhưng không được quyết định con trả lời đúng hay sai, không được tự thăng cấp, không được tuyên bố một bài hát đã phát.

Thang 7 cấp bậc mà AI không có quyền phong

Cấp bậc đi từ Cadet (tân binh) tới Chief Engineer (kỹ sư trưởng). Câu hỏi kiểm tra lấy từ giáo trình anh tự biên soạn, server chọn và chấm; trả lời sai không bị "mất" câu hỏi, và JARVIS không hé lộ đáp án như phần thưởng cho việc đoán mò. Mỗi cấp mở đặc quyền thật: Senior Engineer được điều khiển nhạc cả nhà, Lead Engineer được gọi thoại cho bố, Staff Engineer sẽ là gọi video, Chief Engineer có quyền "DJ từ xa". Các tính năng chưa làm xong không bị giấu - chúng hiện sau những tấm bảng "SECURITY CLEARANCE" đã che mực, để con biết mình đang phấn đấu vì cái gì.

Riêng Chief Engineer còn một cửa ải vật lý: phải hoàn thành dự án lắp bàn tay robot trước, và server cưỡng chế điều đó. Luật này sinh ra từ một sự cố: hệ thống nhận diện giọng nói nghe nhầm một câu, và JARVIS lặng lẽ đánh dấu dự án bàn tay robot là "hoàn thành" - một cột mốc giả suýt đáp ứng điều kiện lên cấp. Anh khôi phục lại trạng thái và thêm bước xác nhận tường minh, kèm nguyên tắc: "Một bản chép lời mang tính xác suất không được phép tuyên bố một vật thể vật lý tồn tại."

JARVIS không được phép "tự biết"

Với câu hỏi sự kiện, JARVIS chỉ có ba lựa chọn: hỏi Hermes một câu trả lời có căn cứ, dùng một nguồn tất định đã được duyệt, hoặc nói thẳng là chưa kiểm chứng được. Hermes gửi đáp án về qua hệ thống nhà; JARVIS được phép "khoác giọng JARVIS" lên câu trả lời nhưng không được đổi tên, ngày tháng, số liệu hay nội dung. Khẩu quyết của anh: "Dây thừng cho hành động, đường ray cho sự thật" - con có thể được JARVIS bịa ra một nhiệm vụ "Tuần tra Nam châm", nhưng không ai được bịa ra cách nam châm hoạt động.

Trí nhớ cũng vậy: Kid Mode có kho nhớ riêng, tách khỏi Hermes người lớn của bố. JARVIS được phép "xếp hàng" một câu nói hay khoảnh khắc đáng nhớ, nhưng không tự động biến mọi lời con nói thành trí nhớ lâu dài - bố duyệt từng ứng viên. Mỗi sáng còn một bản "Dad brief" gắn với giờ chạy bộ của bố: các cột mốc, nỗi lo, câu hỏi lớn và những câu nói buồn cười của con. Có lần một đoạn hội thoại nhóm bị nhiễu sinh ra cờ "con đã nói tiếng Ý" - từ đó mọi ghi chú cho bố phải kèm trích dẫn nguyên văn, không có thì bị đánh dấu "chưa kiểm chứng".

Đêm đầu tiên thay đổi cả dự án

Trong đêm dùng thật đầu tiên, con trai anh đi một mạch từ Cadet lên Senior Engineer: trả lời 12 câu kiểm tra, thử chế độ khám phá và "đối luyện", tự bấm tắt micro vì không muốn đánh thức mẹ, rồi chạy đi kể cho bố nghe những gì JARVIS nói. Có lúc cậu bé gọi JARVIS là "một trong những người bạn thân nhất". Anh viết: "Đó là khoảnh khắc nó không còn là một bản demo kỹ thuật." Mọi lối tắt tạm bợ trong lúc test bỗng thành chuyện lớn: 5 giây im lặng khi gọi công cụ khiến con phải nhắc lại câu hỏi; cử chỉ tắt micro "hiển nhiên" với người lớn lại làm con tắt nhầm; nhạc bị loa Android rò rỉ tới mức tablet chậm dần rồi "điếc" hẳn.

Sự cố "Stop & Stare" và bốn luật mới

Lần đầu được đặc quyền điều khiển nhạc, cậu bé gọi một bài - server tìm trên Spotify (có lọc nội dung nhạy cảm), phát qua Home Assistant, tự xếp hàng các bài liên quan. Rồi con nói: "Dừng nhạc đi." Khổ nỗi anh mới dựng công cụ phát nhạc, chưa dựng công cụ dừng. Gemini nhét chữ "stop" vào ô tìm tên bài, và cả ngôi nhà vang lên bài "Stop & Stare". Tai nạn đẻ ra bốn luật: điều khiển phát/dừng phải tất định; server từ chối các từ lệnh (stop, pause, skip) khi chúng xuất hiện ở ô tên bài; JARVIS chỉ được tuyên bố "nhạc đã đổi" sau khi server xác nhận; và dừng âm thanh thì không bao giờ cần cấp bậc - "Phát nhạc có thể là đặc quyền. Dừng nhạc thì không." Một lần khác, bài test "chạy im lặng" lại tìm thấy bài hát thật tên "Zzz" và phát khắp nhà - đó là lý do có chế độ dry-run.

Dad Link: cuộc gọi thật khoác áo phim ảnh

Tính năng con gọi bố là một cuộc gọi WebRTC thật chạy qua Tailscale, nhưng được bọc trong "rạp hát": khi con bấm gọi, bảng điều khiển giả vờ quét vệ tinh ngẫu nhiên khắp khu vực, thử vài "tọa độ nghi binh", rồi khóa mục tiêu vào thị trấn của bố và hô "DAD FOUND" khi bố nhấc máy. Chiều ngược lại, bố có lệnh /tell: gửi một tin nhắn tức thời qua Hermes, và JARVIS chuyển tới con như "số liệu cảm biến" hay "quan sát" của chính nó - không bao giờ nói "bố con bảo thế", để nhân vật không biến thành con rối điều khiển từ xa. Anh còn ghi âm sẵn vài thông điệp "truyền tin từ bố", phát ngẫu nhiên có giới hạn để mỗi lần xuất hiện là một sự kiện, không phải thêm một cái thông báo.

Những cú hỏng anh coi là phần hay nhất

  • Tablet chậm dần, loạn cảm ứng, mất Wi-Fi rồi biến mất khỏi mạng - backend xanh lè, Gemini khỏe, bundle đúng: hóa ra dây sạc bị rút, chế độ tiết kiệm pin bóp nghẹt thiết bị. "Một hệ thống AI cho trẻ em có thể có backend hoàn hảo và vẫn sập vì ai đó dời một sợi cáp."
  • Google đổi định dạng audio realtime, giết mọi phiên ngay ở gói micro đầu tiên.
  • Gemini rớt mạng giữa lễ thăng cấp: cấp được lưu, còn buổi lễ thì mất.
  • Quên gỡ bản restore demo - con trai cày lại tiến độ trên save sai suốt hai ngày.
  • Hai phiên code cùng sửa một cây mã nguồn và lặng lẽ xóa mất Dad Link khỏi bản build sau.
  • Triết lý triển khai sau tất cả: dàn bundle, hoán đổi nguyên tử, xác minh file đang được serve, bắt tay thật với Gemini, reload tablet vật lý, kiểm tra cái gì thực sự hiện lên. "Nếu thiết bị không nhận được, thì nó chưa được deploy."

Anh kết bài bằng câu đúc kết đáng giá nhất: "Tôi bắt đầu với ý nghĩ phần thú vị là làm cho giọng nói nghe giống JARVIS. Không phải. Phần thú vị là quyết định AI cần bao nhiêu tự do để thấy 'sống', rồi tước hết quyền lực của nó khỏi mọi thứ bắt buộc phải là sự thật." Hermes cho anh tầng vận hành, Gemini cho JARVIS giọng nói - còn công việc thật sự là quyết định mỗi bên phải dừng ở đâu. Toàn bộ dự án sau đó đã được anh mở mã nguồn.

Bình luận

Đang tải bình luận…

Đăng nhập bằng Google để tham gia bình luận và hỏi đáp cùng cộng đồng.