[{"data":1,"prerenderedAt":265},["ShallowReactive",2],{"\u002Fblog\u002Ftui-cognitive-bandwidth\u002F:vi":3,"\u002Fblog\u002Ftui-cognitive-bandwidth\u002F-surround:vi":160,"blog-all-posts:vi":161},{"id":4,"title":5,"author":6,"body":10,"date":142,"description":143,"extension":144,"image":145,"locale":146,"meta":147,"minRead":148,"navigation":149,"original":150,"path":151,"pinned":150,"seo":152,"source":153,"sourceUrl":23,"stem":154,"tags":155,"updated":145,"__hash__":159},"blog\u002Fblog\u002Ftui-cognitive-bandwidth.vi.md","TUI đang giết băng thông nhận thức của bạn: đến lúc đập vỡ “bộ lọc geek” trong AI Coding",{"name":7,"avatar":8},"Chen Dahuang",{"src":9,"alt":7},"\u002Favatar.jpg",{"type":11,"value":12,"toc":133},"minimark",[13,28,31,34,37,42,45,52,58,64,67,71,74,81,84,88,94,97,100,104,107,110,113,117,120,123,130],[14,15,16],"blockquote",{},[17,18,19,20,27],"p",{},"Ý chính lần đầu đăng trên ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087949416808518106",[25],"nofollow","X","; bài này là phiên bản lập luận đầy đủ.",[17,29,30],{},"Dạo này cứ nhích là lại có một AI Coding Agent thêm TUI, và Claude Code phải chịu phần trách nhiệm lớn cho trào lưu này. Nó làm cho việc “ngồi terminal trò chuyện với AI để viết code” trở nên thật đỉnh — nhưng cũng gây hẳn một gu và lệ thuộc lối mòn: Coding Agent “xịn thật sự” thì mặc định phải là giao diện terminal; bản Web thành phần phụ, thậm chí còn bị chế là “không đủ chất programmer”.",[17,32,33],{},"Kết quả? Xây trước một cái TUI rối rắm — màu mè, thanh trạng thái, phím tắt, chuyển mode — rồi gắn nhãn “đắm chìm”, “hiệu quả”, “tôn trọng lập trình viên”.",[17,35,36],{},"Thật à?",[38,39,41],"h2",{"id":40},"bạn-tưởng-đang-trò-chuyện-thực-ra-đang-vật-lộn","Bạn tưởng đang trò chuyện, thực ra đang vật lộn",[17,43,44],{},"Với nhóm nhỏ sống cả ngày trong terminal thì OK, TUI đã thật sự sướng. Nhưng với nhiều người hơn, đó là rào cản được cố ý dựng lên. Khi cộng tác với agent qua TUI, thực ra bạn đang liên tục làm ba việc:",[17,46,47,51],{},[48,49,50],"strong",{},"Nhớ phím tắt và mode."," Mỗi tool có một bộ thói quen phím riêng; người mới choáng, còn người cũ đổi tool cũng phải làm quen lại từ đầu.",[17,53,54,57],{},[48,55,56],{},"Dò tìm thông tin trong dòng ký tự cuộn không ngừng."," Trạng thái không được trải ra cho bạn xem — nó bị chôn trong timeline, phải “khai quật” bằng scroll và search.",[17,59,60,63],{},[48,61,62],{},"Cầu nguyện là mình không lỡ tay rơi vào một mode kỳ quặc nào đó."," Việc chuyển mode vô hình; thường bạn không biết đang ở mode nào, cho đến khi có chuyện.",[17,65,66],{},"Đó không còn là tương tác nữa — đó là vật lộn với giao diện.",[38,68,70],{"id":69},"mật-độ-thông-tin-không-phải-hiệu-suất-thông-tin","Mật độ thông tin không phải hiệu suất thông tin",[17,72,73],{},"Từ được fan TUI nhắc nhiều nhất là “mật độ thông tin”. Nhưng đẩy mật độ lên tận đỉnh thì cái giá phải trả là khả năng đọc và khả năng phục hồi bị giẫm nát xuống đáy.",[17,75,76,77,80],{},"Một giao diện thực sự hiệu quả phải ",[48,78,79],{},"trải trạng thái ra trước mắt bạn",", giao việc hiểu cho mắt và cảm giác không gian — task nào đang chạy, session nào đang chờ input, file nào vừa bị sửa — liếc một cái là biết hết. Thay vì ép bạn nhét tất cả vào bộ nhớ ngắn hạn, trong khi não phải giữ tấm bản đồ vô hình “trạng thái hiện tại của hệ thống”.",[17,82,83],{},"Bộ nhớ làm việc của con người chỉ có bốn đến bảy ô. Mô hình tương tác của TUI về bản chất đang tiêu xài nguồn tài nguyên nhận thức quý nhất vào “nhớ trạng thái giao diện”, thay vì “suy nghĩ về vấn đề”.",[38,85,87],{"id":86},"nó-còn-nuôi-một-thói-quen-xấu","Nó còn nuôi một thói quen xấu",[17,89,90,91],{},"Tệ hơn, hệ sinh thái TUI đang nuôi một thước đo giá trị lệch lạc: ",[48,92,93],{},"coi việc thuộc bàn phím của một công cụ nào đó là năng lực đích thực.",[17,95,96],{},"Hệ quả là người ta đổ rất nhiều năng lực vào việc theo kịp giao diện thay vì nghĩ về vấn đề. Thước đo một lập trình viên trở thành “có thuộc lòng bộ phím tắt này không” thay vì “có mổ xẻ vấn đề cho ra hồn không”.",[17,98,99],{},"Một công cụ tốt phải giảm chi phí suy nghĩ, chứ không dồn chi phí suy nghĩ sang “cách thao tác với cái giao diện này”.",[38,101,103],{"id":102},"web-ui-hoàn-toàn-có-thể-vừa-nhanh-vừa-gọn","Web UI hoàn toàn có thể vừa nhanh vừa gọn",[17,105,106],{},"Có người nói Web chậm, không “native”. Năm 2026 rồi, lập luận đó chết từ lâu rồi.",[17,108,109],{},"Web UI hoàn toàn có thể vừa nhanh vừa gọn: cài thành PWA thì gần như chẳng khác gì app desktop, cập nhật còn tiện hơn — không cần nâng cấp tay, refresh một cái là bản mới nhất. Session dài, nhiều task chạy song song, trực quan hóa trạng thái task — đó chính là thế mạnh của DOM trong trình duyệt, chứ không phải của dòng ký tự.",[17,111,112],{},"Setup chính của tôi là giao diện Web dạng OpenChamber trên lõi OpenCode, dùng nặng kéo dài — chắc như đinh đóng cột. Nếu soi kỹ thì mấy lỗi vặt thi thoảng của Web chẳng bao giờ cản trở việc dùng lâu dài, ngược lại cái chuyển mode của một số TUI đã cắn tôi không biết bao lần.",[38,114,116],{"id":115},"tool-là-để-phục-vụ-con-người-không-phải-để-chứng-minh-ai-geek-hơn","Tool là để phục vụ con người, không phải để chứng minh ai “geek” hơn",[17,118,119],{},"Claude Code vốn mạnh, điều đó không tranh cãi. Nhưng chính nó làm lan cái gu “TUI mới là chính đạo”, còn đám bắt chước phía sau còn lố hơn — lười đến mức chẳng thèm làm thiết kế tương tác, cứ coi “sống trong terminal” là bằng chứng cho sự thượng lưu.",[17,121,122],{},"Gói món tương tác ngược đời thành thứ sang chảnh — đúng là nực cười thật.",[17,124,125,126,129],{},"Tool là để dùng cho con người. Thước đo mãi mãi phải là: ",[48,127,128],{},"nó có giảm tổng chi phí để bạn hoàn thành việc không?"," Nếu một giao diện bắt bạn tiêu năng lực vào “vật lộn với chính nó” thì nó càng “geek” cỡ nào cũng chỉ là tài sản âm.",[17,131,132],{},"Lần sau chọn Coding Agent, nhớ tháo cái bộ lọc này ra trước đã.",{"title":134,"searchDepth":135,"depth":135,"links":136},"",2,[137,138,139,140,141],{"id":40,"depth":135,"text":41},{"id":69,"depth":135,"text":70},{"id":86,"depth":135,"text":87},{"id":102,"depth":135,"text":103},{"id":115,"depth":135,"text":116},"2026-09-09","Hàng loạt AI Coding Agent đang đua nhau thả TUI, nhồi tương tác trở lại mô hình terminal thập niên 1980 rồi gọi đó là “đắm chìm”, “tôn trọng lập trình viên”. Bài này mổ xẻ ba cơ chế khiến TUI làm giảm băng thông nhận thức một cách hệ thống, và vì sao Web UI mới là lời giải đúng.","md",null,"vi",{},7,true,false,"\u002Fblog\u002Ftui-cognitive-bandwidth",{"title":5,"description":143},"x","blog\u002Ftui-cognitive-bandwidth.vi",[156,157,158],"Lập trình AI","Thiết kế tương tác","Tản văn","2IsZH6IMsQu0SN8oOkR0mWhIor-K7d-rieLJiSBVHSM",[145,145],[162,171,180,189,195,203,209,216,224,230,237,246,248,256],{"path":163,"title":164,"description":165,"date":166,"minRead":167,"tags":168},"\u002Fblog\u002Fagent-harness-selection","Sau khi nghịch Pi Agent, OMP, Codex và ZCode, vì sao cuối cùng tôi chọn OpenCode + OpenChamber","Bài tổng kết chọn lựa Agent Harness: ba tiêu chí — trải nghiệm GUI, khoá nhà cung cấp và quyền tự do phát triển thứ cấp — đã loại Pi Agent, OMP, Codex và ZCode, cuối cùng chốt lõi OpenCode + giao diện OpenChamber.","2026-08-06",6,[169,170],"AI Agent","Chọn công cụ",{"path":172,"title":173,"description":174,"date":175,"minRead":167,"tags":176},"\u002Fblog\u002Fcloudflare-broke-stack","Thực hành tốt nhất 2026 cho indie developer: gói công nghệ Cloudflare all-in-one 'nghèo rớt mồng tơi'","Tech stack chi phí bằng không cho indie developer: Codex viết code, GitHub quản lý phiên bản, Stripe thu tiền, frontend TanStack Start, backend Hono + Workers, database D1, lưu trữ R2, cache KV — tất cả chạy trên Cloudflare.","2026-06-15",[177,178,179],"Cloudflare","Phát triển indie","Tech stack",{"path":181,"title":182,"description":183,"date":184,"minRead":167,"tags":185},"\u002Fblog\u002Fdeepseek-api-web-search","API của DeepSeek có sẵn tìm kiếm web: xài chùa khả năng tìm kiếm chính thức qua Responses API","DeepSeek nhúng thẳng tìm kiếm web vào API: gọi deepseek-v4-flash qua giao diện Responses và khai báo tool web_search là xong. Không cần tích hợp công cụ tìm kiếm bên thứ ba, không cần xin key API tìm kiếm.","2026-08-05",[186,187,188],"DeepSeek","API","Công cụ AI",{"path":190,"title":191,"description":192,"date":184,"minRead":148,"tags":193},"\u002Fblog\u002Fdeepseek-v4-flash-review","Trải nghiệm sâu bản chính thức DeepSeek V4 Flash: rẻ, nhanh, context 1M, tìm kiếm tích hợp sẵn","Mấy ngày trải nghiệm sâu bản chính thức DeepSeek V4 Flash: rẻ cực độ, nhanh như chớp, context 1M, tìm kiếm web chính thức tích hợp sẵn, mã nguồn mở hoàn toàn. Điểm yếu duy nhất là đa phương thức — nhưng có thể vá bằng cách tổ hợp các model khác.",[186,194,188],"Đánh giá mô hình",{"path":196,"title":197,"description":198,"date":175,"minRead":199,"tags":200},"\u002Fblog\u002Ffree-cloudflare","Người dùng miễn phí vắt kiệt Cloudflare như thế nào — bản miễn phí thật sự xài chùa được đến đâu?","Bản miễn phí của Cloudflare chống lưng được cả một hạ tầng internet cá nhân: DNS, CDN, Pages, Workers, KV, D1, R2, email, Tunnel, AI Gateway và hơn thế nữa.",8,[177,201,202],"Hạn mức miễn phí","Triển khai",{"path":204,"title":205,"description":206,"date":142,"minRead":199,"tags":207},"\u002Fblog\u002Fmodel-harness-decoupling","Harness chính hãng chưa chắc là đáp án đương thời: thời đại mô hình mở, chọn model và Harness riêng biệt","Dùng Claude thì gắn Claude Code? Thời đại mô hình mở rồi, bản năng đó cần được nâng cấp. Lợi thế chính hãng là có thật, nhưng huấn luyện model tốt và làm Harness tốt là hai ngành kỹ thuật khác nhau — bài này nói rõ vì sao model và Harness giờ đã có thể chọn riêng, kèm bản đồ định vị 5 Harness.",[169,208,170],"Harness",{"path":210,"title":211,"description":212,"date":142,"minRead":199,"tags":213},"\u002Fblog\u002Fopencode-productive-stack","Ổn định, nhanh, hiệu suất, rẻ: ghi chép trọn bộ AI Coding stack của tôi","OpenCode + OpenChamber + hai gói đăng ký DeepSeek V4 Flash: 15 dự án cùng lúc chạy code, hạn mức chỉ xụi chút xíu. Trải hết cấu hình ra: cắt tỉa context, bộ nhớ phân tầng, tự động hóa desktop, và bài học “giữ nguyên cặp gốc”.",[214,156,215],"OpenCode","Cấu hình",{"path":217,"title":218,"description":219,"date":220,"minRead":221,"tags":222},"\u002Fblog\u002Fproduct-faxin-principle","Nguyên lý phát tâm: vì sao indie developer phải học cách buông bỏ","Vì sao bạn lên đường? Bạn lên đường vì ai? Bạn thật sự muốn giải quyết vấn đề nào? Sự sắc bén của sản phẩm đến từ chỗ bạn dám cắt bỏ điều gì.","2026-06-20",10,[223,178],"Tư duy sản phẩm",{"path":225,"title":226,"description":227,"date":220,"minRead":199,"tags":228},"\u002Fblog\u002Fproduct-pain-vs-itch","Đừng bay bổng khi người dùng khen 'xịn': nỗi đau và cơn ngứa","Lời khen ngoài miệng chẳng đáng một xu. Phán đoán nhu cầu chỉ có một tiêu chuẩn cứng: xem người dùng sẵn sàng trả cái gì.",[223,229],"Đánh giá nhu cầu",{"path":231,"title":232,"description":233,"date":166,"minRead":234,"tags":235},"\u002Fblog\u002Fqwen-vision-for-deepseek","Bổ sung đa phương thức cho DeepSeek: giải pháp nhận diện ảnh Qwen-3.7-Flash","DeepSeek V4 Flash không có đa phương thức — cần hiểu ảnh thì phải làm sao? Khảo sát một vòng, giải pháp có hiệu quả chi phí cao nhất hiện nay là Qwen-3.7-Flash: chi phí nhận diện một bức ảnh gần như bằng không, tổ hợp với V4 Flash là vá được điểm yếu.",5,[186,236,194],"Đa phương thức",{"path":238,"title":239,"description":240,"date":241,"minRead":242,"tags":243},"\u002Fblog\u002Fsub-store-cloudflare","Tôi đã chuyển công cụ gộp subscription proxy lên Cloudflare","Gộp nhiều dịch vụ proxy cộng với node tự dựng thành một subscription duy nhất, quy tắc định tuyến cấu hình ở phía server — client chỉ việc subscribe.","2026-06-28",4,[177,244,245],"Vượt tường lửa","Dự án mã nguồn mở",{"path":151,"title":5,"description":143,"date":142,"minRead":148,"tags":247},[156,157,158],{"path":249,"title":250,"description":251,"date":252,"minRead":167,"tags":253},"\u002Fblog\u002Fvalue-not-external","Bàn chuyện có giá trị hay không, bản thân chuyện đó đã chẳng có giá trị","Giá trị của chúng ta không do ai định nghĩa. Trong thời đại AI, con người nên hiểu mình như thế nào?","2026-06-18",[254,255],"Suy ngẫm về AI","Tản văn nhân văn",{"path":257,"title":258,"description":259,"date":260,"minRead":261,"tags":262},"\u002Fblog\u002Fx-growth-1000-followers","Tăng hơn 1000 followers chỉ trong hơn một ngày — đây là những gì tôi đã làm","Tháng 6 tôi nghiêm túc vận hành tài khoản X, chỉ trong hơn một ngày đã tăng 1000+ followers. Bài này ghi lại những gì tôi đã làm và phản hồi nhận được.","2026-06-16",12,[263,264],"Vận hành X","Tăng trưởng nội dung",1789752318571]