ヘルパー

エージェントが補助タスクをヘルパースレッドに任せる仕組み、チャットでの表示、やり取りの方法。

エージェントは、独立した作業をヘルパーに任せることができます。ヘルパーには、レビュー担当、部品調査担当、BOMと部品調達の担当、エージェント自身の汎用コピーがあります。各ヘルパーは独自のコンテキストを持つ自分のスレッドで実行され、タスクを行い、レポートを返します。メインスレッドは短く保たれ、複数のヘルパーが同時に作業できます。

ヘルパーはデスクトップアプリで利用できます。

ヘルパーの種類

ヘルパー 役割
Reviewer 設計や変更を独立してレビューします。Zenerソース、回路図、基板、ERC/DRC/DFMの結果、製造と部品調達の状態を、仕様書と依頼に照らして確認します。重大度順に並べた指摘を根拠とともに返します
Component research 部品ライブラリ、データシート、Webを使って、ある機能の候補部品を探して比較します。主要仕様、パッケージ、ピン配置の懸念点、入手性を含む推奨を返します。部品ファミリーごとに1つで、複数を並行して実行できます
Sourcing & BOM 部品表を作成または更新し、Zenerソースに各部品のメーカーとMPNを設定し、指定数量での在庫、価格帯、MOQ、ライフサイクル、代替品を確認します。単一ソース、在庫僅少、生産終了の部品を指摘します
General-purpose メインエージェントのコピーです。ログの調査、コードベースの調査、別のアプローチの並行試行など、スレッドを圧迫しそうな補助タスクに使います

エージェントは、タスクにとって有益なときにヘルパーを起動します。直接依頼することもできます。

注文する前に、レビュー担当に電源ツリーとUSB-C入力を仕様書と照らしてチェックさせてください。

Li-ionセル1本から3.3 V・500 mAを得るLDOの候補を3つ調べて比較してください。ファミリーごとにヘルパーを1つ使ってください。

50台分でBOMを更新し、在庫が500未満のものを指摘してください。

タイムラインでの表示

エージェントがヘルパーを起動すると、それらの名前を示す行が表示されます: 「Faraday and Hopper started working」。同じ種類のヘルパーが複数あっても区別できるよう、各ヘルパーには名前があり、種類を表す模様のドット状のバッジが付きます。

  • ヘルパーの作業中は、バッジが脈動し、行の下に現在の作業内容が光って表示されます(「Reading a datasheet…」)。複数が実行中の場合、各行はヘルパーの名前で始まります。
  • 名前にカーソルを合わせると、エージェントが与えたタスクが表示されます。名前をクリックするとそのスレッドが開きます。
  • ヘルパーが終わると、「Faraday finished」、「Faraday failed」、「Faraday was stopped」という折りたたまれた行が表示されます。展開するとレポートを読めます。レポートの最後にはOpen Faraday threadがあります。

レポートは単独で読めるように書かれます。結果、根拠付きの指摘(ファイルパス、部品番号、データシートの参照、チェック結果)、ヘルパーが変更したファイル、あなたやメインエージェントへの未解決の質問が含まれます。

ヘルパースレッド

ヘルパースレッドは、Threadsサイドバーで起動元のスレッドの下にインデントされて表示され、ステータスの点の代わりにヘルパーのバッジが付きます。バッジにカーソルを合わせると種類とステータスが表示されます。

ステータス 意味
queued 空き枠を待っています
working 実行中です
waiting for you あなたの回答や承認を待って一時停止しています
finished レポートを返しました
stopped キャンセルされました
failed エラーで終了しました

ヘルパーのスレッドを開くと、ツール呼び出し、読んだファイル、実行したコマンドなど、ヘルパーが行ったすべてを確認できます。最初のメッセージは、完全な指示(親スレッドが仕様書を実装していた場合はそのパスも)を含むTask from 親スレッドのカードです。

ヘルパーのスレッドには、ほかのスレッドと同じように入力できます。ヘルパーはそこでのメッセージに従うため、メインスレッドを乱さずに方向を修正したいときに便利です。ヘルパーからの承認依頼や質問はそのスレッドに表示され、回答するまでヘルパーはwaiting for youと表示されます。

スレッド間のメッセージ

メインエージェントしか知らない情報が必要で作業が止まったヘルパーは、メインエージェントにメッセージを送れます。メインエージェントも実行中のヘルパーにメッセージを送れます。これらはカードとして表示されます。

  • メインスレッドにはMessage from ヘルパー
  • ヘルパーのスレッドにはMessage from 親スレッド

カード上の送信者名をクリックすると、そのスレッドが開きます。

待機とバックグラウンド作業

エージェントは、ヘルパーのレポートを待つか、バックグラウンドで実行させるかのどちらかを選びます。

  • 待機する場合: メインの実行はそのステップで一時停止し、レポートが届くとそれを使って続行します。
  • バックグラウンドの場合: メインエージェントは作業を続けます(またはターンを終えます)。レポートは後からメインスレッドに「finished」の行として届き、メインエージェントがそれを受け取ります。

ヘルパーを待っている間にメインスレッドで指示を送ると、メインエージェントはすぐに待機をやめます。ヘルパーはバックグラウンドで作業を続け、終わったらレポートを送ります。

制限と動作

  • 1つのスレッドで同時に実行できるヘルパーは最大4つです。それ以上は順番に待機します(ステータスはqueued)。
  • ヘルパーを起動できるのはトップレベルのスレッドだけです。ヘルパーが自分でヘルパーを起動することはありません。
  • ヘルパーはメインエージェントと同じプロジェクトファイルで作業します。2つのエージェントが同じファイルを編集すると競合する可能性があるため、エージェントは重なる編集をどちらか一方に任せます。
  • ヘルパーは、その種類に独自のモデルがない限りスレッドのモデルを使い、常にプランに含まれるモデルを使います。

独自のヘルパーの種類

プロジェクトの.embedr/agents/に、ヘルパーごとにMarkdownファイルを追加します。フロントマターでヘルパーを記述し、本文にはヘルパーが従う指示を書きます。

---
name: firmware-reviewer
label: Firmware reviewer
description: Reviews firmware changes for ISR safety, blocking calls in loops, and pin conflicts with the board. Use after firmware edits and before flashing.
effort: high
---

Review only the files the task names. For each finding give the file and line,
why it matters on this MCU, and a concrete fix. Do not edit files.
フィールド ルール
name 英小文字、数字、ハイフンで最大40文字。既定はファイル名です
label タイムラインに表示されます。最大60文字
description 必須、最大600文字。エージェントはこれを読んで、いつそのヘルパーを使うかを判断します
model 任意のモデルID。プランに含まれていない場合はスレッドのモデルが使われます
effort 任意: low、medium、high、xhigh、max
mode isolated(既定: ヘルパーは自分への指示だけを見ます)またはfork(現在の会話から始まります)

ファイルは32 KB、指示は16,000文字までで、ヘルパーの種類は合計24個までです。組み込みのヘルパーと同じ名前のファイル(例: reviewer.md)は、そのプロジェクトで組み込みのものを置き換えます。エラーのあるファイルはスキップされ、ほかのファイルは引き続き読み込まれます。

関連項目