OpenClawのコアであるpi-monoから始めてPythonに移してみたミニマルエージェント
(github.com/solvit-team)まだ多くの人にとって、エージェントは少し漠然とした存在だと思います。何かすごそうに見える一方で、実際に中を開いてみるとどう動いているのか感覚がつかみにくく、どこから触ればいいのかもすぐには見えてこないことが少なくありません。
私も同じでした。そんな中で、
OpenClawのコアがpi-monoだという話を聞き、これが非常にミニマルなエージェントだという点が印象に残りました。特に私には、それが「最も強力なのはシンプルなシステムである」という哲学をよく体現した例のように感じられました。そこでこれを、自分自身のエージェントを作るための出発点とし、自動でコードを書けるレベルまでをPythonで一度移植してみることにしました。実際のところ、現在の
py-pimonoには、pi-monoにはすでにあるものの、まだ取り込めていないものがずっと多くあります。たとえば次のようなものです。
- セッション管理
- ステアリング
- フォローアップ
- 各種ユーティリティ
- ストリーミング
そうして
py-pimonoは完成品というより、本当に何もないけれどひとまず動く、ほとんど骨組みだけを残したエージェントに近いものになりました。その代わり、構造は比較的はっきり見えるようにしてあり、どこを開いて、どこに何をつなげればよいのか感覚をつかみやすくしています。なので、まだエージェントを漠然としか捉えられていない人でも、構造を追いながら手を入れてみやすいはずだと考えました。たとえば、次のような問いをできるだけ小さなコードベースの中で追っていけるようにしたかったのです。
- 「エージェントが長いスパンで動き続ける」とは、コードの中でどのように表現されるのかが気になる人もいるでしょう
- セッションデータをどのように保存し、再び読み込むのかが気になる人もいるでしょう
そのためこのリポジトリは、そうした要素をできるだけ分離してあり、LLMと一緒にコードを読み、分析しながら、自分なりのループやセッション管理を付け足し、構造を少しずつ拡張していくためのよい出発点になればと思っています。
ただし、すぐに実行して手に馴染ませられるように、このミニマルなハーネスの上にUIもあわせて載せてあります。
ui/ディレクトリを開けば、私があれこれ試していた複数のUIやDiscord連携も見つけられるはずです。インストール:
pip install py-pimonoCodexの認証がすでに済んでいれば、そのまま実行できます。
pyaiCodexの認証がなくても、フォールバックとしてオウム返しの
MockLlmが動くので、デバッグポイントを打ちながらエージェントループを眺めてみるのもなかなか面白いです。Codexの認証がまだなら、先にログインしてから実行してください。
codex login pyaiその後は、ここで本当に重要だけれどまだ欠けているものだけを、できるだけクリーンでミニマルに付け足していく作業を、みなさんと一緒に進められたら面白いと思っています。エージェントを漠然とした対象のままにしておくのではなく、実際に開いて、直して、自分のものに変えていく感覚を、より多くの人に味わってもらえたらと思い、公開しました.
まだコメントはありません。