Ava Supernova
AvaSupernova
All guides
Concepts·6 min read·

エージェント型コーディング解説:オートコンプリートから自律型エージェントまで

エージェント型コーディングとは何か、Copilot スタイルのオートコンプリートとの違い、そして Ava Supernova 背後にある 6 つの思考状態(Work, Plan, Chat, Teach, Security, Brainstorm)について説明します。

4 年前、「AI コーディング」とはオートコンプリートを意味しました:モデルがカーソルの文脈に基づいて次のコード行を推測するものです。今はもっと大きな意味を持ちます。エージェント型コーディングツールは、マルチファイルの変更を計画し、テストを実行し、ログを読み、API を呼び出し、プルリクエストを作成し、いつ停止して質問するかを決定します。この 2 つのカテゴリ間のギャップは、多くの開発者が認識しているよりも大きいです。

オートコンプリート対エージェント:短く言うと

オートコンプリートは受動的です。カーソルを待ち、予測し、停止します。エージェントは能動的です。目標を与えると(「このモジュールを新しい認証パターンに合わせて refactoring し、テストを実行し、PR を作成する」)、それをステップに分解し、それぞれを実行し、自分の作業を確認し、報告します。同じ基盤モデルでもどちらでも可能ですが、違いはツールがどうラップするかです。

ツールを「エージェント型」たらしめるのはループです:計画、実行、観察、判断。各ターンでエージェントはツールを選び(ファイルを読む、ファイルを書く、テストを実行する、ウェブを検索する、あなたに尋ねる)、実行し、結果を見て、次に何をすべきかを決定します。1 つのチケットを閉じるのに 60 回のツール呼び出しが普通です。

なぜ 1 つのモデルがすべてのリクエストに適さないのか

優れたエージェントは、すべてのリクエストを同じ種類の問題として扱いません。「この誤字を修正する」ことは、「トークン漏洩のために認証層を監査する」とは形が異なります。異なるモデル、異なるツール、異なる程度の注意が必要です。

Ava Supernova は 7 つのモードでこれに対応します — UI スキンではなく思考の状態です。各モードには異なるマインドセット、異なるツールパレットがあり、多くの場合、その下に異なる専門家ペルソナが動いています。

  • Work — ビルダーマインドセット、120 以上のフルツールパレット、コードを書き、リリースします。
  • Plan — アーキテクトマインドセット、読み取り専用、何にも触れる前に考えます。
  • チャット — フレンドのようなマインドセット。コーディング以外の脳の領域(記憶、日記、天気、ニュース)向け。
  • ティーチ — チューターのようなマインドセット。カリキュラム構築、コンテンツ作成、ファクトチェック、クイズ、指導を行う 5 名のスペシャリスト。
  • セキュリティ — 監査人のマインドセット。偵察+スキャン+CVE 調査+検証+報告。
  • ブレインストーミング — アイデア創出のマインドセット。探求、調査、アイデア生成、批判的検討、洗練を行う 5 名のスペシャリスト。

エージェントにおける「メモリ」の意味

オートコンプリートツールはステートレスで、すべてのリクエストが初期状態から始まります。エージェントが数週間、数ヶ月にわたって実務を遂行するにはメモリが必要です。なければ、セッションごとにプロジェクトを再度説明することになります。Ava は 5 層構造のメモリ(抽出、省察、蓄積、分析、統合)を採用し、あなたやプロジェクト、設定、そして過去のフィードバックなど重要な情報を蓄積していきます。

エージェント思考への移行方法

オートコンプリートを利用していて、エージェント型のワークフローへステップアップしたい場合、重要なのはプロンプトエンジニアリングよりも「タスクの定義」です。「X という関数を書いて」ではなく、「ここに目標と制約があります。どのように進めるか判断し、行き詰まったら教えてください」と伝えてみてください。優れたエージェントはこれを具体的な計画に変換し、計算リソースを無駄にする前に問題点を提示し、時間の経過とともに信頼を獲得します。

エージェントがメモリを蓄積する過程で、信頼獲得までの摩擦が生じます。初期段階では確認が多くなりますが、フィードバックが蓄積されるにつれて質問は減っていきます。重大な影響を及ぼすアクションについては「信頼獲得」されず、エージェントは常に破壊的な操作の前で一時的に停止します。

エージェント型コーディングは、単なる大規模なオートコンプリートではありません。ツールとの関係性が根本的に異なるのです — キーボードマクロではなく、チームメンバーに近い存在。この本質を最初に捉えたツールが、ソフトウェア開発のあり方そのものを変革します。

agentic codingAI agentsWork modePlan modeautocomplete