Lumaktaw sa nilalaman
Chandler Nguyen
AI8 min basahin

Namatay ang Mac Ko. Binuild Ko Ulit Gamit ang Chrome at DeepSeek.

Namatay ang Mac ko, kaya ni-wipe ko ito at nagsimula ulit — walang iba kundi Chrome at isang agent harness. Mga 60 GB na mas marami ang free space ng machine ngayon kaysa dati, at hindi na ako nag-iisip sa mga application.

Namatay ang Mac mini ko. Hindi naman dramatic — tumigil lang itong maging machine na mapagkakatiwalaan ko, at ang matino na gawin ay i-wipe ang drive at mag-reinstall mula sa simula.

Maraming beses ko nang nagawa ang sayaw na ito. Hindi nagbabago ang ritwal: i-reinstall ang OS, tapos isang gabi na pag-i-install ng lahat. Homebrew. Node. Python. Dose-dosenang command-line tools na hindi mo na matandaan kung kailan mo in-install. Tapos, makalipas ang tatlong linggo, matutuklasan mo ang isang nakalimutan mo, dahil may dating gumagana na ayaw nang gumana.

Sa pagkakataong ito, may iba akong sinubukan.

Nag-install ako ng Chrome, tapos nagpatakbo ng isang command sa Terminal para i-install ang harness mismo. Iyon lang ang buong listahan. Tapos, ipinagawa ko na sa kanya ang lahat ng natitira.

Hindi dekorasyon ang Chrome sa kuwentong iyon. Ito ang tanging GUI application na talagang gusto ko, at ito rin ang browser na pinapatakbo ng agent kapag may gawaing nangangailangan nito. Ang browser tooling ay idinedeklara sa harness config tulad ng iba pang bagay, hindi mano-manong ini-install.

Ang harness ang bahaging matagal ko nang binabalewala

Sa nakalipas na dalawang taon, ang mga AI coding tool ay halos iniisip ko lang sa terms ng model. Alin ang pinakamatalino, alin ang pinakamura, alin ang pinakamagaling magsulat ng frontend code. Nakansela na ako ng subscription dahil sa tanong na iyon at nakasulat na ako tungkol dito nang higit sa isang beses.

Ang hindi ko nabigyan ng sapat na bigat ay ang harness — ang bagay na talagang nasa pagitan ko at ng machine. Ang model ang nagbibigay ng katalinuhan. Ang harness ang nagbibigay ng mga kamay, ng memorya kung paano ako magtrabaho, at ng interface.

Para sa rebuild na ito, ang OpenCode ang harness at ang DeepSeek V4.1 Flash ang model. Pero hindi na ako naniniwala na dapat nakapako sa isang pagpipilian ang alinman sa dalawang layer, dahil magkaiba ang batayan ng pagpili sa dalawa.

Apat na bagay ang batayan ko sa pagpili ng model: kung gaano ito katalino, kung gaano ito kabilis mag-generate (tokens per second, na mas ramdam ko kaysa inaasahan ko), kung magkano ito, at kung ano ang nangyayari sa data na ipinapadala ko.

Higit pa sa sticker price ang dapat timbangin pagdating sa gastos, dahil hindi ang sticker price ang aktwal na binabayaran mo. Ang numerong mahalaga ay ang cache hit rate. Kapag kaya ng harness na panatilihing stable ang context, halos lahat ng input ay galing sa cache at bumabagsak ang bill — ang cache hit rate ko sa DeepSeek ay regular na lampas 99%. Dalawang model sa parehong presyo kada token ay maaaring magkaiba nang husto sa aktwal na gastos mo, depende kung kayang panatilihin ng harness mo ang cache.

Hindi ko rin dinadaan ang lahat sa isang model. Iba't ibang gawain ang nababagay sa iba't ibang model, at madalas sapat na ang isang libre para sa mekanikal na trabaho — paggastos ng frontier model doon ay puro aksaya lang.

Ang harness ay pinipili ko batay sa preference. Interface, at ugali. Ginagamit ko ang OpenCode dahil doon nakatira ang mga ugali ko, at pinapatakbo ko ang sariling harness ng DeepSeek kasabay nito dahil gusto kong magtrabaho sa dalawa. Sa trabaho, iba naman ang gamit ko — Antigravity CLI na nagpapatakbo ng Gemini 4 Argon o 3.8 Flash — dahil iba ang hugis ng trabahong iyon: binibigyan ko ito ng plano at pinagtatrabaho nito iyon nang ilang oras.

Walang benchmark ang makakapagdesisyon sa alinman diyan, hindi tulad ng pagdesisyon sa isang model. Kailangan mong malaman ang kailangan mo, at pumili ayon doon.

Nagsulat ako noong Agosto tungkol sa paglipat sa isang model at isang harness nang hindi pinapangalanan ang bagay na talagang nagbago para sa akin. Nagtapos ang post na iyon sa pangakong mas gagamitin ko na ang Flash, dahil sa presyong iyon, wala nang dahilan para hindi. Ito na iyon, na may isang pagwawasto: mali ang instinct na iisa.

Akademiko ang pagkakaibang iyon hanggang sa mag-rebuild ka ng computer gamit ito. Tapos, mabilis itong tumitigil na maging akademiko. Ang harness na kayang magpatakbo ng commands, bumasa at magsulat ng files, mag-install ng packages, at subukang i-check ang sarili nitong trabaho ay hindi isang autocomplete box. Mas malapit ito sa isang operating layer — at kapag mayroon ka na nito, napakaikli na ng listahan ng mga bagay na ikaw mismo ang nag-i-install.

Ang workflow, hakbang-hakbang

Pareho ang pattern sa bawat pagkakataon, at hindi ito ang dati kong paraan ng pagtatrabaho:

  1. Ilarawan ang outcome, hindi ang mga hakbang. Hindi "heto ang brew command", kundi "kailangan kong makapagpatakbo ng ganitong klaseng script locally, i-set up mo."
  2. Hayaan ang agent na mag-install at mag-configure, kasama na ang pag-aayos ng bagay na kasisira lang niya.
  3. I-verify — sa akin pa rin ang bahaging ito. Maipapakita sa iyo ng agent nang eksakto kung ano ang pinatakbo niya, at iyon ang dahilan kung bakit mura ang mag-verify.
  4. Kapag may hindi ako kayang i-verify, ako na mismo ang gumagawa. Ang service keys at SSH credentials ang dalawang bagay na ginawa ko sa kamay at hindi ko ipinaubaya.
  5. Basahin kung ano talaga ang ginawa niya, at asahan na darating din ang isang mukhang-makatwirang maling sagot. Hindi lahat ng linya — sapat para malaman kung ano ang nagbago sa machine ko, at sapat para mapansin ang isang pagbabagong mukhang tama pero hindi.

Mas madaling ipakita kaysa ilarawan ang pagkakaiba nito sa dati kong mga rebuild:

Dati kong rebuildItong isa
Ini-install sa kamayAng OS, tapos isang gabi ng Homebrew, Node, Python at dose-dosenang CLI toolChrome, at isang command para sa harness
Lahat ng iba paAko, sa loob ng isang gabiAng agent, kapag hiniling
Nasaan ang stateLocal services, runtimes, container imagesIsang config file at isang connection na pinayagan ko nang isang beses
Ano ang naiponLatak mula sa bawat eksperimentoWalang naka-install na "just in case"

Dalawang bagay ang nagpapaposible nito. Una, iniimbak ng mga harness ang kanilang configuration sa mga file na kayang basahin at i-edit — kitang-kita ko kung ano ang naka-wire up at kayang baguhin ito. Pangalawa, parami nang parami ang MCP server ko na remote. Ang Supabase, Resend at Vercel ay mga URL na pinayagan ko nang isang beses, hindi mga service na nasa disk ko. Ang mga lokal ay tumatakbo sa npx kapag kailangan, kaya hindi naka-install hanggang sa sandaling gamitin ko.

Dati, may mga service ang machine ko. Ngayon, may config file at token ito, at ang mga service ay nakatira sa ibang lugar.

Nanatiling walang laman ang disk

Hindi ko ito sinadyang i-benchmark, kaya ituring itong obserbasyon at hindi sukatan. Pero mahirap balewalain ang numero: kumpara sa dati kong setup, mga 60 GB na mas marami ang free space ko ngayon sa parehong machine.

Para sa isang machine na soldered ang SSD, hindi ito rounding error. Ang storage ang isa sa napakakaunting bagay na hindi mo na maa-upgrade mamaya sa isang modernong Mac, at presyong ganoon din ito. Ang 60 GB na nabawi ay malaking bahagi ng magiging halaga ng susunod na tier.

Mas madaling ipaliwanag kaysa patunayan kung saan ito napunta. Ang ilang tool ay tumatakbo na kapag kailangan sa halip na permanenteng nakatira sa disk, at kumupas na ang ugali ng pag-install ng mga bagay nang maaga, dahil mura lang ang humingi ng mga ito mamaya.

Mula hugis-application papuntang hugis-intent

Heto ang pagbabago, at pinag-iisipan ko pa kung gaano ito kalayo ang nararating.

Hugis-application ang halos buong computing life ko. Gusto kong gawin ang isang bagay, kaya hinahanap ko ang application na gumagawa ng bagay na iyon, ini-install ko ito, pinag-aaralan ang interface nito, at namumuhay sa loob ng mga opinyon nito. Ang application ang unit ng trabaho.

Hugis-intent ang ganitong paraan ng pagtatrabaho. Inilalarawan ko ang kailangan ko. May isang bagay na may kakayahang kumilos sa machine ang mag-uunawa kung anong mga piraso ang kailangan, magse-set up ng mga ito, at gagawin ito. Nagiging implementation detail na lang ang application, at kung minsan ay hindi ko na ito sinasadyang mai-install.

Mas malaking pagbabago ito kaysa sa "sinusulatan ng AI ang code ko". Hindi kailanman naging bottleneck ko ang coding; ang distansya sa pagitan ng paggusto ng isang bagay at pagkakaroon nito ang problema. Mas maikli na nang malaki ang distansyang iyon ngayon.

Kaya rin ako paulit-ulit na nagbibiro nang kalahati na baka sa Linux ako mauwi. Ang dahilan kung bakit ilang taon akong nanatili sa macOS ay hindi kailanman ang operating system — kundi ang naipon nang setup na kakailanganin kong buuin muli. Kung ang environment mo ay halos isang config file at isang mahusay na agent, mas kaunti na ang timbang ng platform sa ilalim. Hindi ako lilipat ngayong linggo. Hindi lang ako sigurado kung ano pa ang pipigil sa akin.

Aaminin ko, hindi ko ito inaasahan. Kung sinabi mo sa akin limang taon ang nakalipas na sapat na ang isang bagong Mac, isang browser at isang agent para makabalik sa trabaho, iisipin ko na naglalarawan ka ng isang demo, hindi ng isang tahimik na Martes ng gabi.

Ang hindi ko sinasabi

Ilang tapat na caveat, dahil nakabasa na ako ng sapat na sigasig tungkol dito para maging suspetsoso sa sarili ko.

  • Ang harness na ngayon ang lock-in. Papadali nang papadali ang pagpapalit ng model, pero ang mga ugali, config at workflow ko ay nasa harness. Totoong dependency iyon at binabantayan ko ito.
  • Hindi pareho ang "ini-install niya lahat" at "naiintindihan ko ang machine ko". Mas kaunti ang alam ko sa setup ko ngayon kaysa noong ako mismo ang bumuo nito sa kamay. Totoong halaga ito, at ito ang dahilan kung bakit nandiyan ang hakbang lima sa itaas.
  • Hindi ito libre. Mga $60 sa nakalipas na 30 araw, at ang figure na iyon ay hindi lang sa coding ko — kasama na ang DeepSeek API sa likod ng ilang produkto ko sa production. Para sa konteksto, mga $200 kada buwan ang gastos sa akin ng parehong ugali isang taon ang nakalipas. (Nagsulat ako tungkol sa pagbabagong iyon noong Agosto.)

Frequently asked questions

Ano ang harness sa AI coding?

Ang harness ay ang program na nag-uugnay sa isang model sa isang totoong environment. Nangangatwiran ang model; binibigyan ito ng harness ng mga tool — pagpapatakbo ng commands, pagbasa at pagsulat ng files, pagtawag sa mga external service — at pinamamahalaan ang usapan at ang mga permission sa paligid nito. Ang OpenCode ay sadyang model-agnostic, kaya nagpalit ako ng model sa ilalim nito nang walang binago kahit ano pa. Mga harness din ang Claude Code at Codex, pero bawat isa ay nakabalangkas sa mga model ng sariling vendor nito. Ang rule of thumb ko: pumili ng model batay sa capability, bilis, gastos at data handling; pumili ng harness batay sa kung talagang gusto mong magtrabaho rito.

Kaya mo nga bang mag-set up ng bagong computer gamit lang ang browser at isang AI agent?

Para sa setup ko — isang developer na halos sa terminal at browser nagtatrabaho — malaking oo, at isang command, hindi zero. Kailangan mo ng browser para maabot ang model at ang internet, at isang paraan para i-install ang harness mismo, at kailangan mong handang i-verify ang ginawa ng agent. Hindi ko ipagpapalagay na ganoon din sa machine ng isang designer o isang accountant.

Bakit mas kaunti ang disk na ginagamit ng setup na ito?

Mga 60 GB na mas kaunti kaysa sa dati kong setup, dahil sa tatlong dahilan. Ang ilang service ay tumatakbo na nang remote at inaabot sa pamamagitan ng URL sa halip na naka-install locally. Ang ilang tool ay tumatakbo kapag kailangan sa halip na permanenteng nasa disk. At kumukupas ang ugali ng pag-pre-install ng mga bagay "just in case" kapag mura lang ang humingi ng mga ito mamaya.


Nagulat pa rin ako na ang "mag-install ka ng Chrome at tingnan natin ang mangyayari" ay naging isang gumaganang computer.

Maraming salamat, Chandler :P