← /teach Study Portal (herdr_pi) に戻る /teach lesson

Lesson 0005 | Mission: pi × herdr による自律型開発・研究開発ワークフロー

Lesson 05: 再利用可能な pi Extension の設計 - herdr 連携のネイティブツール化

前レッスンまでは、親エージェントが bash ツールを介して herdr pane split ... などのシェルコマンドやシェルスクリプトを呼び出していました。 しかし、これには「LLMがシェル構文や jq パースを間違えるリスク」「環境依存」という課題があります。

本レッスンでは、pi-coding-agent の Extension 機能(TypeScript)を活用し、herdr の操作を LLM のネイティブ関数(ツール)として再利用可能にカプセル化する設計 を学びます。

1. bash 経由 vs Extension (カスタムツール) 比較

比較項目bash ツール経由で呼ぶ場合pi Extension として実装する場合
LLMの認識 「シェルコマンドを組み立てて実行する」 herdr_spawn_worker という専用ツールを引数付きで呼ぶ」
パラメータ堅牢性 引用符のエスケープミスや構文エラーが起きやすい typebox のスキーマ定義により型が保証される
再利用性 プロジェクトごとにスクリプトをコピーする必要がある ~/.pi/agent/extensions/ に置けば全プロジェクトで即座に共有可能

2. 実装した Extension の構造 (.pi/extensions/herdr-orchestrator.ts)

Extension が提供する主なインターフェース

3. どこに配置して再利用するか?

4. 理解度確認クイズ

問: 作成した pi Extension を特定のリポジトリだけでなく、PC全体のあらゆるプロジェクトで常に自動ロードさせて再利用したい場合、どこに配置するのが正解?