Ch CLI

Repo sa GitHub ng Proyekto

Tungkol

Noong isang taon ang nakakaraan, ginawa ko ang Cha, basahin ang orihinal kong post sa blog tungkol dito, ang aking Python CLI na kasangkapan para sa pakikipag-ugnayan sa mga modelo ng OpenAI. Mula noon, sobra ang pagbabago sa tanawin ng AI. Pumasok ang mga bagong kalahok sa merkado, nag-aalok ng mga nakakahimok na alternatibo sa OpenAI. Ito ang nag-udyok sa akin na muling isipin kung ano ang maaaring maging Cha. Ang resulta ay Ch, isang eksperimentong implementasyon sa Go na sumasalamin sa lahat ng aking natutunan tungkol sa pagbuo ng mga kasangkapan para sa mga developer.

Ang Ch ay hindi lamang simpleng port ng Cha. Bagaman nasa maagang yugto pa ito, nakatuon ito sa pinakamahalaga para sa akin at sa ibang mga developer: bilis, kahusayan, at suporta para sa maraming AI platform. Habang pinapanatili ang pangunahing pilosopiya ng pagiging simple at terminal-first na pakikipag-ugnayan na nagpahusay sa Cha, naghahatid ang Ch ng kahanga-hangang 2.55x na pagpapabuti sa pagganap kumpara sa nauna nitong Python. Ibig sabihin nito, mas kaunting oras ang ginugugol na naghihintay at mas maraming oras para talagang lutasin ang mga problema.

Ang Ebolusyon

Malaki ang nagbago sa tanawin ng AI mula noong una kong inilabas ang Cha. Nakita ko ang ilang mahahalagang pagbabago na nakaimpluwensya sa paraan ng pagbuo ko ng Ch:

  • Ang pag-usbong ng mga bagong provider ng AI ay kamangha-mangha. Ang mga kumpanya tulad ng Groq ay nagtulak sa mga hangganan ng bilis ng inference. Ipinakita ng Anthropic na ang Claude ay may kahanga-hangang kakayahan sa pangangatwiran. Ang DeepSeek at iba pa ay nagdala ng mga sariwang pamamaraan sa mga language model. Ang pag-iba-iba na ito ay nangangahulugang hindi na sapat ang pagiging naka-link lamang sa OpenAI.

  • Naging kritikal ang bilis ng tugon. Habang nagiging bahagi ng ating pang-araw-araw na daloy ng trabaho ang mga kasangkapan ng AI, ang dagdag na mga segundong paghihintay para sa mga tugon ay nag-iipon. Isa ito sa mga pangunahing dahilan kung bakit ko muling isinulat sa Go. Ang mga napanalunang pagganap ay hindi lamang numero sa benchmark. Sila ay nagreresulta sa malinaw na mas maayos na karanasan kapag malalim ka sa isang session ng pagko-code.

  • Lumago rin ang pangangailangan para sa kakayahang lumipat-lipat ng platform. Iba-iba ang lakas ng iba’t ibang modelo sa iba’t ibang gawain, at mahalaga ang kalayaan na madaling makalipat sa pagitan nila. Gusto kong gawing walang putol ang paglipat sa Ch, upang makapagpokus ka sa iyong trabaho kaysa sa pamamahala ng mga API endpoint.

Pangunahing Mga Tampok

Suporta sa Maramihang Platform: Gumagana nang walang putol ang Ch sa OpenAI, Groq, DeepSeek, Anthropic, at xAI. Ginawang kasing-simple ng makakaya ko ang paglipat-lipat sa pagitan ng mga platform dahil naniniwala akong ang pagkakaroon ng mga pagpipilian ay nagpapahalaga sa kasangkapan.

Napakabilis na Pagganap: Ang 2.55x na pagpapabuti sa bilis kumpara sa Cha ay hindi lamang marketing. Ito ay resulta ng maingat na pag-optimize at mahusay na katangian ng pagganap ng Go. Bawat pakikipag-ugnayan ay mas mabilis ang dating, na gumagawa ng tunay na pagkakaiba kapag ginagamit mo ito sa buong araw.

Interaktibo at Direktang Mga Mode: Minsan gusto mo ng mabilis na sagot, sa ibang pagkakataon kailangan mo ng mas malalim na pag-uusap. Sinusuportahan ng Ch ang parehong mga daloy ng trabaho nang natural. Maaari kang magpadala ng mabilis na mga query o makipag-ugnayan sa detalyadong teknikal na mga talakayan.

Integrasyon ng Paghahanap sa Web: Inintegrate ko ang SearXNG na may pormat ng sipi ng IEEE. Ibig sabihin nito kapag kumukuha ang Ch ng nilalaman mula sa web para sagutin ang iyong mga tanong, nakakakuha ka ng tama at naseserbang mga tugon na pang-research. Partikular itong kapaki-pakinabang kapag kailangan mo ng napapanahong impormasyon o nais i-verify ang mga pahayag.

Matalinong Pangangasiwa ng Mga File: Madalas kong ginagamit ang paglo-load ng mga file sa konteksto ng iyong chat, kaya pinaganda ko ito. Pinapadali ng multi select na functionality ang pagsama ng eksaktong kailangan mo sa iyong pag-uusap.

Mga Propesyonal na Kasangkapan: Kung nag-e-export ka man ng mga pag-uusap para sa dokumentasyon, ginagamit ang paborito mong text editor para sa mas kumplikadong prompts, o lumilipat sa pagitan ng mga modelo ng AI, pinapadali ng Ch ang mga prosesong ito. Hindi lang ito mga tampok na inisip kong maganda. Mga kasangkapan ito na araw-araw kong ginagamit sa sarili kong trabaho.

Pangangasiwa ng Kasaysayan ng Chat: Ang kakayahang bumalik sa kasaysayan ng pag-uusap ay nakasagip sa akin ng maraming beses kapag kailangan kong sanggunian ang mga naunang bahagi ng talakayan o mag-export ng mga chat para sa hinaharap na sanggunian.

Bakit Go?

Ang desisyon na muling isulat ang Cha sa Go ay hindi lang tungkol sa pagganap. Pagkatapos ng isang taon ng pagpapanatili ng Cha, nagkaroon ako ng malinaw na larawan kung ano ang gumana at ano ang maaaring pagbutihin. Na-detect nang mas maaga sa development ang mga error dahil sa malakas na typing ng Go. Ginawang mas maayos ng mahusay na concurrency support nito ang paghawak ng maramihang API na tawag. Ang mabilis na pagpapatupad ay nagpa-ramdam sa bawat pakikipag-ugnayan na mas tumutugon.

Ngunit marahil ang pinakamahalaga, tinulungan ako ng Go na makabuo ng mas matibay at mas madaling mapanatili na kasangkapan. Mas malinis ang code, mas maaasahan ang error handling, at mas matatag ang pangkalahatang arkitektura. Maaaring hindi agad nakikita ng mga gumagamit ang mga pagbabagong ito, ngunit ginagawang mas maaasahan ang Ch at mas madaling palawakin ng mga bagong tampok.

Ang Kapangyarihan ng Pag-unlad na Tinutulungan ng AI

Ang tunay na nakakabilib sa akin tungkol sa pagbuo ng Ch ay hindi lamang ang mga pagpapabuti sa pagganap o ang mga bagong tampok. Ito ay kung paano ko ito binuo. Gamit ang mga kasangkapan tulad ng Claude Code CLI at Gemini CLI, kasama ang Cursor IDE, nagawa kong idevelop ang MVP na ito sa mas mababa sa isang araw. Binago ng karanasang ito ang pananaw ko tungkol sa kung ano ang posible sa pag-develop ng software.

Ang mabilis na siklong ito ng pag-develop ay hindi tungkol sa pagputol ng kalidad. Sa halip, ipinakita nito kung paano binabago ng mga kasangkapan ng AI ang paraan ng paglapit natin sa mga proyekto sa software. Ang mga bagay na maaaring mangailangan ng linggo ng pagpaplano, pag-code, at pag-debug ay natipon sa mga oras ng nakatuon na pag-develop. Hindi lang ito tungkol sa mas mabilis na pagsusulat ng code; tungkol din ito sa pagiging makakapagsubok, makapag-iterate, at makapagpabago sa isang bilis na dati-rati ay hindi posible.

Pagtanaw sa Hinaharap

Habang kasalukuyang ipinapatupad ng Ch ang karamihan sa mga pangunahing tampok ng Cha, ito ay labis na eksperimentong proyekto. Nasasabik ako sa potensyal nito, ngunit marami pang gagawin. Ang mga pagpapabuti sa pagganap at suporta sa maramihang platform ay naglalagay sa Ch upang lumago kasabay ng mabilis na nag-e-evolve na tanawin ng AI.

Ginagamit ko ang Ch araw-araw, tulad ng paggamit ko sa Cha, ngunit ngayon na may kasiyahan na mas mabilis ito. Para sa mga interesado na subukan ito, tingnan ang repositoryo ng proyekto sa GitHub na naka-link sa itaas ng post na ito. Direktang sundan ang proseso ng pag-install, lalo na kung pamilyar ka na sa mga kasangkapan ng Go.

Ang paglalakbay mula Cha patungong Ch ay higit pa sa muling pagsulat ng isang kasangkapan sa mas mabilis na wika. Ito ay tungkol sa pagkuha ng lahat ng aking natutunan mula sa pagbuo at paggamit ng Cha, at paglikha ng isang bagay na mas mahusay na naglilingkod sa mga pangangailangan ng mga developer sa kasalukuyang tanawin ng AI. Nasasabik akong makita kung paano gagamitin ng mga tao ang Ch at kung paano ito mai-evolve upang matugunan ang mga pangangailangan sa hinaharap.