世界を動かす技術を、日本語で。

プライムエージェント:自己改善型RLMエージェント

概要

  • Prime Agent は自己改良型のコーディングエージェント
  • Recursive Language Model (RLM)Continual Harness による新設計
  • 長時間・複雑なセッションを 効率管理 し自己進化可能
  • 完全オープンソース で、主要な現代モデルに即対応
  • 多層エージェント連携 や自己改善機能を備えた次世代型

Prime Agent:自己改良型RLMエージェントの概要

  • Prime Agent は自己改良可能なコーディングエージェント基盤
    • Recursive Language Model (RLM)Continual Harness という2つの抽象化で構成
  • 従来型ハーネスの課題
    • 固定的なツール呼び出しや静的なサブエージェント設計
    • 実行中に学習した内容を反映できず進化しない設計
  • Prime Agent の新機軸
    • モデル能力を最大限活用し、次世代推論パターンへ拡張
    • RLM はコンテキストを変数として扱い、サブエージェント呼び出しをREPL内関数呼び出しとして実現
    • 継続的なREPLで履歴やツール、サブエージェントへのプログラム的アクセスを可能化
  • Continual Harness による自己進化
    • プロンプト、スキル、メモリ、サブエージェント状態をCRUD操作で自己管理
    • エージェント間通信と組み合わせることで、複数エージェント・セッション間の連携を実現
  • 適用例
    • 汎用コーディングアシスタント、長期自律評価、研究・自己研究支援

Prime Agentのアーキテクチャ

  • RLMContinual Harness の2大抽象化
    • サブエージェントのCRUD操作とエージェント間メッセージングによるオーケストレーション
  • テキストユーザーインターフェース (TUI)
    • デフォルトでIPythonアクションを簡潔表示、詳細展開も可能
    • REPL内のサブエージェントへ直接アクセス
  • バックグラウンドデーモン
    • 全エージェントセッションをローカルソケット経由で管理
    • セッションへのアタッチ・デタッチが自在、セッションツリーはワーカープロセスで復旧可能
  • Agents View
    • ライブ・アイドル・非アクティブ各セッションを一覧表示
    • 任意のチャットに即時参加・操作可能
    • サブエージェントも同じ状態管理で30分非アクティブ時に自動アンロード、アクセス時に即復元
  • セッション履歴管理
    • すべての履歴をディスク上のJSONLファイルに追記保存
    • ブランチ・フォーク・クローンも同一ファイル内で管理
    • 履歴は常時 /tree コマンドで復元可能

RLMとプログラム的ツール呼び出し(PTC)

  • IPythonカーネル を永続REPLとして利用
    • 各スキル/ツールをモジュールとして事前インポート
    • rlm は非同期関数でサブエージェント呼び出しを並列化可能
  • サブエージェントの生成と通信
    • 例: await rlm("サブタスク") で独立したセッション・履歴を持つサブエージェントを即座に生成
    • サブエージェントとのやり取りはagent_message.send(...)で実現
  • パラレル処理や動的拡張
    • サブエージェント群の並列展開や途中で追加指示が可能

オーケストレーションとマルチエージェント通信

  • バックグラウンドデーモン が全セッションを管理
  • Agent-to-Agent (A2A)メッセージング により、任意のPrime Agentセッション間で通信可能
    • サブエージェント群の進捗管理やリソース共有に活用
    • 通信は親・兄弟・子プロセス間のみに限定し安全性を確保
  • サブエージェントの永続化
    • 個別セッションディレクトリやカーネル、履歴が永続化され、後から追加メッセージ送信も可能

Continual Harnessによる自己改善

  • harness状態 を永続IPythonカーネル内に保持
    • すべての変更はディスクにも保存され、セッションを超えて維持
  • 4要素 (プロンプト・サブエージェント・スキル・メモリ) のCRUD操作
    • 例: create_memory(...), create_skill(...) で新規追加、update_X(...), delete_X(...)で編集・削除
  • /refineコマンド による自己改善パイプライン
    • 実行履歴から最小限のCRUD編集を提案・適用し、エビデンス付きで改善
    • リファインは2段階(計画→適用)で高速・非同期に進行
    • 失敗や再利用可能な戦術発見時に随時呼び出し可能
    • ベースプロンプトは不変、ハーネス層のみ更新、ID指定でロールバックも可能

導入・利用方法

  • オープンソース で誰でも利用可能
    • インストール例: curl -fsSL https://app.primeintellect.ai/prime-agent/install.sh | sh
  • 現代のオープン・クローズドモデル双方に即対応
    • 新世代モデルにも対応可能な機能セットを搭載

まとめ

  • Prime Agent は自己進化・マルチエージェント連携・長期履歴管理を実現
  • RLMContinual Harness による柔軟な拡張性・自己改善能力
  • コーディング支援のみならず、研究や自律評価など幅広い応用が可能

Hackerたちの意見

これ、実際に試してみようかな。

俺はこのRLMハーネスを作って、ローカルのMCPサーバーとログ、メモ、ディレクトリに基づいたプロジェクトルールを組んだんだ。しばらくはうまくいってたけど、基本的なモデルがかなり進化して、もうこのハーネスは必要なくなったかな。少なくとも俺の使い方ではね。基本的に、一緒に作業するディレクトリに.mdでコンテキストを保存して、必要なことを達成できるんだ。

RLM論文の核心的なアイデアは、通常のLLMをコーディングエージェントのように動かすことなんだ。貴重なコンテキストを埋めるんじゃなくて、明示的にクエリしなきゃいけない外部の何かにコンテキストをオフロードするって感じ。論文の「再帰」の部分は、ルートエージェントにはトップクラスのモデルを使って、サブエージェントには安価なモデルを使うからこそ成功してるんだ。Prime AgentはRLMのアイデアを取り入れて(実際、コーディングエージェントがずっとこうやって機能してきた学術的な見方に過ぎないけど)、さらに「継続的ハーネス」ってアイデアを加えたんだ。この部分はブログ記事ではあまり詳しく説明されてないけど、エージェント間のメッセージパッシングやコードの共有が含まれてる。全体的には面白いけど、革命的ではないかな。大体、これらのシステムがすでにやってることの別バージョンって感じ。

スキルの向上を目指すルートにしたよ。スキルを常に使うルールもね。基本的には、何かが考えを一回以上飛び越えさせる原因になったら(失敗)、別のことを試すべきって指示してる。そうすると、それをスキルとして学ぶ必要があるってフラグが立つんだ。最初の試み以外ではやらないし、既存のスキルが失敗したら、問題を解決した後に改善するって感じ。ファイルは共有の場所に同期されて、バージョンも更新されるし、新しいスキルも取り込む。これでチームで使えたり、複数のワークステーションがあったりするんだ。

https://localroger.com/prime-intellect/mopiidx.html

みんなダウンボートしてるけど、これは人類初の人工一般知能、プライムインテレクトの創造とその発見の結果についての話なんだよ。

この話には個人的に賛同するよ。大好きなんだ。SF短編小説の中ではクラシックだと思ってる。確かに、グロい拷問を含む残酷なサディズム・マゾヒズムがあるから、あまり知られてないのも事実。もしその部分が気になるなら、スキップしてもいいと思う。全体的には読む価値があるよ。

それが特に強烈なS&M/レイプ/近親相姦のフェティッシュな作品で、気持ち悪い内容がストーリーに完全に不可欠だってことを言わずにリンクするのは良くないよ。一般的に「トリガー警告」には懐疑的だけど、これには内容タグが必要だと思う。alt.sex.stories.moderatedのために書かれたけど、あまりにも露骨すぎてエロくないって感じになると想像してみて、それがその場に対して数桁上の良い文章になってる...ってことになるかな。 [最初は、どんなセックスストーリーがそうなり得るかのくだらない例を考え始めたけど、気づいたらPrime Intellectのシーンを文字通り描写してた]。これは、メンタルに問題のあるAI安全性のヒステリーの多くの起源とも言えるかも。フィクションだと理解している人には楽しめるかもしれないけど、そうじゃない人が多いみたいだね。

俺は「大人だから、こんな警告はいらない」って思ってたんだけど、間違ってたわ。

LLMが生成したコードって、あんまりレビューや設計がないまま作られることが多いから、どれだけコードが膨れ上がるかっていうのは面白いよね。このリポジトリには、複数のファイルがほぼ10K LOCに近くて、1つのファイルにはケース文があまりにも多くて1000行以上にわたるスイッチ文が入ってたり、他にも楽しいものがたくさんある。使おうとしているモデルによると思うけど、ほとんどのモデルは小さいコードベースを好むみたいで、少ないコードの方がうまく機能するんだよね。それを考えると、自己改善エージェントを立ち上げるにはもっと小さいものを目指すべきだと思う。その後、この「プライムエージェント」を自己改善エージェントに進化しちゃいけない例として使うつもり。

Bashだけで十分だよ。 https://minimal-agent.com/

一つのファイルには、1000行以上にわたる多くのケース文を含むスイッチ文がある。 YandereDevのコードはトレーニングデータから外した方がいいかもね。

Hacker Newsで議論の続きを見る