[{"data":1,"prerenderedAt":265},["ShallowReactive",2],{"\u002Fblog\u002Ftui-cognitive-bandwidth\u002F:pl":3,"\u002Fblog\u002Ftui-cognitive-bandwidth\u002F-surround:pl":160,"blog-all-posts:pl":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.pl.md","TUI zabija twoją przepustowość poznawczą: czas rozbić „geekowy filtr” w 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",{},"Główny argument po raz pierwszy ukazał się na ",[21,22,26],"a",{"href":23,"rel":24},"https:\u002F\u002Fx.com\u002Frealchendahuang\u002Fstatus\u002F2087949416808518106",[25],"nofollow","X","; to pełna wersja rozważań.",[17,29,30],{},"Coraz więcej agentów kodujących z AI bez opamiętania wprowadza TUI, i to Claude Code ponosi dużą część winy za tę modę. Dopracował sprawę „rozmawiania z AI w terminalu przy pisaniu kodu” do granic możliwości, ale przy okazji zaszczepił pewien gust i uzależnienie od ścieżki: naprawdę klasowy Coding Agent ma domyślnie wyglądać jak terminal; wersja webowa to co najwyżej dodatek, a bywa wyśmiewana jako „nie wystarczająco programistyczna”.",[17,32,33],{},"Efekt? Najpierw buduje się skomplikowane TUI — kolory, paski statusu, skróty, przełączanie trybów — a potem nazywa to „immersywnym”, „wydajnym” i „szanującym programistów”.",[17,35,36],{},"Serio?",[38,39,41],"h2",{"id":40},"wydaje-ci-się-że-rozmawiasz-a-w-istocie-zmagasz-się","Wydaje ci się, że rozmawiasz, a w istocie zmagasz się",[17,43,44],{},"Dla niewielkiej grupy osób żyjących cały dzień w terminalu — jasne, TUI daje frajdę. Ale dla znacznie większej liczby ludzi to próg postawiony celowo. Współpracując z agentem przez TUI, tak naprawdę non stop robisz trzy rzeczy:",[17,46,47,51],{},[48,49,50],"strong",{},"Przypominasz sobie skróty i tryby."," Każde narzędzie ma własne nawyki klawiszowe; nowi użytkownicy są zagubieni, a nawet weterani muszą się przestawiać przy każdej zmianie narzędzia.",[17,53,54,57],{},[48,55,56],{},"Odnajdujesz informacje w przewijającym się strumieniu znaków."," Stan nie jest rozłożony przed tobą — jest pogrzebany w osi czasu, którą „wykopywasz” przewijaniem i szukaniem.",[17,59,60,63],{},[48,61,62],{},"Modlisz się, żeby przypadkiem nie wpaść w jakiś dziwny tryb."," Przełączanie trybów jest niewidoczne; często nie wiesz, w którym trybie jesteś, dopóki coś nie pójdzie nie tak.",[17,65,66],{},"To już nie jest interakcja — to zapasy z interfejsem.",[38,68,70],{"id":69},"gęstość-informacji-to-nie-wydajność-informacji","Gęstość informacji to nie wydajność informacji",[17,72,73],{},"Ulubione słowo obrońców TUI to „gęstość informacji”. Ale gdy wypchniesz gęstość do granic, płacisz za to zadeptaniem czytelności i odtwarzalności do minimum.",[17,75,76,77,80],{},"Naprawdę wydajny interfejs powinien ",[48,78,79],{},"rozłożyć stan przed twoimi oczami"," i pozwolić, by rozumiały go wzrok i zmysł przestrzeni — które zadanie działa, która sesja czeka na input, który plik się zmienił — jedno spojrzenie i wszystko jasne. Zamiast zmuszać cię do upychania wszystkiego w pamięci krótkotrwałej, podczas gdy twój mózg utrzymuje niewidzialną mapę „bieżącego stanu systemu”.",[17,82,83],{},"Pamięć robocza człowieka ma od czterech do siedmiu slotów. Model interakcji TUI w istocie wydaje najcenniejszy zasób poznawczy na „zapamiętywanie stanu interfejsu”, a nie na „myślenie o problemie”.",[38,85,87],{"id":86},"przy-okazji-wychowuje-zły-nawyk","Przy okazji wychowuje zły nawyk",[17,89,90,91],{},"Co gorsza, ekosystem TUI hoduje wypaczony osąd wartości: ",[48,92,93],{},"za umiejętność uważa się biegłość w klawiszach konkretnego narzędzia.",[17,95,96],{},"W efekcie ludzie przelewają ogrom energii na adaptację do interfejsu zamiast na myślenie o problemie. Miarą programisty staje się „czy umiesz wyrecytować te skróty”, a nie „czy umiesz klarownie rozłożyć problem na części”.",[17,98,99],{},"Dobre narzędzie powinno obniżać koszt myślenia, a nie przenosić koszt myślenia na „jak obsługiwać ten interfejs”.",[38,101,103],{"id":102},"web-ui-może-być-szybki-i-czysty-jednocześnie","Web UI może być szybki i czysty jednocześnie",[17,105,106],{},"Niektórzy mówią, że web jest wolny i nie „natywny”. Jest 2026 — ten argument umarł dawno temu.",[17,108,109],{},"Web UI może być naprawdę szybki i czysty: po zainstalowaniu jako PWA prawie nie różni się od klienta desktopowego, a aktualizacje są jeszcze wygodniejsze — bez ręcznych upgrade'ów, jedno odświeżenie i masz najnowszą wersję. Długie sesje, równoległe zadania, wizualizacja statusu zadań — to akurat mocne strony DOM w przeglądarce, a nie strumienia znaków.",[17,111,112],{},"Mój codzienny zestaw to webowy interfejs typu OpenChamber na rdzeniu OpenCode, używany długo i intensywnie — stabilny jak skała. Gdybym miał się przyczepić, drobne wpadki weba nigdy nie przeszkadzają w długoterminowym użytkowaniu, natomiast przełączanie trybów w niektórych TUI-ach ugryzło mnie już nie raz.",[38,114,116],{"id":115},"narzędzia-są-dla-ludzi-nie-do-udowadniania-kto-jest-bardziej-geekowy","Narzędzia są dla ludzi, nie do udowadniania, kto jest bardziej „geekowy”",[17,118,119],{},"Claude Code samo w sobie jest mocne, o tym nie dyskutuję. Ale to ono spopularyzowało gust „TUI to jedyna słuszna droga”, a naśladowcy, którzy pociągnęli za nim, są jeszcze gorsi — nie starczą się nawet na projektowanie interakcji, a „mieszkanie w terminalu” traktują jako dowód klasy.",[17,121,122],{},"Pakowanie interakcji wrogiej człowiekowi w kostium wyrafinowania — to naprawdę komiczne.",[17,124,125,126,129],{},"Narzędzia są dla ludzi. Kryterium powinno być zawsze jedno: ",[48,127,128],{},"czy obniżyło całkowity koszt wykonania twojej pracy?"," Jeśli interfejs zmusza cię do wydawania energii na „zmagania z interfejsem”, to pasyw, jakby nie był „geekowy”.",[17,131,132],{},"Następnym razem, gdy wybierasz Coding Agent, zdejmij najpierw ten filtr.",{"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","Coraz więcej agentów kodujących z AI ściga się w wypuszczaniu TUI, wpychając interakcję z powrotem w terminalowy paradygmat z lat 80. i nazywając to „immersywnym” i „szanującym programistów”. Ten artykuł rozbiera na części trzy mechanizmy, którymi TUI systematycznie obniża przepustowość poznawczą — i wyjaśnia, dlaczego właściwym rozwiązaniem jest Web UI.","md",null,"pl",{},7,true,false,"\u002Fblog\u002Ftui-cognitive-bandwidth",{"title":5,"description":143},"x","blog\u002Ftui-cognitive-bandwidth.pl",[156,157,158],"Programowanie z AI","Projektowanie interakcji","Esej","no0rLa681iMMQjkm_efHkIziB5shoms-aHcUwa3RXrE",[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","Po testowaniu Pi Agent, OMP, Codex i ZCode: dlaczego ostatecznie wybrałem OpenCode + OpenChamber","Retrospektywa wyboru Agent Harnessa: trzy kryteria — wygoda GUI, blokada dostawcy i swoboda dalszego rozwoju — wykluczyły Pi Agent, OMP, Codex i ZCode, a wybór ostatecznie padł na jądro OpenCode z interfejsem OpenChamber.","2026-08-06",6,[169,170],"AI Agent","Wybór narzędzi",{"path":172,"title":173,"description":174,"date":175,"minRead":167,"tags":176},"\u002Fblog\u002Fcloudflare-broke-stack","Najlepsze praktyki indie deva 2026: Cloudflare'owe kombo dla oszczędnych „od zera”","Technologiczny stos indie developera o zerowym koszcie: Codex pisze kod, GitHub trzyma wersje, Stripe przyjmuje płatności, frontend na TanStack Start, backend na Hono + Workers, baza D1, storage R2, cache KV — wszystko działa na Cloudflare.","2026-06-15",[177,178,179],"Cloudflare","Indie development","Stos technologiczny",{"path":181,"title":182,"description":183,"date":184,"minRead":167,"tags":185},"\u002Fblog\u002Fdeepseek-api-web-search","DeepSeek ma w API wbudowane wyszukiwanie w sieci — darmowa oficjalna funkcja wyszukiwania przez Responses API","DeepSeek wbudował wyszukiwanie w sieci prosto w API: wywołaj deepseek-v4-flash przez interfejs Responses i zadeklaruj narzędzie web_search. Bez integracji z zewnętrzną wyszukiwarką, bez klucza API do wyszukiwania.","2026-08-05",[186,187,188],"DeepSeek","API","Narzędzia AI",{"path":190,"title":191,"description":192,"date":184,"minRead":148,"tags":193},"\u002Fblog\u002Fdeepseek-v4-flash-review","DeepSeek V4 Flash w wersji stabilnej, z praktyki: tani, szybki, 1M kontekstu, wbudowane wyszukiwanie","Kilka dni dogłębnego testowania stabilnej wersji DeepSeek V4 Flash: ekstremalnie tanio, szybko jak błyskawica, 1M kontekstu, oficjalne wbudowane wyszukiwanie w sieci, w pełni open source. Jedyna słabość to multimodalność — ale można ją załatać, łącząc inne modele.",[186,194,188],"Recenzja modelu",{"path":196,"title":197,"description":198,"date":175,"minRead":199,"tags":200},"\u002Fblog\u002Ffree-cloudflare","Jak darmowy użytkownik wycisnąć z Cloudflare wszystko — na ile realnie starcza darmowy plan?","Darmowy plan Cloudflare może unieść całą prywatną infrastrukturę internetową: DNS, CDN, Pages, Workers, KV, D1, R2, e-mail, Tunnel, AI Gateway i więcej.",8,[177,201,202],"Darmowy plan","Wdrożenie",{"path":204,"title":205,"description":206,"date":142,"minRead":199,"tags":207},"\u002Fblog\u002Fmodel-harness-decoupling","Harness first-party nie zawsze jest wersją zwycięską: w epoce modeli otwartych wybieraj model i Harness osobno","Używasz Claude? Bierzesz Claude Code. W epoce modeli otwartych ten instynkt wymaga aktualizacji. Przewaga first-party jest realna, ale wytrenowanie dobrego modelu i zbudowanie dobrego Harnessa to dwie różne dziedziny inżynierii — ten artykuł wyjaśnia, dlaczego model i Harness można już wybierać osobno, plus mapę pozycjonowania pięciu Harnessów.",[169,208,170],"Harness",{"path":210,"title":211,"description":212,"date":142,"minRead":199,"tags":213},"\u002Fblog\u002Fopencode-productive-stack","Stabilnie, szybko, produktywnie, tanio: moje pełne zestawienie stacku AI Coding","OpenCode + OpenChamber + dwie subskrypcje DeepSeek V4 Flash: 15 projektów jednocześnie generuje kod, a limit ledwo drgnął. Rozkładam całą konfigurację na łopatki: przycinanie kontekstu, warstwowa pamięć, automatyzacja pulpitu oraz lekcja „trzymaj się oryginalnej pary”.",[214,156,215],"OpenCode","Konfiguracja",{"path":217,"title":218,"description":219,"date":220,"minRead":221,"tags":222},"\u002Fblog\u002Fproduct-faxin-principle","Zasada pierwotnej intencji: dlaczego indie developer musi nauczyć się rezygnować","Dlaczego ruszasz? Dla kogo ruszasz? Który problem naprawdę chcesz rozwiązać? Ostrość produktu bierze się z tego, z czego masz odwagę zrezygnować.","2026-06-20",10,[223,178],"Myślenie produktowe",{"path":225,"title":226,"description":227,"date":220,"minRead":199,"tags":228},"\u002Fblog\u002Fproduct-pain-vs-itch","Nie wpadaj w uniesienie, gdy użytkownik mówi „świetne”: punkty bólu a punkty swędzenia","Ustna aprobata jest bezwartościowa. Jest tylko jeden twardy standard oceny popytu: to, co użytkownik jest gotów zapłacić.",[223,229],"Ocena popytu",{"path":231,"title":232,"description":233,"date":166,"minRead":234,"tags":235},"\u002Fblog\u002Fqwen-vision-for-deepseek","Dodawanie multimodalności DeepSeekowi: podejście wizyjne Qwen-3.7-Flash","DeepSeek V4 Flash nie ma multimodalności — co zrobić z rozumieniem obrazów? Po rozeznaniu rynku obecnie najkorzystniejszą cenowo opcją jest Qwen-3.7-Flash: rozpoznanie obrazu kosztuje niemal nic, a połączenie z V4 Flash łatuje tę lukę.",5,[186,236,194],"Multimodalność",{"path":238,"title":239,"description":240,"date":241,"minRead":242,"tags":243},"\u002Fblog\u002Fsub-store-cloudflare","Przeniosłem agregację subskrypcji proxy na Cloudflare","Połącz wiele usług proxy plus własne węzły w jedną subskrypcję, z regułami routingu skonfigurowanymi po stronie serwera — klient po prostu subskrybuje.","2026-06-28",4,[177,244,245],"Obejście cenzury","Projekt open source",{"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","Dyskutowanie, czy coś ma wartość, samo w sobie jest bezwartościowe","Nasza wartość nie jest definiowana przez nikogo. W epoce AI — jak powinniśmy rozumieć samych siebie?","2026-06-18",[254,255],"Myślenie o AI","Esej humanistyczny",{"path":257,"title":258,"description":259,"date":260,"minRead":261,"tags":262},"\u002Fblog\u002Fx-growth-1000-followers","Ponad 1000 obserwujących w nieco ponad dobę — co zrobiłem","W czerwcu poważnie poprowadziłem konto na X i zdobyłem ponad 1000 obserwujących w nieco ponad dobę. Ten post zapisuje, co zrobiłem i jakie dostałem odpowiedzi.","2026-06-16",12,[263,264],"Prowadzenie X","Wzrost treści",1789752321111]