ChaからChへ

プロジェクトのGitHubリポジトリ

大きな発表

私は**Chaをサンセットし、Chに注力しています。2025年8月23日にChaを非推奨に指定し、今後の開発はすべてChに向けることにしました。フィロソフィーはシンプルです:一つのツールをシンプルで、軽量で、速い**ものにして維持し、バグを修正する。機能追いかけはしない

私が当初Chaを作った理由

LLMやChatGPTが登場した当初、私が欲しかったCLIツールは現れませんでした。ChatGPTは2022年11月に登場し、GPT-4のリリースとともに2023年初頭に注目を浴びました。堅実なコマンドラインツールが出てくるのを待っていましたが、どれも私の望むやり方では動作しませんでした。そこでChaを作り、毎日使うようになりました。実際、私の最初のブログ記事でははっきりと書きました:この種のプロジェクトはよくあるが、私のニーズに合うものは無かった、だから自分で書いたのだ、と。

Chaは私の子供のような存在でした。毎日使い、開発するのが楽しかった。そして1年足らずでGitHubで**+60スターを集め、少しだけ成長しました。その間にウェブスクレイピング、YouTubeの文字起こし取得、画像生成、複数行入力、インタラクティブ/非インタラクティブ両方のチャット、STTプロンプト入力、カスタムツールのサポート、OpenAI以外のさまざまなプラットフォームのサポート、独自のAnswer Searchエンジン、高度なディレクトリナビゲーションとファイル編集、クリップボードへのコピー機能、応答のTTSなどを取り込みました。多くのことを行い、機能し、コマンドラインツールとして本当に有用で強力**でした。

なぜChへ移行したのか(PythonからGoへ)

時間とともにChaは重くなりました。素晴らしい機能セットでしたが、日常的に私が必要とするものに対して表面積が大きすぎました。その結果、Chaは本当に肥大化しました。さらに問題だったのはPythonで書かれていたことです。これが二つの重大な問題を生みました。一つは速度で、初期ロード時間だけでも最適化やマルチプロセッシングを駆使した後でも依然として0.8秒かかっていました。そしてPythonはインストールが非常に難しいです。ChaはさまざまなサードパーティのOSSツールに依存していたため、インストールが非常に厄介でした。決定的だったのは、Androidタブレット(Android)だけを持って旅行していて、iTermuxを走らせようとしたときに全く動作せず、何とか動かすにしても非常に苦痛で無意味だったことです。

そこでChという新しい実験を始めることにしました。ChはChaのようなものですが、Pythonの代わりに**GoLangで書かれ、Chaの本質的な機能のみ**を含むことで、軽量で、速く、ほとんどのシステムでインストールしやすく、機能過多にならないことを目指しました。そうすることで、ソロメンテナーとしてプロジェクトを維持しやすくなります。

数か月Chに取り組み使ってみた後、Chaの将来は元のChaコードベースではなくChにあると感じました。Chaにあまりにも多くの時間を費やしており、二つのコードベースを個人で維持するのは時間がかかりすぎました。Chはコアの仕事を行いつつ、はるかに軽く、速く、インストールしやすいものでした。それで決断は明確になりました…

Goで書き直すことで、高速な起動単一バイナリ、そして小さなメンタルモデルを得られました。ChのREADMEはうまく要約しています:Chは後継で、起動が10倍以上速く、パフォーマンスが大幅に向上しています。

決断

私は公式に2025年8月23日にChaを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に移していません:

  • 高度な「Editor」UIと「Answer Search」は移行しません
  • 音声、ビデオ、画像の取り込み、音声からテキストやテキストから音声への変換、いくつかの追加エクスポートやコードダンプの便利機能は優先度が低い
  • Chaにあった一部のナビゲーションヘルパーや「ルートディレクトリを変更する」動作はChにありません
  • ローカルの「プロファイルと保存されたチャット」は意図的にデフォルトの経路ではありません

これらの多くは私はボロや「あると嬉しい」ものと分類しました。私が重要と考えたのはウェブ閲覧とウェブスクレイピングで、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非推奨・アーカイブされ、ある種の歴史的参照としてのみ機能します。Chが新しいChaです。Chは引き続きメンテナンスされ、必要なら強化され、使われ続けます。私はChに対する**機能肥大化(feature creep)には強く抵抗するつもりです。今後、Chaという言葉を使うときはChを指すことにし、古いPythonベースのChaは“Cha v0”または“old Cha”**と呼ぶことにします。その点を踏まえて。

ありがとう

最初からChaの旅路を追ってくれた方々、ありがとうございます。そのプロジェクトは多くを教えてくれ、私が実際にどう働くかにより合うバージョンへと導いてくれただけでなく、コミュニティ全体にもより良い形を提供しました。もし初めてなら、Chを使い始めて、シンプルに保ってください