Harness Agent
Harness Agent は、Microsoft Agent Framework の harness
(create_harness_agent())上に構築された、ソフトウェアエンジニアリング向けの自律
エージェントです: 永続 Todo リスト、Plan/Execute モード管理、ファイル
ベースのセッションメモリ、jail されたファイルアクセス、Agent Skills、
シェル実行、ホステッド Web 検索、コンテキスト圧縮、ツール承認、 そして
「Todo が終わるまで続ける」ループ -- これらが 1 つのファクトリ呼び出しの背後に
組み立てられます。
Harness Agent は Declarative Agent(kind: Prompt)と
Declarative Workflow(kind: Workflow)に続く
第 3 の宣言型 kind です: 同じ DECLARATIVE_AGENTS_DIR フォルダに置く
kind: Harness YAML。原則も同じです: YAML は仕様であり、すべての入力は
ChatWalaʻau が所有します -- モデルクライアント、資格情報、ツール、ワークスペース
ディレクトリ、スキルは常に ChatWalaʻau が解決し、ファイルからは決して取りません。
できること
- タスクリストで働くエージェント。 harness は計画を立て、Todo を管理し、 plan と execute モードを切り替え、Todo が完了するまで自身を再起動します (上限 10 イテレーション)。
- 本物のワークスペース。
CODING_WORKSPACE_DIRを設定すると、ワークスペースに スコープされた jail 付きファイルツールとシェル、ターンをまたいで持続する ファイルメモリ(agent-file-memory/)が使えます。未設定なら、これらの機能は そもそも存在しません。 - おなじみの承認フロー。 ファイル書き込みとシェルコマンドは ChatWalaʻau の 既存の承認カードを表示します -- 無人では何も実行され ません。読み取り専用ツールは 承認を求めません。
- GUI で構成可能。 他のエージェントと同じ管理モーダル(
HARNESSタグ付き)で 作成・編集できます。フルスクリーンエディタは、指示文と構成ブロックスイッチの フォームパネル、モデル・ツール・有効ブロックを表示するキャンバス、正準 YAML の ライブプレビューで構成されます。 - チャットの run-target として実行。 モーダルで有効化すると次のメッセージが
harness agent で実行されます -- コンポーザーには
Harness: <name>が表示され、 メッセージごとのモデルコントロールは非表示になります(YAML がモデルを固定する ため)。Harness と Workflow の選択は排他で、通常エージェントを有効化すると両方 クリアされます。
最小の Harness Agent
kind: Harness
name: repo-fixer
displayName: Repo Fixer
model:
id: gpt-5.3 # カタログ offering を 1 つだけ
instructions:
agent: |
このリポジトリに集中してください。 小さく検証可能な変更を優先します。
tools:
- function:weather_get_current # 任意: 組み込みツール / MCP サーバー全体
mode:
initial: execute # plan | execute
loop:
maxIterations: 10 # 上限 10
DECLARATIVE_AGENTS_DIR に置く(または GUI で作成する)と管理モーダルに表示され
ます。ファイルの誤り -- 未知のモデル、未知のツール、範囲外のバジェット -- は
ブロッキング警告になります: エージェントは一覧に表示されますが、修正するまで
選択できません。
ChatWalaʻau が決めること
| 項目 | ポリシー |
|---|---|
| チャット履歴 | 会話ごとの in-memory(再起動でリセット) |
| Todo / ループ | 常に有効; Todo が残る限りループ、最大 10 イテレーション |
| ファイル / シェル | CODING_WORKSPACE_DIR 配下のみ; 書き込みは要承認 |
| スキル | SKILLS_DIR からロード |
| Web 検索 | 既定で有効、ただしモデルごとの capability gate に従う |
| トークンバジェット | offering の context_window から(YAML で狭められる) |
| 資格情報 / プロバイダ | 常に ChatWalaʻau のもの -- YAML からは読まない |
Harness Agent は現時点で SPA 限定です: OpenAI 互換 API と Teams は引き続き アクティブな通常エージェントに従います。デモモードでは表示のみ(読み取り専用) です。