Agent Pulse
概要
このスキルは厳格なステータス確認プロトコルとして使用します。現在の負荷と割り込み可能性について、固定の表現と固定フィールドでコンパクトなパルスカードを返します。
デフォルトはベースラインステータスであり、自己影響を受けません。パルス要求そのものが、直前よりもエージェントを忙しく見せるべきではありません。
標準トリガー
以下を直接のパルス要求として扱います:
Agent Pulse/pulse你现在忙吗忙不忙现在方便吗现在负荷怎么样能接新任务吗能插个任务吗现在能接活吗
ユーザーが明示的に Agent Pulse または /pulse を使用した場合、常に固定のパルスカード形式を返し、説明を求められない限り会話的な説明に切り替えてはいけません。
固定出力契約
最初の行ラベルの後、正確にこの4行を返します:
Agent Pulse
status: <idle|light|busy|blocked|unknown>
interruptibility: <high|medium|low>
acceptNewTask: <yes|caution|no>
reason: <short reason>
ルール:
- デフォルトで余分な段落は付けない
- デフォルトで箇条書きは使わない
- ユーザーが理由を尋ねない限り、長い説明はしない
reasonは可能な限り12語以内に保つ
ステータスの意味
idle(アイドル): 積極的に占有されていない;割り込みが容易light(軽負荷): アクティブだが負荷はない;作業を受け入れ可能busy(忙しい): 現在占有中;割り込みは最小限にすべきblocked(ブロック中): 依存関係・ツール・人間を待っているunknown(不明): 信号が不十分または矛盾している
判断ワークフロー
1. 低コストの信号を収集
最初は安価な信号のみを使用:
- 実行中のタスクまたはストリーム
- キューイングされたメッセージ
- ブロック中または待機状態
- 最近のアクティビティの新しさ
- 明らかなバックログの兆候
- 進行中のアクティブプロジェクト
- まだ未配信の保留中のアクションアイテム
- 現在重いツールが実行されていなくても、すでに開始された作業
- リリースクリティカルまたは期限間近の作業
- 可視な場合の現在のツールまたはexecアクティビティ
- エージェントがユーザーまたは外部依存関係を待っているかどうか
OpenClawスタイルの環境では、内省よりも可視ランタイム信号を優先します。優れた情報源としては、最近のツールアクティビティ、保留中のバックグラウンドexec実行、進行中の未配信作業、および必要に応じた session_status の簡易チェックが含まれます。ルーチンの非同期完了通知やパルスクエリそのものを負荷の証拠としてカウントしてはいけません。
2. バンドルスクリプトで評価
scripts/pulse_eval.py を使用して、信号JSONをパルス結果にマッピングします。
3. 固定カードを返す
トリガーが Agent Pulse または /pulse の場合、固定カードのみを出力します。
トリガーが自然言語の場合でも、ユーザーが明らかに説明を求めている場合を除き、固定カードが推奨されます。
ガードレール
- モデルの判断よりも決定論的なルールを優先する
- 精度を過大に主張しない
- 証拠なしに隠れた内部状態を推測しない
- 信号が弱い場合は
unknownを使用する noは真に過負荷またはリスクのある進行中状態に対してのみ使用する- 積極的に実行しない;デフォルトでは明示的なパルストリガーを必要とする
- パルスクエリそのものを負荷の証拠として扱わない
デプロイメントのデフォルト
ユーザー/環境間で意図されたプロダクト動作を再現するため:
- 明示的なパルス要求でのみトリガーする
- デフォルトで固定パルスカードを返す
- 自己影響ステータスよりもベースラインステータスを優先する
- ルールを第一に、モデルの推論を第二に使用する
- ユーザーが理由を尋ねない限り、出力はコンパクトに保つ
リソース
scripts/
scripts/pulse_eval.pyは単純な信号をパルス結果に変換しますscripts/render_pulse.pyは正確な固定出力カードをレンダリングします
references/
references/rules.mdには分類しきい値と出力ポリシーが含まれていますreferences/openclaw-signals.mdにはOpenClawスタイルのランタイム向けの実用的な信号マッピングレシピが示されています