Mac MiniでローカルLLMエージェントをTelegramインターフェースで実行する

r/LocalLLaMAの開発者が、Mac Mini上で複数のローカルLLMエージェントを動作させ、スマートフォンからのTelegramメッセージで完全に制御するシステムについて詳述しました。このセットアップはAPIコストを排除し、Claude Code Channelsのような商用サービスと同等の機能を維持しながら、完全なプライバシーを提供します。
技術的セットアップ
コアシステムは以下を使用しています:
- LMStudioによるローカルモデル:日常タスク用の35Bモデル、高度な推論用の235Bモデル
- 各Mac Mini上のtmuxセッションで動作するClaude Code
- ユーザーメッセージをtmuxセッションに橋渡しするTelegramボット
- Telegramボット実装用の80行のPythonコード(GitHubで公開)
ワークフローは直感的です:Telegramボットにメッセージを送信すると、ボットがtmuxセッションに入力し、出力を監視して応答を返します。
主な利点
- 継続コストゼロ:ハードウェアのみが費用—APIキー、レート制限、クォータ制限なし
- 完全なプライバシー:すべてがローカルエリアネットワーク(LAN)内に留まる
- モデルの柔軟性:異なるモデルを組み合わせ可能—一部のエージェントはGemini CLIを実行し、他はOllamaモデルを指すLMStudioを使用
- ベンダーロックインなし:LMStudioはAnthropic Messages APIをネイティブで提供するため、Claude CodeはAnthropicのサーバーと通信しているかのように接続
現在の実装
開発者は5つの専門化されたエージェントを実行しており、それぞれ独自のTelegramボットを持っています:
- 承認ワークフロー:スマートフォンからのドラフトレビュー用のインラインTelegramボタン(承認/拒否/調整)付き
- git同期によるエージェント間の共有メモリ
- GPUボックスにディスパッチされるメディア生成(FLUX.1、Wan 2.2)
- 単一のTelegramメッセージでトリガーされるクローン音声TTS付きポッドキャストパイプライン
ハードウェア要件
- 35Bモデル:64GB+ RAMのMacまたは24GB GPUで良好に動作
- 235Bモデル:128-256GB RAMまたは複数GPUが必要
- 開発者は、小規模から始めて必要に応じてスケールすることを推奨
tmuxブリッジパターンはモデル非依存—セッション内で何が実行されているか気にしないため、基盤となるモデルの簡単な交換が可能です。単一マシン/エージェント用の完全な構築ガイドが利用可能で、複数マシン用の説明は近日公開予定です。
📖 Read the full source: r/LocalLLaMA
👀 See Also

開発者がClaude構築のERPシステムにおけるトークンコストの課題を共有
貨物運送事業の経営者がClaudeで3,000行以上のERPシステムを構築しましたが、単一のHTMLファイル全体を読み込む必要があるため、メッセージごとに60,000〜80,000トークンのコストが発生しています。コスト削減のため、モジュール化やFirebaseへの移行を検討中です。

ハイブリッドローカル+APIアプローチで、1か月間のテストでAIコストを79%削減
開発者がHetzner VPSで24時間稼働するAIアシスタントを運用し、ローカルモデルとAPI呼び出しを戦略的に組み合わせることで、月額コストを288ドルから60ドルに削減しました。このセットアップでは埋め込みにnomic-embed-textを、バックグラウンドタスクにQwen2.5 7Bを使用し、より複雑な作業はClaudeモデルにルーティングしています。

OpenClawは、AIモデルを使って動画の90%を69.5ドルで制作します。
あるRedditユーザーが、OpenClawを使用して動画の90%を作成し、残りの10%はCapCutでの基本的な編集とYouTubeへのアップロードで完了したことを実演しました。

Claude Codeでファンタジーベースボール分析アプリを構築:法学部生の経験談
2017年にコンピュータサイエンスの学位を取得した法学部生が、Claude Codeを実装に使用し、すべての製品およびドメインの決定を行いながら、Ball Knowerという完全なファンタジーベースボール分析iOSアプリを構築しました。このアプリには1,313のMLB選手プロファイル、毎日のストリーミング投手ピック、およびダイナスティランキングが含まれており、バックエンドでは9つのデータソースからデータを取得する30のcronジョブが実行されています。