Show HN: TERMy – LLMを使用しない高速ターミナルアシスタント
Show HN: TERMy – A fast terminal assistant that does not use LLMs (github.com)
要約
TERMyは、LLM(大規模言語モデル)や機械学習に依存せず、CPU上で動作する高速なターミナルアシスタントです。自然言語による指示をミリ秒単位でシェルコマンドに変換し、Raspberry Pi Zeroのような低スペックなデバイスでも利用可能です。軽量なNLUパイプラインと、破壊的なコマンドに対する組み込みの権限ゲートにより、安全かつ効率的なワークフローを提供します。
全文翻訳
私はリサーチと開発が大好きです。PJON(Padded Jittering Operative Network)で私のことを聞いたことがあるかもしれません。これは私が2010年に開発を始めたネットワークプロトコルで、最近、Pius Sieber氏の研究のおかげでETH Zurich大学によってシリコン実装されました。
NPC-Forgeフレームワーク上に構築されたターミナルアシスタント、TERMyを皆さんに共有できることを嬉しく思います。現在開発されている他のあらゆるものとは異なり、TERMyは埋め込み(embeddings)、機械学習、LLMを使用しません。CPU上で(Raspberry Pi Zeroでも)動作し、ターミナルまたはブラウザタブのクライアントサイドで、ミリ秒単位で応答します。これは、単一の人工ニューロンに依存することなく、自然言語をシェルコマンドに翻訳する、皮肉屋ですが非常に知識豊富なLinuxターミナルアシスタントです。
7月上旬から2ヶ月間、AIの価格高騰とサブスクリプション型トークン消費の終焉という奇妙な時期に、個人的なプロジェクトに集中する機会を得ました。単純な自然言語リクエストを処理できるターミナルアシスタントを一から開発できるかどうか知りたかったのです。私は記憶力が悪く、Copilotに「仮想環境をアクティベートして」のような些細な操作を尋ねるのに慣れており、毎月かなりの金額を費やしていました。これは、これらのタスクを達成するために本当に何兆ものパラメータが必要なのか?と考え始めました。
仕組み
プロンプトを入力すると、それは約1000行のPythonで書かれた軽量なNLU(自然言語理解)パイプラインを通過し、以下のステップを実行します。
- 冒涜的な言葉、間投詞、励まし、落胆、感謝の言葉を削除します(ノイズ除去)。
- 感情分析。
- 完全一致(非常に高速)。
- テンプレートマッチング(遅い)。
- 確率的マッチング(さらに遅い)。
ステップ5は以下に依存しています。
- IDF(Inverse Document Frequency):まれな単語を特定します。
- BOW(Bag Of Words):単語の順序の変動に対応します。
- IDF重み付けレーベンシュタイン距離:タイポ(誤字脱字)を安全に処理します。
権限のゲートはデータセットにハードコーディングされており、潜在的に破壊的なコマンドすべてに対して強制されるため、予測不能なLLMをマシン上で暴走させるよりも本質的に安全です。
- TERMyの動作: TERMy in operation
- バリエーションとタイポ耐性: Variance and typo tolerance
- Copilot連携: Copilot integration
- 高度な機能: Advanced features
- ソースコード: Source Code