Kavor の CodingAgent:使い慣れた harness をグラフの一員にする
CodingAgent は、provider 本来のインターフェースで動くコーディング agent であり、Canvas 上に見える 参加者でもあります。
Kavor は各 harness を汎用チャットに置き換えません。provider の体験を保ち、その周囲に明示的な責任、 到達可能なコンテキスト、ツール、他の CodingAgents、確認できる境界を加えます。
CodingAgent が持つもの
各 CodingAgent は別々のセッションです。Node は、選択した provider と、その provider が提供する場合は モデル、effort レベル、権限、ネイティブセッションなど、役割の実行に必要な設定と状態を保持します。
Provider は CodingAgent の設定であり、別の Node 種別ではありません。セレクターには次が含まれます。
- Anthropic Claude Code
- OpenAI Codex
- Google Antigravity
- xAI Grok
- SST OpenCode
toolbar から CodingAgent を追加するときは、最初に provider を選び、その後で作業に合わせてセッションを 設定します。Kavor はすべての harness が同じ契約を持つとは仮定せず、各 harness の実際の能力を保つため、 利用できる選択肢は異なることがあります。
単独でできること
Connection がなくても、CodingAgent は Workspace 内の provider-native セッションです。対話し、harness のツールを使い、その Workspace root の範囲内で作業できます。
Node はすでにコンテキストの分離に役立ちます。一つのセッションが調査し、別のセッションが実装できます。 ただしグラフがなければ、共有コンテキストは各会話に何を渡すかに依存します。
Connection によって、孤立したセッションが作業システムの参加者になります。
グラフから得るもの
CodingAgent は、そのコンポーネント内で有効な Connections の経路を通じて到達できるすべての Node と 作業できます。各リソースを直接つなぐ必要はありません。
CodingAgent を含む直接 Connections には固有の役割があります。
| Connection | 追加されるもの |
|---|---|
| CodingAgent+Specification | 永続的な意図、範囲、基準をグラフに置きます。直接 Connection には specification_read_only を設定できます。 |
| CodingAgent+Sticky Note | 未決事項、進捗、findings のための共有された非公式メモリを加えます。sticky_note_read_only を設定できます。 |
| CodingAgent+File | filesystem 上の正規ソースを明示します。file_read_only を設定できます。 |
| CodingAgent+Terminal | コマンド実行、プロセス観察、shell の証拠確認を可能にします。terminal_read_only を設定できます。 |
| CodingAgent+CodingAgent | 参加者を同じコンポーネントに結びます。到達可能な CodingAgents は非同期メッセージを交換し、調整に必要なコンテキストを確認できます。 |
| Trigger+CodingAgent | そのアクティブなセッションを、スケジュールされた prompt の直接の対象にします。Trigger は閉じたセッションを起動しません。 |
到達可能性は直接契約を消しません。CodingAgent とリソースの正確な Connection に Guardrail がある場合、 別の経路が存在しても、その制限はそのペアに適用され続けます。
三つの実用的なパターン
契約から実装する
Specification、Implementer 役の CodingAgent、Terminal を接続します。Agent はソースから契約を読み、 必要な範囲だけを変更し、検証を実行して outputs を Specification に記録します。
意図は会話履歴の外に、証拠は Workspace 内に残ります。
実装とレビューを分ける
Implementer と Reviewer には別のセッションを使います。両者は同じ Specification と証拠に到達できますが、 それぞれ異なる問いを受け取ります。
Implementer は「契約をどう満たすか」を問い、Reviewer は「結果は本当に契約を満たし、どのリスクが残るか」 を問います。分離により、レビューが作者の前提を自動的に引き継ぐ可能性を減らせます。
競争ではなく役割のために providers を組み合わせる
異なる providers を同じグラフに参加させられます。別のインターフェース、モデル、思考方法が具体的な責任を 改善するときに組み合わせてください。
Agent の数を増やすためだけに provider を追加しないでください。まず役割、期待する結果、停止条件を決め、 その作業に最適な harness を選びます。
実用的なグラフ
Specification — Implementer — Reviewer
│ │
Terminal Sticky Note
│
File
線は永続的な方向を持たない Connections です。すべての Nodes は同じ到達可能コンポーネントに属します。 Implementer は契約を実行し、Reviewer は独立した評価を行い、Sticky Note は人の判断に必要な質問や findings を見える状態に保ちます。
これは自動シーケンスではありません。メッセージが handoffs を調整し、Specifications などのリソースが セッションを越えて残すべきものを保持します。作業をいつ受け入れるかはあなたが決めます。
より良い開始 prompt
Implementer 向け:
到達可能な Specification で定義された範囲だけを実装してください。コード変更前に、関連する Files と 検証を特定してください。Terminal で証拠を作り、結果を Specification output として記録し、Reviewer に独立した評価を依頼してください。必要な判断が契約外にある場合は停止してください。
Reviewer 向け:
実装と証拠を Specification の基準と比較してください。誤動作、欠けたシナリオ、回帰、運用リスクを 探してください。変更を提案する前に具体的な findings を記録し、既存テストが通っただけで承認しないで ください。
重要な制限
- CodingAgent は視覚的に近いだけではアクセスを得ません。Connections の経路が必要です。
- メッセージで Node を参照してもアクセスは付与されません。
- Guardrail は所属する直接ペアを制限し、Workspace 全体のポリシーにはなりません。
- メッセージは作業を調整しますが、永続的な決定の唯一の保存先にしてはいけません。
- Providers が同じモデル、権限、イベント、セッション操作を提供するとは限りません。
- Trigger はアクティブなセッションへ prompt を届けますが、権限を広げたり、外部効果が正確に一度だけ 起きることを保証したりしません。
- Canvas の編集許可は Nodes の削除や Guardrails の変更を許可しません。これらの境界は人が管理します。
セッションを始める前に
次を確認します。
- この CodingAgent の責任
- 生成すべき観察可能な結果
- 到達可能であるべき Nodes
- 直接 Connections に必要な Guardrails
- provider、モデル、effort がタスクのリスクに合うか
- 決定、進捗、証拠を保存する場所
- 誰と対話し、いつ停止するか
CodingAgent は長い prompt を受け取るだけでは強力になりません。責任、コンテキスト、ツール、協力、境界が 一貫した設計になるとき、より役立ちます。
次に CodingAgents の選び方と役割の定義を読み、 CodingAgents が Canvas を理解して構築する方法を学ぶか、 サポートされる Connections のマトリクスを確認してください。
