Ch CLI
O projekcie
Rok temu stworzyłem Cha, przeczytaj mój oryginalny wpis na blogu na jego temat, moje narzędzie CLI w Pythonie do interfejsu z modelami OpenAI. Od tego czasu obserwowałem, jak krajobraz AI dramatycznie ewoluował. Na rynku pojawili się nowi gracze, oferując przekonujące alternatywy dla OpenAI. To skłoniło mnie do ponownego wyobrażenia sobie, czym Cha mogłoby być. Rezultatem jest Ch, eksperymentalna implementacja w Go, która ucieleśnia wszystko, czego nauczyłem się o tworzeniu narzędzi dla programistów.
Ch nie jest po prostu portem Cha. Choć jest jeszcze na wczesnym etapie, skupia się na tym, co najważniejsze dla mnie i innych deweloperów: szybkości, wydajności i obsłudze wielu platform AI. Zachowując podstawową filozofię prostoty i interakcji najpierw w terminalu, która uczyniła Cha użytecznym, Ch zapewnia imponującą poprawę wydajności o 2,55x w porównaniu ze swoim poprzednikiem w Pythonie. Oznacza to mniej czasu na czekanie i więcej czasu na rzeczywiste rozwiązywanie problemów.
Ewolucja
Krajobraz AI zmienił się znacząco od czasu, gdy po raz pierwszy wydałem Cha. Zobaczyłem kilka dużych zmian, które wpłynęły na to, jak podszedłem do tworzenia Ch:
-
Pojawienie się nowych dostawców AI było niesamowite. Firmy takie jak Groq przesunęły granice szybkości inferencji. Claude firmy Anthropic pokazał imponujące możliwości rozumowania. DeepSeek i inni wnieśli świeże podejścia do modeli językowych. Ta dywersyfikacja sprawiła, że bycie związanym wyłącznie z OpenAI przestało wystarczać.
-
Szybkość odpowiedzi stała się coraz bardziej krytyczna. W miarę jak narzędzia AI stają się częścią naszej codziennej pracy, te dodatkowe sekundy oczekiwania na odpowiedzi sumują się. To była jedna z moich głównych motywacji do przepisania tego w Go. Zyski wydajności to nie tylko liczby na benchmarku. Przekładają się na zauważalnie płynniejsze doświadczenie, gdy jesteś głęboko w sesji programistycznej.
-
Potrzeba elastyczności platformowej również wzrosła. Różne modele najlepiej sprawdzają się w różnych zadaniach, a możliwość łatwego przełączania się między nimi jest cenna. Chciałem, aby Ch to umożliwiał bez wysiłku, żebyś mógł skupić się na swojej pracy zamiast zarządzać punktami końcowymi API.
Kluczowe funkcje
Obsługa wielu platform: Ch działa bezproblemowo z OpenAI, Groq, DeepSeek, Anthropic i xAI. Ułatwiłem przełączanie się między platformami tak bardzo, jak to możliwe, ponieważ wierzę, że posiadanie wyboru czyni to narzędzie bardziej wartościowym.
Błyskawicznie szybka wydajność: Poprawa szybkości 2,55x w stosunku do Cha to nie tylko marketing. To rezultat starannej optymalizacji i doskonałych cech wydajnościowych Go. Każda interakcja sprawia wrażenie bardziej responsywnej, co naprawdę robi różnicę, gdy używasz tego przez cały dzień.
Tryby interaktywny i bezpośredni: Czasem chcesz szybkiej odpowiedzi, innym razem potrzebujesz dłuższej rozmowy. Ch natywnie obsługuje oba te przepływy pracy. Możesz wysyłać szybkie zapytania albo angażować się w szczegółowe dyskusje techniczne.
Integracja wyszukiwania w sieci: Zintegrowałem SearXNG z formatem cytowania IEEE. Oznacza to, że gdy Ch pobiera treści z sieci, aby odpowiedzieć na twoje pytania, otrzymujesz właściwie cytowane odpowiedzi o jakości badawczej. Jest to szczególnie przydatne, gdy potrzebujesz aktualnych informacji lub chcesz zweryfikować twierdzenia.
Inteligentna obsługa plików: Ładowanie plików do kontekstu czatu to coś, z czego korzystam nieustannie, więc ulepszyłem to. Funkcja wielokrotnego wyboru ułatwia dołączenie dokładnie tego, czego potrzebujesz do rozmowy.
Profesjonalne narzędzia: Niezależnie od tego, czy eksportujesz rozmowy na potrzeby dokumentacji, używasz preferowanego edytora tekstu do złożonych promptów, czy przełączasz się między modelami AI, Ch sprawia, że jest to proste. To nie są tylko funkcje, które uznałem za przydatne. To narzędzia, z których korzystam codziennie w swojej pracy.
Zarządzanie historią czatu: Możliwość cofania się po historii rozmowy wielokrotnie ratowała mi skórę, gdy muszę odwołać się do wcześniejszych części dyskusji albo wyeksportować czaty do późniejszego wykorzystania.
Dlaczego Go?
Decyzja o przepisaniu Cha w Go nie dotyczyła wyłącznie wydajności. Po roku utrzymywania Cha miałem jasny obraz tego, co działa, a co można ulepszyć. Silne typowanie w Go wychwytywało błędy wcześniej podczas rozwoju. Doskonałe wsparcie współbieżności sprawiało, że obsługa wielu wywołań API była płynniejsza. Szybkie wykonywanie sprawiało, że każda interakcja wydawała się bardziej responsywna.
Ale być może najważniejsze jest to, że Go pomógł mi zbudować bardziej solidne i łatwiejsze w utrzymaniu narzędzie. Kod jest czystszy, obsługa błędów bardziej niezawodna, a cała architektura solidniejsza. Tych ulepszeń użytkownicy mogą nie zauważyć od razu, ale sprawiają, że Ch jest bardziej niezawodny i łatwiejszy do rozbudowy o nowe funkcje.
Siła rozwoju wspomaganego przez AI
To, co naprawdę mnie zachwyciło podczas tworzenia Ch, to nie tylko poprawa wydajności czy nowe funkcje. To było to, jak go zbudowałem. Korzystając z narzędzi takich jak Claude Code CLI i Gemini CLI, w połączeniu z Cursor IDE, byłem w stanie opracować ten MVP w mniej niż jeden dzień. To doświadczenie całkowicie zmieniło moją perspektywę na to, co jest możliwe w tworzeniu oprogramowania.
Ten szybki cykl rozwoju nie polegał na skracaniu drogi. Zamiast tego pokazał, jak narzędzia AI zmieniają sposób, w jaki możemy podchodzić do projektów programistycznych. To, co mogłoby zająć tygodnie planowania, kodowania i debugowania, zostało skondensowane do godzin skoncentrowanego rozwoju. To nie chodzi tylko o szybsze pisanie kodu; chodzi o możliwość eksperymentowania, iterowania i wprowadzania innowacji w tempie, które wcześniej nie było możliwe.
Patrząc w przyszłość
Chociaż Ch obecnie implementuje większość podstawowych funkcji Cha, jest to wciąż bardzo eksperymentalny projekt. Cieszę się z jego potencjału, ale wciąż jest praca do wykonania. Poprawa wydajności i obsługa wielu platform pozycjonują Ch do rozwoju wraz z szybko ewoluującym krajobrazem AI.
Korzystam z Ch codziennie, tak jak korzystałem z Cha, ale teraz z satysfakcją wiedząc, że jest szybszy. Dla tych, którzy chcą go wypróbować, sprawdźcie repozytorium GitHub projektu podlinkowane na górze tego wpisu. Proces instalacji jest prosty, zwłaszcza jeśli znasz narzędzia Go.
Droga od Cha do Ch była czymś więcej niż tylko przepisaniem narzędzia na szybszy język. Chodziło o wzięcie wszystkiego, czego nauczyłem się, budując i używając Cha, i stworzenie czegoś, co lepiej służy potrzebom deweloperów w dzisiejszym krajobrazie AI. Cieszę się, że zobaczę, jak ludzie używają Ch i jak może on ewoluować, by sprostać przyszłym potrzebom.