公式発表Hugging Face
Hugging Face、Python製AIエージェントハーネス「Tau」を公開 Piの移植版としてTUIやツリー型セッションを搭載
Hugging Faceは、ミニマリストなAIコーディングエージェント用のハーネス「Tau」を公開しました。Tauは、TypeScriptおよびRustで実装された先行プロジェクト「Pi」のPython移植版です。Textualフレームワークを用いた高度なターミナルUIを備え、ツリー構造による会話の分岐や、Markdownによるスキルのインポートなどの機能をPython環境で実現します。本稿では、そのセットアップから具体的な機能、既存のPiとのアーキテクチャの違いまでを詳細に解説します。
AI解析: gemini-3.5-flash

元動画: Tau Crash Course: The Python Port of Pi
3秒でわかる要点
- 1Tauは先行するAIエージェント開発環境であるPiをPythonに完全移植したミニマリストなハーネスです
- 2Textualを採用したTUIにより、APIコストの可視化やセッションのツリー構造管理がターミナル上で完結します
- 3Markdown形式で記述した「スキル」をエージェントに直接読み込ませて実行制御することが可能です
何が発表されたのか
Hugging Faceは、オープンソースのAIコーディングエージェント用ハーネス「Tau」を公開しました。本発表は、先行して開発されていたTypeScriptおよびRustベースのAIエージェントフレームワーク「Pi(pi.dev)」を、Python環境へ完全移植したものです。開発者のAlejandro AO氏による公式デモ動画では、Tauのインストール方法から、Textualフレームワークを採用したターミナルUI(TUI)の操作、セッション管理、スキルの追加方法などが実演されました。本プロジェクトは、開発者がAIエージェントの内部動作を容易に理解し、独自のカスタムエージェントを構築するための教育的かつ実用的なツールとして位置づけられています。すでにGitHub上でリポジトリが公開されており、MITライセンスのもとで即座に利用可能です。
発表された機能・アップデートの全容
動画内で実演されたTauの主要な機能について、デモ画面の描写を交えて解説します。
Textualを採用した高度なターミナルUI(TUI)
Tauを起動すると、ターミナル上に非常に整理された3ペイン構成のUIが表示されます。UIの構築にはPythonの著名なTUIライブラリである「Textual」が採用されています。画面左側には会話の入力プロンプトとエージェントとのやり取りが表示されます。画面右側のサイドバーには、セッションのメタデータがリアルタイムで更新されます。具体的には、ターン数やツール呼び出し回数を示す「Activity」、入力・出力トークン数およびAPI利用料金の概算を示す「Cumulative usage」、自動的にコンテキストを圧縮する閾値を示す「Compaction」(デフォルトは245kトークン)、現在コンテキストに追加されているファイル名を示す「Context」などが一目で確認できます。これにより、開発者はエージェントの動作状態やコストを常に監視しながら開発を進められます。
柔軟なLLMプロバイダーへのログインとモデル選択
エージェントを動作させるためのLLM接続は、/login コマンドから直感的に実行できます。認証方法として「Subscription(OAuthアカウント)」「API key」「Custom provider」の3種類がサポートされています。APIキー認証では、OpenAIやAnthropic、Google Gemini、DeepSeek、xAI、Groq、Cerebras、NVIDIA NIM、OpenRouter、Mistral、Hugging Faceなど、主要なプロバイダーが網羅されています。デモでは、Hugging Faceが提供する推論プロバイダー経由で、シングルルーターを介して多数のモデルにアクセスする方法が推奨されていました。ログイン完了後は /model コマンドを入力することで、利用可能なモデルの一覧がTUI上にポップアップ表示され、矢印キーまたはマウス操作で即座にアクティブなモデルを切り替えることができます。
セッションのツリー構造管理と会話のフォーク(分岐)
Tauの最大の特徴の一つは、会話セッションがフラットな「リスト」ではなく「ツリー構造」で保存されている点です。送信されるすべてのメッセージには parent プロパティが付与されており、親メッセージのIDを指し示しています。これにより、Gitのブランチのように、会話の任意の特定の時点から新しい分岐(フォーク)を作成することができます。TUI上で /tree コマンドを実行すると、これまでのアシスタントの発話、ユーザーの入力、実行されたツールコールの履歴がツリー形式で一覧表示されます。開発者は、特定のノードを選択してEnterを押すだけで、その時点のコンテキストを引き継いだまま新しい会話のブランチを開始できます。これにより、異なるプロンプトやモデルによる挙動の違いを、同一のセッションから分岐させて比較実験することが容易になります。
セッションのHTML/JSONL書き出しとエージェントによる自己分析
実行したセッションは、/export コマンドを用いて外部ファイルに書き出すことが可能です。例えば /export ~/temp/test.html と実行すると、美しくデザインされたHTMLファイルが出力されます。このHTMLファイルをWebブラウザで開くと、左ペインにツールコールの実行履歴がタイムラインとして可視化され、右ペインに会話の詳細なテキストが表示されます。さらに、HTML画面上からセッション全体のツリー構造をビジュアル表示したり、セッションデータを「JSONL形式」で直接ダウンロードしたりすることも可能です。動画では、出力したセッションIDを別のTauエージェントに渡し、「このセッションを分析してフィードバックをくれ」と指示することで、エージェントが過去の実行ログを自動的に解析し、詳細なレポートを生成するデモが披露されました。
Markdownで記述する「スキル」のインポートと実行制御
Tauにおける「スキル(Skills)」は、エージェントが特定のタスクを実行するための手順書です。これは単なるプログラムコードではなく、人間が読めるMarkdown(.md)形式で記述されます。スキルファイルは、ホームディレクトリやプロジェクトのルートにある .agents、.tau、または .pi ディレクトリに配置することで、起動時に自動的に検出されます。TUIのサイドバーには現在ロードされているスキルが一覧表示され、/skills コマンドから個別のスキルの説明(F1キー)や、具体的な指示内容(Ctrl+Enter)をTUI上で直接プレビューできます。エージェントは、与えられたタスクを解決するために必要なスキルをシステムプロンプトから自動的に選択して実行します。また、ユーザーが /skill:explore-project のように明示的にスキルを指定して実行させることも可能です。
スラッシュコマンドを用いたカスタムプロンプトの置換
Tauは、頻繁に使用する複雑なプロンプトをショートカット化する「カスタムプロンプト」機能を備えています。これは、TUIの入力欄で /issue などのスラッシュコマンドを入力すると、あらかじめ定義されたテンプレートプロンプトに自動的に置換されてエージェントに送信される仕組みです。デモでは、GitHubのイシューを作成するための詳細な指示テンプレートが /issue コマンドによって一瞬で展開される様子が示されました。この機能の興味深い点は、エージェント自身はカスタムプロンプトの存在を認識しておらず、フロントエンド側のUI層で置換処理が行われるというアーキテクチャにあります。これにより、エージェントのコンテキストを無駄に消費することなく、ユーザー側の入力効率を劇的に向上させています。
性能・ベンチマーク
本動画内では、特定のベンチマークスコアや、他社製品との定量的な性能比較数値の提示はありませんでした。しかし、デモ内では、エージェントがプロジェクトのREADMEを読み込んで正確なサマリーを出力する様子や、セッションログ(JSONL)を解析して「プレマージ検証ゲートの違反」などの論理的な問題を指摘する様子が実演されており、複雑な推論やコード解析を実用的な速度で実行できる性能を備えていることが示されています。
競合サービスとの比較
Tauを、既存の主要なAIエージェント構築環境や競合ツールと比較します。比較対象として、オリジナル版である「Pi」、OpenAIの「Assistants API」、およびAnthropicの「Claude Code(編集部注:Anthropicが提供する開発者向けエージェント機能などを想定)」を取り上げます。
| 評価項目 |
Tau(Hugging Face) |
Pi(pi.dev) |
OpenAI Assistants API |
Claude Code(編集部注) |
| 実装言語 |
Python |
TypeScript / Rust |
なし(API提供) |
TypeScript / Node.js |
| UI形式 |
Textualによる多機能TUI |
独自実装のシンプルTUI |
Web Playground / API |
ターミナルCLI |
| セッション管理 |
ツリー構造(フォーク可能) |
ツリー構造(フォーク可能) |
スレッド形式(基本一方向) |
スレッド形式(基本一方向) |
| 拡張性 |
Pythonによる拡張・移植が容易 |
TypeScriptによる拡張 |
APIによるツール定義 |
プラグイン・CLI統合 |
| モデル選択の自由度 |
極めて高い(Hugging Face連携) |
高い(主要モデル対応) |
OpenAIモデルに限定 |
Anthropicモデルに限定 |
取材班の見立てでは、Tauの最大の強みは「Pythonで実装されていること」と「セッションがツリー構造であること」の2点にあります。AI研究やデータサイエンスのコミュニティではPythonがデファクトスタンダードであるため、TypeScriptで書かれたPiよりも、Tauの方が日本の多くのエンジニアにとってソースコードの解読やカスタム拡張機能の統合が容易であると考えられます。
料金・提供プラン
Tau自体は、Hugging Faceの公式GitHubリポジトリを通じてオープンソース(MITライセンス)として完全無料で提供されています。利用にあたってTau自体への課金は発生しません。ただし、エージェントを動作させるために接続するLLM(OpenAI、Anthropic、Google Geminiなど)のAPI利用料は、各プロバイダーの従量課金制に従ってユーザーが直接支払う必要があります。TUI의サイドバーに表示される「Cumulative usage」は、これらの外部APIの消費コストをリアルタイムで試算して表示する便利な機能です。
日本から使う方法
日本の開発者やビジネスパーソンも、本日より制限なくTauをローカル環境に導入して試すことができます。
- 前提条件の確認: Python 3.12以上がインストールされている環境を用意します(編集部注:パッケージ管理ツールとして
uv や pip が推奨されています)。
- インストールの実行: ターミナルを開き、以下のワンラインシェルスクリプトを実行します。Mac、Linux、Windows(WSL環境を推奨)のいずれにも対応しています。
curl -LSsf https://twotimespi.dev/install.sh | sh
- 起動: インストール完了後、ターミナルで
tau と入力して起動します。
- APIキーの設定: TUIが起動したら、プロンプトに
/login と入力し、使用したいLLMプロバイダー(AnthropicやOpenAIなど)を選択して、自身のAPIキーを入力します。
- 日本語の対応: TauはシステムプロンプトやUIの英語表記が基本ですが、接続するLLMが日本語に対応していれば、日本語での指示入力および日本語によるコード生成や回答の出力が問題なく行えます。
誰にどう効くのか
Tauの導入がもたらす実務へのインパクトを、3つの立場から整理します。
エンジニア・開発者
- メリット: AIエージェントの内部動作(プロンプトの構成、ツール呼び出し、コンテキスト圧縮のタイミング)をターミナル上で完全に視覚化できます。また、Pythonで記述されているため、独自のツールやMCP(Model Context Protocol)サーバーを容易に統合し、開発ワークフローを自動化できます。
企画・マーケティング担当者
- メリット: エージェントに特定の「スキル(Markdownの手順書)」を読み込ませることで、競合分析やレポート作成、イシュー管理などの定型業務を正確に実行する専用アシスタントを、ノンコード(指示書の執筆のみ)で設計・配備できます。
経営層・IT投資意思決定者
- メリット: オープンソースであるためライセンス費用が発生せず、APIコストもリアルタイムに可視化されるため、AIエージェント導入に伴う投資対効果(ROI)を正確に見極めることができます。ベンダーロックインを回避し、自社専用のセキュアなAI実行環境を安価に構築する基盤として極めて有望な選択肢です。
まとめ
Hugging Faceが公開した「Tau」は、AIエージェントのブラックボックス化を防ぎ、開発者が主権を握ってエージェントの挙動を精密にコントロールできるようにする優れたハーネスです。特にツリー構造による会話のフォーク機能や、Markdownによるスキル定義は、実務におけるエージェントの信頼性を高める上で非常に実用的なアプローチです。読者が取るべき次のアクションとしては、まずローカル環境にTauをインストールし、手持ちのAPIキーを接続して、既存のプロジェクトディレクトリでREADMEの要約や簡単なコード修正を試してみることを強く推奨します。エージェントが裏側でどのようにツールを呼び出し、思考しているかをTUIで観察するだけでも、次世代のAI活用に向けた具体的なインサイトが得られるはずです。
動画のタイムテーブル
- 0:00導入とTauの概要説明
- 0:58Textualを使用したターミナルUI(TUI)のデモと各画面要素の解説
- 4:15/loginコマンドを使用した各種LLMプロバイダーへの認証手順の実演
- 5:03/modelコマンドによるモデル選択と実際のプロンプト実行デモ
- 6:36/nameコマンドを使用したセッション名の動的変更機能のデモ
- 7:00/resumeコマンドによる過去のセッション履歴の読み込みと再開
- 8:19セッションのツリー構造と/treeコマンドによる会話の分岐(フォーク)管理
- 11:44/exportコマンドによるセッションのHTML書き出しとブラウザでの解析デモ
- 15:14セッション情報を直接JSONL形式でエクスポートする手順の紹介
- 15:45Markdownファイルを用いたスキルの作成、読み込み、およびTUIでの詳細表示
- 19:14スラッシュコマンドを用いたフロントエンド側でのカスタムプロンプト置換機能
- 20:59/themeコマンドによるTUIのカラーテーマ変更とカスタムテーマの適用
- 22:01Python移植版であるTauとオリジナル版Piの設計および実装上の違いの整理
記事で紹介したツール
この機能を、いま自分の環境で試す
記事の内容は公式発表の要約です。実際の使い勝手は触ってみないと分かりません。多くは無料枠から始められます。
公式サイトで試す→提供: OpenAI
本記事は元動画の映像・音声をAIが解析して自動生成したものです。誤りが含まれる可能性があるため、正確な仕様・料金は公式発表をご確認ください。元動画を見る(解析モデル: gemini-3.5-flash)