Cha에서 Ch로
큰 발표
저는 **Cha**를 사용 중단하고 **Ch**에 집중하려고 합니다. 2025년 8월 23일에 저는 Cha를 사용 중단(deprecated)으로 표시하고 모든 향후 개발 노력을 Ch로 돌렸습니다. 철학은 이제 간단합니다: 하나의 도구만 유지하되 단순하고, 가볍고, 빠른 도구로 유지하며, 유지보수하고 버그를 수정합니다. 기능 쫓기 금지.
처음에 Cha를 만든 이유
LLM과 ChatGPT가 새로 등장했을 때, 제가 원하던 CLI 도구들은 나오지 않았습니다. ChatGPT는 2022년 11월에 나왔고 GPT-4가 공개된 2023년 초에 정말로 주목받기 시작했습니다. 저는 탄탄한 커맨드라인 도구가 등장하기를 기다렸지만, 제 요구대로 작동하는 것은 없었습니다. 그래서 Cha를 만들었고 매일 사용했습니다. 사실 제 첫 블로그 게시물에서 저는 명확히 말했습니다: 이런 프로젝트는 흔했지만 제 필요에 맞는 것은 없었고, 그래서 제가 직접 만들었다고요.
Cha는 제 아기였습니다. 매일 사용했고 개발하는 것을 좋아했습니다. 그리고 1년 이내에 GitHub에서 +60 스타를 얻으며 조금 성장했습니다. 이 기간 동안 웹 스크래핑, YouTube 대본 추출, 이미지 생성, 다중 줄 입력, 대화형/비대화형 채팅 둘 다, STT 프롬프트 입력, 커스텀 도구 지원, OpenAI 외 다양한 플랫폼 지원, 자체 답변 검색 엔진, 고급 디렉터리 탐색 및 파일 편집, 클립보드로 내용 복사 기능, 응답용 TTS 등 많은 기능들을 추가했습니다. 많은 것을 했고 잘 작동했으며 커맨드라인 도구로서 정말 유용하고 강력했습니다.
왜 Ch로 이전했는가 (Python에서 Go로)
시간이 지나면서 Cha는 무거워졌습니다. 훌륭한 기능 세트였지만 일상적으로 제가 필요로 하는 범위에 비해 표면적이 너무 넓었습니다. 결과적으로 Cha는 정말로 비대해졌습니다. 게다가 Python으로 작성된 것이 두 가지 중요한 문제를 야기했습니다. 하나는 속도였는데, 초기 로드 시간만 해도 최적화와 다중 처리 우회 기법을 많이 적용한 뒤에도 여전히 0.8초가 걸렸습니다. 그리고 Python은 설치가 매우 어려운 편입니다. Cha가 여러 써드파티 오픈소스 도구에 의존하고 있었기 때문에 설치가 매우 까다로웠습니다. 제가 한계에 도달한 것은 오직 안드로이드 태블릿에 iTermux만 들고 여행 중일 때였습니다. 전혀 제대로 작동하지 않았고, 어설프게 작동하게 만드는 과정은 매우 고통스럽고 의미가 없었습니다.
그래서 저는 Ch라는 새로운 실험을 시작하기로 했습니다. Ch는 Cha와 같지만 **GoLang**으로 작성되고 Python 대신 Cha의 핵심 기능만 포함하도록 하는 것을 목표로 했습니다. 즉 가볍고, 빠르며, 대부분 시스템에 쉽게 설치할 수 있고, 기능이 과도하게 많은 방향으로 가지 않는 도구를 목표로 했습니다. 이렇게 하면 제가 단독 유지관리자로서 프로젝트를 더 쉽게 유지할 수 있습니다.
몇 달 동안 Ch를 개발하고 사용해 보니 Cha의 미래는 원래 Cha 코드베이스가 아니라 Ch를 통해서임을 알게 되었습니다. Cha에 너무 많은 시간을 쏟았고, 두 코드베이스를 동시에 유지하는 것은 단일 개발자로서 너무 힘들었습니다. 반면 Ch는 핵심 작업을 수행하면서 훨씬 더 가볍고, 빠르며, 설치하기 쉬웠습니다. 결정을 내리기 쉬웠습니다…
Go로의 재작성은 저에게 빠른 시작, 단일 바이너리, 더 간단한 정신적 모델을 제공했습니다. Ch README는 잘 요약합니다: Ch는 후속작으로 시작 속도가 10배 이상 빠르며 훨씬 나은 성능을 제공합니다.
결정
저는 공식적으로 **Cha를 2025년 8월 23일에 사용 중단(deprecated)**으로 선언했고 Cha의 README를 통해 사람들을 Ch로 안내했습니다. Cha 저장소는 역사적 참고용으로 남겨두고 있으며, 저는 Ch를 유지보수 모드로 두고 안정성 및 버그 수정에 집중할 예정입니다. 새로운 기능 추가에는 큰 관심을 두지 않을 것이며, 가치가 있거나 꼭 필요하지 않다면(시간이 지나면서 그 의미가 무엇이 될지는 두고 봐야겠지만) 거의 추가하지 않을 생각입니다.
오늘날 Ch에 포함된 기능
Ch는 불필요한 부하 없이 일상 워크플로를 커버합니다:
- GoLang으로 작성된 경량 CLI로 높은 성능의 빠른 시작
- 다중 제공자 지원(OpenAI, Groq, DeepSeek, Anthropic, XAI, Together, Gemini, Mistral, Ollama)
- 대화형 및 직접 모드, 모든 명령으로부터 파이핑, 파일 및 디렉터리 로딩, 토큰 카운팅, 코드 블록 내보내기, 채팅 기록 뷰어, 모델/플랫폼 전환, 백트래킹, 코드 덤프, 셸 세션 녹화, 클립보드 통합
- 내장 웹 스크래핑 및 검색 기능, YouTube 링크 처리 포함, 직관적인 방식으로 통합
Cha에 비해 Ch에서 빠진 기능(및 이유)
Ch는 Cha의 핵심 기능만 유지하려고 했기 때문에 다음과 같은 Cha 기능들을 Ch에서 제거했습니다:
- 고급 “에디터” UI와 “답변 검색(Answer Search)“은 옮기지 않았습니다
- 오디오, 비디오, 이미지 입력, 음성-텍스트 및 텍스트-음성 변환, 그리고 일부 추가적인 내보내기 및 코드덤프 편의 기능들은 우선순위가 아닙니다
- Cha의 일부 탐색 도우미와 “루트 디렉터리 변경” 동작은 Ch에 없습니다
- 로컬 “프로필과 저장된 채팅"은 기본 경로로 의도적으로 두지 않았습니다
저는 이들 중 다수를 불필요한 확대(bloat) 또는 “있으면 좋은” 것으로 분류했습니다. 제가 중요하다고 본 것은 웹 브라우징 및 웹 스크래핑이었고, 이는 Ch에 처음에는 빠져 있었지만 이후 통합하여 핵심 루프가 나머지 없이도 완성되었습니다. 게다가 Ch에는 !x라는 새로운 기능이 있어 Ch 세션 내에서 셸 세션을 기록하고 이를 채팅 기록에 추가해 다른 CLI 도구를 사용하고 그 출력물을 모델에 저장할 수 있게 합니다. 이 기능은 Ch가 모든 역할을 수행해 비대해지지 않으면서 Cha에서 빠졌던 많은 원래 기능을 Ch로 가져올 수 있게 해줍니다. Ch에 대해 더 알고 싶다면 이 새로운 블로그 게시물을 확인하세요.
Ch/Cha 대 Claude Code
2025년 7월에 저는 Cha를 최신 AI 기반 CLI 도구들과 비교하는 비교 글을 썼습니다. 그 글은 Cha가 그런 도구들이 제공하지 않았던 어떤 가치를 제공하는지 설명하기 위한 것이었습니다. 이를 알면서도 이 블로그에 이 내용을 포함하고 싶은 이유는 본질적으로 Ch가 같은 가치를 제공하며 이 전환 이후에도 그 비교는 여전히 유효하기 때문입니다. 동일한 철학이 Ch에도 적용됩니다.
핵심 차이점
- Ch/Cha 접근법은 배경에서 자율적으로 결정을 내리는 AI 워커가 없는, 사용자 제어를 전 단계에서 강조합니다. 명시적이고 사용자가 제어하는 컨텍스트 관리가 가능하며, 일상적으로 활성 사용을 기준으로 보통 월 1달러에서 20달러 사이의 비용으로 운영됩니다. 예기치 않은 편집이 없고 모든 것이 사용자 지향적이어서 깊게 관여하고 비용을 엄격히 관리하기에 이상적입니다.
- Claude Code나 Gemini 같은 에이전틱 CLI는 자동화된 워크플로 결정과 자율적인 선택을 하는 스마트 에이전트를 사용하는 다른 경로를 택합니다. 이들은 AI가 관리하는 컨텍스트와 파일 처리를 다루며, 유사한 사용 수준에서 보통 월 10달러에서 200달러 이상이 드는 경우가 많습니다. 이들은 자율적인 코드 수정에 탁월하여 빠른 프로토타이핑과 위임에 적합합니다.
Ch/Cha 스타일을 택할 때
- 비용을 최소화하고 투명성을 원할 때
- 모든 상호작용에 대한 완전한 제어를 원할 때
- 개발 프로세스에 깊게 관여하고 싶을 때
- 민감한 프로젝트에 대한 명시적 컨텍스트 관리가 필요할 때
에이전틱 도구를 택할 때
- 빠른 프로토타이핑과 빠른 반복이 필요할 때
- AI 자동화와 위임을 선호할 때
- 비용보다 속도를 우선시할 때
권장 사항
만능 해결책은 없습니다. 어떤 도구도 모든 경우를 커버하지 않습니다. Ch는 비용 효율적인 일상 작업과 정밀한 제어에 적합합니다. Claude Code나 Gemini CLI 같은 에이전틱 도구는 복잡하고 다중 파일, 다중 환경 코딩에 속도와 자동화에 중점을 둘 때 빛을 발합니다. 비용을 줄이고 제어를 유지하려면 Ch를 사용하세요. 빠른 반복이 필요하고 제어 위임을 신경 쓰지 않는다면 에이전틱 도구를 사용하세요. 많은 사람들은 Ch로 시작하여 좋은 상호작용 패턴을 배우고, 필요에 따라 에이전틱 도구를 추가합니다.
Cha와 Ch의 미래
Cha와 Ch의 미래는 이렇습니다. Cha는 사용 중단(deprecated)되어 보관(archived) 되었고 역사적 참고 자료로만 남습니다. Ch가 이제 새로운 Cha입니다. Ch는 계속해서 유지보수되고, 필요하면 개선되며, 사용될 것입니다. 저는 Ch에 대한 **기능 확장(feature creep)**을 강하게 저지할 것입니다. 앞으로 제가 Cha를 언급할 때는 Ch를 의미하며, 구형 파이썬 기반 Cha는 “Cha v0” 또는 **“old Cha”**로 지칭하겠습니다. 이를 염두에 두고
감사합니다
처음부터 Cha 여정을 따라오신 분들께는 감사드립니다. 그 프로젝트는 저에게 많은 것을 가르쳐 주었고, 제가 실제로 일하는 방식에 더 잘 맞고 커뮤니티 전체에도 더 나은 버전으로 나아가도록 밀어주었습니다. 처음 오신 분들은 Ch를 사용해 보시고 단순하게 유지하세요!