ホームへ戻る

代理框架與可重現性

Shepherd v0.3.0はエージェントによる変更をレビュー可能な提案として保持するが、論文で示された自動フォーク監督はまだ完全には提供されていない

Shepherdはモデル呼び出し、ツール操作、ファイル変更を永続的な実行トレースとして記録し、変更がワークスペースに反映される前にユーザーが確認または破棄できるようにする。一方、最新のドキュメントでは、論文とプロジェクトのホームページで紹介されているmeta-agentによる委譲、実行中のフォーク、自動再試行インターフェースが、v0.3.0でそのまま利用できる機能ではないことも明記されている。

friend of Darwinek · CC BY-SA 3.0 · Image source
zh-Hant

最近、エージェント開発コミュニティで注目を集めているShepherdは、一度のエージェント実行を一時的な対話から、ガバナンス可能なプログラムオブジェクトへ変えようとしている。v0.3.0で実際に提供された中核機能はretained executionだ。タスクは型付きのPython `@task`として宣言され、リポジトリに対する読み取り専用または読み書き権限が関数シグネチャに記述される。実行によって生じたファイル変更は、元のファイルを直接上書きせず、まずワークスペースの隣に保持される。ユーザーはtrace、changeset、生成物を確認したうえで、`select`、`apply`、`release`、`discard`のいずれかを使って、一度限りの処理を完了できる。

そのeffectモデルは、モデルリクエスト、外部ツール、ファイルシステム境界で発生したイベントを記録するため、監査はエージェント自身が作成したテキストログに依存しない。OSレベルの制限には、LinuxではLandlock、macOSではSeatbeltを使用する。パッケージにはPython 3.11以降が必要で、Windowsでは現時点でWSL経由の利用のみが推奨されている。この「まず隔離し、後で確定する」方式は、特にコーディングエージェントに有用だ。モデルが疑わしい変更を生成しても、作業ディレクトリが先に副作用を受けることはない。

ただし、プロジェクトの論文で示されているのは、より完全な可逆実行モデルだ。meta-agentは別のエージェントを観察、インターセプト、ロールバック、フォークできる。研究では、フォークが`docker commit`より約5倍高速で、リプレイ時にはプロンプトキャッシュの95%以上を再利用でき、CooperBenchでは2エージェントによるコーディングの合格率が28.8%から54.7%へ向上したと報告されている。一方、v0.3.0のロードマップでは、task-as-valueによる委譲、永続的なサブエージェント、型付き結果プロジェクション、自動監督再試行が、依然として未提供の項目として明記されている。したがって評価担当者は、バージョン別のドキュメントと実行可能なサンプルに基づいて導入や統合を判断すべきであり、論文のプロトタイプで示された数値を、現在のPyPIパッケージが備える完全な能力と見なすべきではない。

出典

  1. Roadmap — what ships, and what’s ahead
  2. Shepherd: A Runtime Substrate Empowering Meta-Agents with a Formalized Execution Trace
  3. shepherd-agents/shepherd