本格的なハーネスを、あなたのコードベースで。

シェル、検索、ファイル編集、バックグラウンドジョブ、隔離されたサンドボックス。さらに四つのマルチエージェントモードと、元に戻せる操作と戻せない操作を区別する権限。Perchは監査される仕事のために作られました。そしてそれは、コードベースに必要なものと同じだったのです。

Perch Terminal
Perch-Demo-APフォルダでタスク実行中のPerch Terminal:Saffronが買掛金台帳を読むためにscripts/find-duplicates.tsを書くと説明し、続いてCSVをInvoiceインターフェースにパースするTypeScript 73行を追加する、シンタックスハイライト付きの差分カードが表示されています。入力欄には対象のフォルダ、モデル、Take the Wheelの権限、リアルタイムのコンテキストメーターが表示されています。
実行中のひとつのタスク:Perchが台帳を読み、それをチェックするスクリプトを書いて実行します。同じセッション、同じフォルダ、同じエージェントで。

本格的なハーネスに期待されるツールを、デスクトップとCLIで。

シェルと検索

本物のbash、grep、glob。すべての呼び出し箇所を探すなら、文字どおりすべてを見つけます。意味から推測して大半を拾うのではありません。

ファイル編集

読み取り、書き込み、その場での編集、移動、コピー、削除。すべての呼び出しが、ワークスペースで承認されたルートに照らして検証されます。

バックグラウンドジョブ

ビルドやテストスイートを切り離して開始し、Perchが別の作業を続けている間に、状態を確認したり、完了を待ったり、強制終了したりできます。

隔離されたサンドボックス

コードはmacOSのseatbeltプロファイルのもと、ネットワークを無効にした状態で実行されます。すべての実行が記録されるので、結果からそれを生んだ処理までさかのぼれます。

プランモード

Perchは変更を加えるツールをブロックした状態でリポジトリを調べ、計画を作成します。あなたが読んでいる間、何も書き込まれません。

ToDoと質問

長い実行の間も見えるタスクリスト。判断があなたに委ねられるときは、代わりに推測するのではなく、きちんと質問します。

多くのハーネスにはひとつしかありません。これらは本当に異なる仕事の形なので、Perchはひとつのパターンですべてをまかなえるふりをせず、それぞれを分けています。

Workers

ターンの途中で起動し、そのターンの中で動きます。Workersが終わると、ターンも終わります。

Flock

チームを計画して並列で動かし、ひとつの答えにまとめます。大きく、分割できる仕事向けです。

Delegate

切り離して実行。単独で動き、ファイルの変更を提案し、何かを書き込む前にあなたの承認を待ちます。

Background shell

ポーリングで状態を確認するOSレベルのジョブ。会話が先に進んでも、ビルドは動き続けます。

lib/settlement.tsDelegateによる提案
export async function settle(batch: Batch) {
const total = batch.lines.reduce(sum, 0);
const total = await computeTotal(batch.lines);
assertReconciled(total, batch.expected);
return post(total);
}
承認待ち

バックグラウンドのエージェントが変更を提案します。あなたが許可するまで、何も書き込まれません。

Perchはリポジトリ内のファイルだけでなく、リポジトリそのものを扱います。履歴を読むのは自由ですが、他の人に見えるものを変えるのは自由ではありません。

履歴を読む

ステータス、差分、コミット履歴を読むので、レビューは変更の説明からではなく、実際に変わった内容から始まります。

コミットとPRをレビュー

プルリクエストを読み進め、リグレッションを持ち込んだコミットまでたどり、主張の根拠となるファイルを添えて報告します。

失敗したチェックをデバッグ

読むべきログを教えるのではなく、失敗したCIチェックを読み、ローカルで再現して修正します。

ゲート付きで公開

コミット、プッシュ、プルリクエストの作成は元に戻せず、外部に見える操作なので、明示的な権限の境界の内側に置かれています。

書いたモデル自身は、採点役にふさわしくありません。

Perchは特定のモデルに依存しないので、Perchが起動するヘルパーを、メインの作業をしているモデルで動かす必要はありません。別のモデルを指定すれば、モデルが自分の出力をレビューして「素晴らしい」と評価するのではなく、本物のセカンドオピニオンが得られます。

これは、ひとつのベンダーに縛られていないからこそ可能です。レジストリのすべてのモデルを利用でき、公表されている料金どおり上乗せなしで従量課金されます。また私たちは、結果をただ主張するのではなく、九つのモデルのベンチマークを公開しました。

プロジェクトファイルがあるのは当然です。Perchは三つのメモリシステムを動かしており、コンテキストの一つひとつに、それが含まれた理由が記録されています。

プロジェクトファイル

PERCH.md、メモリノート、ルールは、あなたが所有するプレーンなMarkdownとしてフォルダに置かれ、毎ターン読み込まれます。

永続メモリ

アカウント単位のカードを、セマンティック検索とキーワード検索のハイブリッドで取得し、Reciprocal Rank Fusionで統合したうえで、確信度と新しさで重み付けします。

訂正から学ぶ

Perchを一度訂正すれば、その訂正を永続的なメモリにできます。わざわざ別に書き留める必要はありません。

メモリの仕組み:レーンとトークン予算によって、毎ターン何がモデルに届くかが決まる仕組みも解説しています。

コードの周りの仕事も、同じエージェントが。

コーディングエージェントの仕事はリポジトリで終わります。Perchは、自信満々の誤答が代償を伴う法務、財務、文書の仕事のために作られました。その仕組みは、コードベースを開いても止まりません。照合処理のバグを修正したのと同じセッションで、そのバグが誤って処理していた支払いを監査し、数値を元の文書と照らし合わせ、すべての主張に出典を付けて経緯を説明するメモを作成できます。

ひとつのエージェント、ひとつのワークスペース、ひとつのメモリ。コーディングツールと文書ツールをつなぎ合わせて、結果が食い違わないよう祈る必要はありません。

リポジトリを指定しましょう。

Perch CodeはデスクトップとCLIで動きます。どちらもローカルフォルダで作業でき、すべてのプランに含まれています。