チャットボットはもう够了!OpenHarnessで本格的なAgentを作ろう
你有没有过这种感觉?ChatGPT给了一个不错的代码建议,但要真正使用它,你得自己创建文件、粘贴文本、运行测试,然后修复几个导入错误?我们已经习惯了把这种体验称为「AI辅助」,但实际上它不过是带聊天界面的高级搜索而已。
几天前,我偶然发现了HKUDS团队的OpenHarness仓库。这群人决定:聊天ボットはもう够了——是时候给语言模型装上「手」了。这个项目是一个用于构建自律型Agent的基础设施,这些Agent不只是聊天,而是生活在你的终端里、浏览网页、自主编辑代码。
Agentハーネシングとは
作者たちは適切な用語を使っています—Harness(ハーネス)です。考え方は、LLMだけでは「瓶の中の脳」に過ぎないということです。Agentになるには、目(コンテキスト)、手(ツール)、そして記憶が必要です。
OpenHarnessは、こうした雑多な仕事をすべて処理するPythonフレームワークです:
- Agent Loopサイクルの管理(リクエスト—ストリーミング—ツール呼び出し—繰り返しまたは終了)。
- アクセス制御(Agentが誤ってディスクのルートを削除しないようにするため)。
- MCP(Model Context Protocol)との統合。
- ファイル(例:
MEMORY.md)を通じたメモリの整理。
最も良い点は、特定のクラウドにロックインされないことです。ClaudeでもOpenAIでも実行でき、Ollama経由でローカルモデルを渡すこともできます。
OpenHarnessができる5つのこと
ソースコードとREADMEを調べ上げた結果、日常の開発作業に最も役立つと思えるものを紹介します。
すぐに使えるツール群
このリポジトリにはすでに40以上のツールが実装されています。「bashスクリプトを実行する」だけではありません。Grepによるファイル検索、Jupyterノートブックサポート、Webブラウジング、さらにはタスクを委任するための他のAgentを生成する機能もあります。ツールはPydanticで型付けられているため、モデルが余分な幻觉なしに輸入データスキーマを理解できます。
スキルシステム
システムプロンプトを「戦争と平和」のような大きさに膨れさせる代わりに、OpenHarnessはMarkdownファイルからの動的スキルローディングを使用します。Agentがコードレビューを行う必要がある場合は、review.mdを読み込みます。プロジェクトのデプロイが必要な場合は、対応するスキルを取得します。これにより、トークンを節約でき、AIの動作をより予測可能にできます。
セキュリティとアクセスレベル
AIにターミナルへのアクセス権を付与 всегда是一件让人担心的事。OpenHarnessはPermission Modesでこの問題を解決します。デフォルトモードでは、Agentはファイル書き込みやコマンド実行などの危険な操作の前に入力を求めます。Plan Modeもあり—Agentはファイルの読み取りと変更の提案のみを行い、手で何かを触れることはありません。
パーソナルアシスタントOhmo
リポジトリの中にはohmoプロジェクトがあります。これはTelegram、Slack、Discordに接続できる готовый Agentアプリケーションです。Messengerでメッセージを書くと、ワークステーションでGitブランチを作成し、バグを修正し、PRを開きます。これは既存のサブスクリプション(Claude CodeやCodexなど)を通じて動作するため、API呼び出しに余分なお金を払う必要はありません。
Dry Runモード
デバッグに便利な機能です。コマンドoh --dry-runは、有料クラウドに单一のリクエストを送信せずに、どの設定が引き出されたか、どのキーがアクティブか、どのツールがモデルに利用可能になるかを表示します。
内部の動作仕組み
プロジェクトのアーキテクチャは非常に透明です。すべてが独立したサブシステムに分解されています:
- Engine:システムの心臓部で、モデルの推論ループを管理します。
- Permissions:各ツール呼び出しをルールに対してチェックするレイヤー(例:
/etc/への編集をブロック)。 - UI:ReactとInkで構築された優れたターミナルインターフェース。是的、コンソールの中で。
- Coordinator:1つのタスクが複数の「ヘルパー」のサブタスクに分割されるマルチエージェントシナリオを処理します。
興味深いことに、プロジェクトはMCPプロトコルをサポートしています。这意味着你可以将任何上下文服务器连接到你的Agent——比如说,一个数据库或特定的API——它会立即学会使用它。
実践的なシナリオ
なぜこれをワークフローに導入するのですか?
第一に、定型作業の自動化です。「srcフォルダ内の未使用のインポートをすべて見つけてクリーンアップし、テストを実行してください」とAgentに依頼できます。Agentがファイルで忙しい間、あなたはコーヒーを飲みます。
第二に、未知のレガシーコードの操作。Agentはプロジェクトをスキャンし、依存関係マップを構築し、コード検索ツールを使用して特定のモジュールがどのように機能するかを説明できます。
第三に、カスタマイズされた专用ボットの作成。会社に特定のデプロイプロセスがある場合、ステップの説明を含むファイルを書くだけで、Agentは正確にあなたの方法を知ることができます。
試してみる価値はあるか
プロジェクトは活発に見えます:114のテストがパスしており、アクティブな更新があります(バージョン0.1.7は数日前にリリースされました)。欠点としては、ドキュメントは時にコードを読み解く必要があり、Windowsサポートはネイティブと主張されていますが、PowerShellでは短いコマンドの代わりにを使用する必要があります。
チャットからIDEにコードをコピー&ペーストするのに厌倦하고 있고、Agentが本当に何ができるかを感じたいなら、OpenHarnessは素晴らしい出発点です少なくとも、Agentインフラを理解可能で拡張可能にしようとしている数少ないプロジェクトの1つです。
シンプルなインストールで始めることができます:
curl -fsSL https://raw.githubusercontent.com/HKUDS/OpenHarness/main/scripts/install.sh | bash
oh setup
そして、ペットプロジェクトで何かを修正するように依頼してみてください。結果はあなたを驚くかもしれません。
関連プロジェクト