ドキュメントへ移動

Kavor の CodingAgent:使い慣れた harness をグラフの一員にする

CodingAgent は、provider 本来のインターフェースで動くコーディング agent であり、Canvas 上に見える 参加者でもあります。

Kavor は各 harness を汎用チャットに置き換えません。provider の体験を保ち、その周囲に明示的な責任、 到達可能なコンテキスト、ツール、他の CodingAgents、確認できる境界を加えます。

CodingAgent を Canvas に追加する前に Kavor toolbar で provider を選択する画面。 (新しいタブで開きます)

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+Filefilesystem 上の正規ソースを明示します。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 のマトリクスを確認してください。

最終レビュー 2026/08/18検証バージョン Kavor 1.4.0ドキュメントへのフィードバック