huggingface/tau
A Python port of Pi’s minimalist coding agent.
何を解決するか
Tauは軽量で読みやすいターミナルベースのコーディングエージェントを提供し、開発者がコマンドラインからリポジトリの説明、テストの追加、スタックトレースの修正などのタスクを実行できるようにします。また、巨大なプロダクションコードベースの複雑さを避けつつ、コーディングエージェントシステムのアーキテクチャを示す教育用プロジェクトとしても機能します。
動作方法
Tauは、明確な責任分担を維持するために3つの異なるレイヤーに構成されています:
- tau_ai:OpenAI、Anthropic、Hugging Faceなど、さまざまなモデルプロバイダーをプロバイダー非依存のストリームに変換します。
- tau_agent:"ポータブルな脳"として機能し、メッセージ、ツール、イベント、エージェントループ、セッションプリミティブを管理します。
- tau_coding:CLI、TUI、ファイル/シェルツール、およびディスク上のセッション管理を提供するアプリケーションレイヤーです。
これは型付きイベントストリームを使用しており、コアロジックがフロントエンド(TUIまたはprintモード)から分離されています。永続的なJSONLファイルを使用してセッション履歴を保存し、セッションの再開や分岐を可能にしています。
対象ユーザー
ターミナルに機能的なコーディングアシスタントを求める開発者、およびAIエージェントの内部アーキテクチャを学びたい人向けです。
特徴
- ターミナルネイティブ:インタラクティブなTextual TUIと、スクリプト用の非インタラクティブなprintモードを両方備えています。
- 組み込みツール:ファイルの読み取り・書き込み・編集、およびbashコマンドの実行をネイティブにサポートするツールが付属しています。
- プロバイダー非依存:OpenAI、Anthropic、OpenRouter、Hugging Face、およびカスタムのOpenAI互換エンドポイントをサポートしています。
- 永続セッション:追加のみ可能なJSONL形式のセッション履歴を維持し、手動および自動的なコンテキスト圧縮をサポートしています。
- ライブラリ利用可能:
AgentHarnessはPythonライブラリとしてインポートでき、カスタムフロントエンドを駆動できます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト