🔧 ハーネスプログラミング リファレンス

VS Code + GitHub Copilot Agent Window / Kimi Code によるエージェント駆動開発の概要ガイド

📖 ハーネスプログラミングとは

コーディングハーネス(Coding Harness)とは、VS Code等のIDE内でLLM(言語モデル)と開発環境を橋渡しするレイヤーです。

LLMは本質的にテキストを生成するだけで、ファイル編集やコマンド実行は自力ではできません。ハーネスがその「テキスト → アクション」の変換を担います。

「モデルはエンジン、ハーネスは車」 — ハーネスの設計品質がエージェント開発の品質を左右する

🔄 エージェントループ

ハーネスの中核は Think → Act → Observe → Think Again のツール呼び出しループです。

👤 ユーザー指示
📋 プロンプト構築
🤖 モデル呼び出し
⚙️ ツール実行
📊 結果を記録
🔁 ループ継続 or 完了

用語整理

  • ターン:ユーザーが1メッセージ送り、エージェントが最終レスポンスを返すまで
  • ラウンド:ループ1周(プロンプト構築→モデル呼出→ツール実行→結果記録)
  • 1ターンの中で何ラウンドも回ることがある

🎯 ハーネスの3つの主要な役割

役割内容
① コンテキスト組み立て システムプロンプト、ユーザーの質問、ワークスペース構造、会話履歴、ツール結果、カスタム指示、メモリなどを組み合わせてプロンプトを構築する
② ツール公開 read_file, replace_string_in_file, run_in_terminal, semantic_search など、モデルが呼び出せるツールをJSON Schemaで宣言。MCPサーバーや拡張機能から追加ツールも統合可能
③ ツール実行 モデルがツール呼び出しをリクエスト → 引数を検証 → 実行 → 結果をフォーマット → 次のイテレーションにフィードバック

🪟 VS Code + GitHub Copilot Agent Window

2つの作業サーフェス

サーフェス特徴向いている場面
Editor Window エディタ・デバッガ・拡張機能と併用。AIはChat viewで補助 コードを書きながらAIに手伝ってもらう
Agents Window(Preview) プロンプト中心の専用UI。複数プロジェクト横断でセッション管理 プロンプト主体でタスクをオーケストレーション

3つの組み込みエージェント

  • 🤖 Agent:自律的にファイル横断編集・ターミナル実行・ツール呼び出し
  • 📋 Plan:まず計画を立て、承認後に実装エージェントに引き渡し
  • Ask:コードベースや概念について質問(ファイル変更なし)

権限レベル

レベル説明
Default読み取り専用ツールのみ自動承認。その他は確認ダイアログ
Bypass Approvalsすべてのツール呼び出しを自動承認
Autopilot(Preview)全自動。質問にも自動回答しタスク完了まで走り続ける

モデルごとの差異

  • Claude系replace_string_in_file でファイル編集
  • GPT系apply_patch でファイル編集
  • Gemini系:ツール呼び出しを「説明」するのではなく実際に使うようリマインドが必要

🚀 Kimi Code でのハーネスプログラミング

主要機能

機能詳細
ルールファイル AGENTS.md をリポジトリルートに配置してエージェントの振る舞いを定義
エージェントループ 256Kコンテキストウィンドウでリポジトリ全体を解析、自律的にファイル横断の編集・テスト・デバッグ
MCP サポート 外部ツール(DB・CI/CD・API等)をエージェントに接続可能
サブエージェント coder / explore / plan を並列で委任可能
デュアルモード Ctrl-X で Agent Mode ⇄ Shell Mode を切り替え
IDE統合(ACP) kimi acp でVS Codeと統合可能

MCP サーバー追加例

# HTTP トランスポート
kimi mcp add --transport http context7 https://mcp.context7.com/mcp \
  --header "CONTEXT7_API_KEY: your-key"

# stdio トランスポート
kimi mcp add --transport stdio chrome-devtools \
  -- npx chrome-devtools-mcp@latest

VS Code との統合(ACP)

// VS Code settings.json
{
  "agent_servers": {
    "Kimi Code CLI": {
      "command": "kimi",
      "args": ["acp"],
      "env": {}
    }
  }
}

⚖️ VS Code + Copilot vs Kimi Code 比較

観点VS Code + Copilot Agent WindowKimi Code
ハーネス設計の自由度 copilot-instructions.md + MCP + .agent.md AGENTS.md + MCP + サブエージェント + Lifecycle Hooks
メインUI VS Code統合(Editor / Agents Window) ターミナルファースト + IDE統合(ACP経由)
モデル選択 GPT-4.1, Claude, Gemini など多数 Kimi K2.6(OSSでSOTA級)
長時間タスク セッション制限あり 12〜13時間連続実行の実績
コンテキスト窓 モデル依存 256K固定
OSS ❌ プロプライエタリ ✅ MIT License(CLI部分)
料金 Copilotクレジット消費 Kimiメンバーシップ or API Key
セッション引き渡し Local → CLI → Cloud Agent ターミナル内で完結

⚙️ ハーネスカスタマイズ

ルールファイルの対応表

ツールルールファイル配置場所
GitHub Copilotcopilot-instructions.md.github/
Claude CodeCLAUDE.mdリポジトリルート
Kimi CodeAGENTS.mdリポジトリルート

copilot-instructions.md の例

# Copilot Instructions

## コードスタイル
- TypeScript strict モードを使用
- 関数にはJSDocコメントを必ず付ける
- エラーハンドリングには try-catch を使う

## テスト
- 新機能には必ずユニットテストを書く
- テスト実行: `npm run test`

## アーキテクチャ
- Azure CaaS環境向けのBicep/ARMテンプレートを扱う
- 変更時は既存リソースへの影響を必ず確認すること

AGENTS.md の例(Kimi Code)

# AGENTS.md

## ビルド・テスト
- ビルド: `npm run build`
- テスト: `npm run test`
- リント: `npm run lint:fix`

## コードスタイル
- TypeScript strict モード
- IMPORTANT: すべての公開APIにはJSDocコメントを付けること

## アーキテクチャ
- Azure CaaS環境向けのBicep/ARMテンプレートを扱う
- 変更時は既存リソースへの影響を必ず確認すること

🚀 始め方

VS Code + GitHub Copilot

  1. VS Code 最新版(1.109+推奨)をインストール
  2. GitHub Copilot & GitHub Copilot Chat 拡張機能をインストール
  3. 設定で chat.agent.enabled: true を有効化
  4. Chat view(Ctrl+Alt+I)を開き、ドロップダウンから Agent を選択
  5. 自然言語で指示を出す → エージェントが自律的にループ実行

Kimi Code

  1. インストール:
    curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash
    kimi --version
  2. プロジェクトルートに AGENTS.md を作成
  3. 必要に応じて MCP サーバーを追加
  4. セッション開始:
    cd your-project
    kimi
  5. Tab キーで Thinking モード、Ctrl-X で Shell モード切り替え

💡 Tips & ベストプラクティス

  • 🎯 具体的に指示する:「ログイン機能を追加して。認証はJWT、テストも書いて、npm testで通るように」のように、完了条件を明確に
  • 📋 Plan モードを活用:複雑なタスクはまず計画を確認してから実行に移す
  • 🔒 権限レベルを段階的に調整:最初は Default → 慣れたら Bypass → 信頼できるタスクは Autopilot
  • 📝 ルールファイルを育てる:copilot-instructions.md / AGENTS.md はチームで共有し、継続的に改善
  • 🔗 MCPで外部ツールを接続:DB, CI/CD, API等をエージェントから直接操作可能に
  • 🔄 使い分けの提案
    • 日常のコーディング・PR作成 → VS Code + Copilot
    • 長時間リファクタ・大規模変更 → Kimi Code
    • 計画はCopilot → 実行はKimi Code の併用も有効