チュートリアル 24: 持続的目標
チュートリアル 24: 持続的目標 — 公式ドキュメントに基づくわかりやすいガイド
これはHermes Agent公式チュートリアルシリーズの一部です。すべてのチュートリアルを見る
複雑な料理を作っていて、料理アシスタントに「下ごしらえステーションが完全に揃うまで野菜を切り続けて」と頼んだ場面を想像してみてください。ニンジンを1本切るたびに何度も言い直す必要はありませんよね。仕事が終わるまでやり続けてくれると信頼しているからです。Persistent Goalsは、Hermesにその「終わるまでやり続ける」スーパーパワーをコーディングタスクで与えます。
/goal は何をするのか?
通常、Hermesにタスクを与えると、応答して、その後停止します。つまり、次の指示を待つ状態です。/goal を使うと、ターンをまたいで存続する継続的な目標をHermesに与えることができます。各応答の後、軽量な「判定」モデルが「目標は達成されたか?」をチェックします。達成されていなければ、Hermesは自動的に継続プロンプトを自分自身に送り、作業を続けます。あなたが何度も促す必要はありません。目標が達成されるか、あなたが一時停止またはクリアするか、ターン予算を使い切るまでループし続けます。
これはCodex CLIの同様の機能に触発されており、「続けて」と3回言わなければならないようなタスクに最適です。
ステップ1: いつ使うべきか
再プロンプトなしでHermesに自律的に反復作業をさせたいときに /goal を使います。良い例は次のとおりです。
/goal src/ のすべてのlintエラーを修正し、ruff checkが通ることを確認する/goal リポジトリYから機能Xをテストを含めて移植し、CIをグリーンにする/goal セッションIDが実行途中の圧縮時にドリフトする理由を調査し、レポートを作成する/goal EXIF日付でファイル名を変更する小さなCLIを構築し、photos/ フォルダに対してテストする
タスクが1ターンで完了する場合は、/goal はスキップしてください。これは、何度も手動で指示を出さなければならないような状況でこそ威力を発揮します。
ステップ2: /goal とカンバンの違いを理解する
これはよく混乱する点なので、シンプルに説明します。
/goalは単一セッション用です。 この1つの会話内で、完了するまで作業を続けます。ボードカードを作成したり、別のプロファイルに作業を割り当てたり、タスクを展開したりすることはありません。- カンバンは多数のタスクを管理するボードです。 各カードには、独自のセッションを持つ専用のワーカープロセスが割り当てられます。カード、依存関係、担当者、引き継ぎはすべてボード上で管理されます。
重複する部分は意図的に小さく保たれています。--goal 付きで作成されたカンバンカードは同じ継続エンジンを使用しますが、そのカードのセッション内でのみ使用されます。つまり、エンジンを借用するのであって、ボードを借用するわけではありません。
| やりたいこと | 使用するもの |
|---|---|
| このチャットで1つのタスクを完了するまで反復処理する | /goal <テキスト> |
| 依存関係を持つ複数の独立したタスク | hermes kanban create … |
| 受け入れ基準を満たすまで反復処理を続けるボードカード | --goal 付きのカンバンカード |
覚えておいてください: /goal はボードに一切触れず、目標を一時停止またはクリアしてもカードが移動することはありません。ボード上で作業したい場合は、自分でボードに追加してください。
ステップ3: 最初のゴールを実行する
クイックスタートは次のとおりです。
/goal tests/hermes_cli/ の失敗しているテストをすべて修正し、scripts/run_tests.sh がそのディレクトリに対してパスすることを確認する
次のような流れになります。
- ゴールが受け入れられる —
⊙ ゴール設定 (20ターン予算): <あなたのゴール>のような確認メッセージが表示されます。 - ターン1が実行される — ゴールを通常のメッセージとして送信したかのように、Hermesが作業を開始します。
- 判定が実行される — そのターンの後、判定モデルが
完了または続行を決定します。 - 必要に応じてループが発動する —
続行の場合、↻ ゴールに向けて続行 (1/20): <判定の理由>と表示され、Hermesが自動的に次のステップを実行します。 - 終了する — 最終的に、ゴールが達成されるか、あなたが一時停止またはクリアするか、ターン予算を使い切ります。
ステップ4: ループを管理する
あなたは常にコントロールできます。ゴールを一時停止してループを一時的に止めたり、クリアして完全にキャンセルしたり、そのまま完了まで実行させたりできます。20ターンの予算により無限ループが防止されるため、Hermesが永遠に暴走する心配はありません。
まとめ
/goal は「終わるまでやり続ける」ための機能です。lint修正、機能の移植、調査、小規模なツールの構築など、複数回の反復が必要な単一セッションのタスクに最適です。複数のタスクを同時に管理するためのものではありません(それはカンバンの役割です)。ゴールを設定し、判定モデルにループを見張らせ、一時停止、クリア、調整が必要なときだけ介入してください。
次回: チュートリアル25 — コード実行:Pythonスクリプトによるバッチ処理タスク。
📖 公式ドキュメント
この記事は Hermes Agent の公式ドキュメントに基づいています:公式ドキュメント › user-guide/features/goals