ガイド

エージェンティックエンジニアリング:AIエージェントと作り、作業を把握し続ける

エージェンティックエンジニアリングとは、AIエージェントがコードを書き、自分がそれを指揮する働き方です。明確な指示、確認できる基準、そして最後の判断。このガイドでは、バイブコーディングとの違いを説明し、Claude Code、Codex、Cursor、Gemini CLIを使ったエージェント型コーディングのワークフローを紹介し、日々の作業でつまずきやすい点を取り上げます。

エージェンティックエンジニアリングとは

コーディングエージェントは、コードの断片を提案するだけのチャットではありません。プロジェクトフォルダで直接作業し、ファイルを読み、コードを検索し、テストを実行し、複数のファイルを変更し、結果を自分で確認します。エージェンティックコーディングは、エージェントが何をするかを表す言葉です。エージェンティックエンジニアリングは、その周りの規律を表します。どう指示を書き、どう結果を検証可能にし、どう責任を持ち続けるか。

この言葉には有名な名付け親がいます。2025年2月、OpenAIの共同創業者であるAndrej Karpathyが、雰囲気に完全に身を任せ、コードが存在することさえ忘れるプログラミングのやり方を「バイブコーディング」と名付けました。Collinsはこれを2025年の今年の言葉に選んでいます。1年後の2026年2月、Karpathyはそのプロフェッショナル版の呼び名として「エージェンティックエンジニアリング」を好むと述べました。エージェンティックなのは、ほとんどの時間、自分でコードを書くのではなくエージェントを指揮し監督するから。エンジニアリングなのは、そこに技術と経験があるからです。

エージェンティックエンジニアリングとバイブコーディングの違い

どちらも同じツールを使います。違いは、事前にどれだけ決めておき、事後にどれだけ丁寧に確認するかにあります。

観点バイブコーディングエージェンティックエンジニアリング
指示チャットでのプロンプト目標、要件、受け入れ基準を含む仕様
確認動くかどうか試すテスト、ビルド、差分のレビュー
コード読まないことが多いレビュー済み。責任は人間に残る
記憶チャットの履歴ファイル:AGENTS.md、仕様、タスク
向いているものプロトタイプ、個人用の小さなツール、実験製品、顧客プロジェクト、ユーザとデータがあるものすべて

バイブコーディングは間違いではなく、場面に合った道具です。多くのバイブコーダーは、実験がほかの人の使うものに変わった時点で、エンジニアリングに切り替えます。

指揮するのは自分:指示、レビュー、判断

エージェンティックエンジニアリングでは、自分の仕事が変わります。コードを打つ量は減り、次の3つをより丁寧に行います。

  • 指示:何を作るのか、何をもって完了とするのかを書きます。指示が正確なほど、修正の往復は少なくなります。
  • レビュー:差分を読み、テスト結果を見て、結果を試します。エージェントは作業が終わったように見えた時点で止まります。本当に終わっているかは、レビューでしかわかりません。
  • 判断:マージするか手直しか、次のタスクか方針転換か。こうした判断は自分が下します。

作業ループ

指示から判断まで

アンバーは自分、シアンはエージェントを表します。

  1. 人間

    指示

    目標、要件、そして何をもって完了とするかを書きます。

    • 受け入れ基準付きの仕様
    • 実行、下書き、確認
  2. AI

    実装

    エージェントが計画し、自分のブランチでコードを変更し、テストとビルドを実行します。

    • ブランチ ai/course-page
    • npm test · npm run build
  3. AI

    返却

    何をしたかを証拠とともに報告します。自分にしかできないことは、自分宛てのタスクとして作成します。

    • レビュー待ちで返却
    • 自分宛て:APIアクセスを申請する
  4. 人間

    レビューと判断

    差分と結果を基準に照らして確認し、受け入れるか手直しを依頼します。マージするかどうかは自分が決めます。

    • 受け入れる
    • 手直しを依頼:コメント

基準を満たすまで、手直しの依頼と回答がエージェントに戻ります。

コーディングエージェントと毎日働くときによくあるつまずき

毎日エージェントと働いていれば、次のような場面に覚えがあるはずです。

  • 未解決の項目がチャット履歴に消える。セッションの終わりに3つの項目が残ります。数日後には新しいメッセージに埋もれるか、セッションと一緒に閉じられています。
  • 自分宛てのタスクが長い回答に隠れる。エージェントにはAPIキー、DNSレコード、App Storeでの承認が必要なのに、それを要約の4段落目で触れるだけ。
  • 複数のセッション、複数のプロジェクト。1つのウインドウでは講座ページ、2つ目ではバグ修正、3つ目ではリサーチ。どの状態がどこにあるかを知っているのは自分だけです。
  • いっぱいになるコンテキストウインドウ。セッションが長くなるほどエージェントの精度は落ちます。そのためAnthropicは、関係のないタスクの間では/clearで新しく始めることを勧めています。ファイルに残っていないことは、その時点でエージェントにとって失われます。

対処法には共通点があります。作業の状態はチャットではなく、ファイルに置くということです。

実践:長続きするClaude Codeのワークフロー

チャット履歴ではなく、ファイルとしてのタスク

すべてのタスクを、エージェントが読んで変更できるファイルとして作成します。タイトル、ステータス、担当、記録を付けて。そうすれば、新しいセッションは毎回「未完了のタスクを進めてください」で始められ、/clearの後でも別のツールでも、エージェントは必要なものをすべて見つけられます。セッションの終わりの指示は「未解決の項目をタスクにしてください」です。

受け入れ基準付きの仕様

1行で済む修正より大きなものには、仕様を書きます。目標、要件、チェックできる受け入れ基準。AnthropicはClaude Codeのベストプラクティスで、大きめの機能ではまずエージェントに質問させて仕様を書かせ、実装は新しいセッションで始めるよう勧めています。よい仕様は関係するファイルを挙げ、対象外のことを明記し、すべてが動くことを示す確認で締めくくります。

任せる度合いを決める:実行、下書き、確認

どのタスクにも同じ裁量を与えられるわけではありません。依存関係の更新なら、エージェントがそのまま行ってかまいません。ホームページの文章は、自分が確定する下書きとして用意させます。データベースの移行では、先に確認させます。これは一度にまとめて決めるのではなく、タスクごとに決めます。

要約ではなく返却

作業が終わったら、エージェントは返答するだけでなく、タスクを返却します。レビュー待ちにして、何をしたか、結果がどこにあるかをメモに書くか、足りないものがあれば質問を付けて。自分にしかできないことは、自分宛ての別のタスクとして作成させます。

証拠に基づくレビュー

主張ではなく証拠を求めます。テストの出力、実行したコマンド、スクリーンショット。テストやビルドなど、エージェントが自分で確認できる手段を与えます。大きな変更では、Claude Codeのプランモード(Shift+Tab)が役立ちます。エージェントは何かを変更する前に、読んで計画します。さらに、サブエージェントなど新しいコンテキストからのもう一度の確認で、エージェントが自分のコードで見落とした抜けが見つかります。コードのタスクはエージェント自身のブランチで行い、マージするかどうかは自分が決めます。

AGENTS.mdとCLAUDE.md:エージェントのためのマニュアル

どのセッションも、前回の記憶を持たずに始まります。そのため、エージェントがプロジェクトについて知っておくべきことは、最初に読むファイルに書いておきます。AGENTS.mdはそのためのオープンな形式で、いわばエージェント向けのREADMEです。現在はLinux Foundation傘下のAgentic AI Foundationが管理しています。Codex、Cursorをはじめ多くのツールがこれを読みます。Claude CodeはCLAUDE.mdを読み、CLAUDE.mdがない場合はAGENTS.mdを代わりに読みます。@AGENTS.mdと書けば、一方からもう一方を読み込めます。Gemini CLIはGEMINI.mdを読みますが、ファイル名は変更できます。

# AGENTS.md

## コマンド
- テスト:npm test
- 完了前に:npm run lint && npm run typecheck

## ルール
- 自分のブランチで作業し、mainでは作業しない。
- 承認なしにpushもdeployもしない。
- 新しい依存関係は確認してから。

## タスク
タスクはTandemLoopにあり、./tandemloopとしてリンクしている。
まず./tandemloop/AGENTS.mdを読むこと。私にしかできないこと
(アクセス、承認、判断)は、私宛てのタスクとしてそこに作成する。

ファイルは短く保ちます。CLAUDE.mdについて、Anthropicは200行未満で、コードからは読み取れないことだけを書くよう勧めています。同じ間違いを繰り返すなら、そのルールはファイルに書くべきです。もう長く守られているルールなら、削除してかまいません。

ツール:Claude Code、Codex、Cursor、Gemini CLI

ツール提供元動作環境読むファイル
Claude CodeAnthropicターミナル、エディタ、デスクトップAppCLAUDE.md、代替としてAGENTS.md
CodexOpenAIターミナル、エディタ、デスクトップAppAGENTS.md
CursorAnysphere独自のエディタ、ターミナルAGENTS.mdと独自のルール
Gemini CLIGoogleターミナルGEMINI.md、AGENTS.mdに設定可能

どのツールを選ぶかより、どう働くかのほうが重要です。指示、仕様、タスクがファイルにあれば、エージェントを乗り換えても、新しいエージェントが同じ状態から引き継ぎます。

TandemLoopによるエージェンティックエンジニアリングの支援

TandemLoopは、自分とエージェントが同じタスクを共有する、Mac、iPad、iPhone向けのToDoアプリです。タスクはiCloud Drive内のテキストファイルとして保存されます。エージェントはそれを直接読み書きし、TandemLoopが用意するマニュアルに従います。プラグインもAPIも必要ありません。

複数のエージェントやセッションが同じフォルダを読み、同じ状態を見ます。同時に書き込むのは1つだけにしてください。そうしないと、iCloud経由の同期で競合したコピーができることがあります。ワークフロー全体はAIエージェントと働くためのToDoアプリで、同じ構成をObsidianのVaultで使う方法はガイドClaude CodeとObsidianで紹介しています。

コード以外でも、TandemLoopはインボックス、プロジェクト、期限日、カスタムビューを備えた本格的なToDoアプリです。GTDメソッドを実践しているなら、インボックスの下仕分けと週次レビューの準備をエージェントに任せられます。

Appでの表示

仕様と返却を1か所に

タスクオンライン講座
レッスン2の台本を書くレビュー待ち · 期限:10月23日(金)AI

レビュー待ち台本は3,800字で、最後に演習があります。結果:Script-Lesson-2.md。冒頭を確認してください。

仕様エージェント準備完了

目標

レッスン2「タスクの上手な渡し方」のナレーション。約10分。

要件

  • 講座の構成案どおりの構成
  • 受講者に直接語りかけ、身近な例を1つ入れる

受け入れ基準

  • 4,000字以内
  • 最後に演習

よくある質問

エージェンティックエンジニアリングとは何ですか?

エージェンティックエンジニアリングとは、Claude Code、Codex、Cursor、Gemini CLIなど、コードを読み、コマンドを実行し、ファイルを変更するAIエージェントを使ってソフトウェアを作ることです。コードを自分で書くのではなく、指示を出し、結果を確認し、判断を下します。「エンジニアリング」が表すのは、その周りの丁寧な作業です。仕様、テスト、レビュー、そしてエージェントのための明確なルール。

エージェンティックエンジニアリングとバイブコーディングの違いは?

バイブコーディングでは、AIに任せきりにして、主に結果が動くかどうかを確認します。コードを読まないことも少なくありません。エージェンティックエンジニアリングでも同じエージェントが作業しますが、仕様、受け入れ基準、テスト、レビューが伴います。結果の責任は自分に残ります。バイブコーディングはプロトタイプ向き、エージェンティックエンジニアリングはユーザがいて保守が必要なソフトウェア向きです。

バイブコーディングは本当のプログラミングですか?

実際に動くコードはできますが、誰もそのコードを理解も確認もしていません。プロトタイプや自分だけが使うツールなら問題ありません。ほかの人がそのソフトウェアを使う、データを扱う、何か月も開発を続ける、といった段階になったら、エージェンティックエンジニアリングが示す働き方が必要です。

バイブコーディングのツールには何がありますか?

よく使われるのは、ターミナルやエディタで動くコーディングエージェントです。たとえばAnthropicのClaude Code、OpenAIのCodex、Cursor、GoogleのGemini CLIなど。説明文から完成したアプリケーションを生成する、ブラウザベースのアプリビルダーもあります。エージェンティックエンジニアリングに最も適しているのは、プロジェクトフォルダで直接作業するエージェントです。

AGENTS.mdには何を書きますか?

コードからは読み取れない、プロジェクトについてエージェントが知っておくべきことすべてです。テストとビルドのコマンド、ブランチとコミットのルール、確認してからでないとやってはいけないこと、タスクの置き場所など。ファイルは短く保ちます。長い指示ほど守られにくくなります。

複数のエージェントが作業しているとき、どう全体を把握しますか?

指示、結果、未解決の項目を個々のチャットに残さず、どのセッションも読むファイル形式のタスクに置きます。各タスクには、担当とステータスが表示されます。エージェントを並行して動かすのは別々の作業だけにし(たとえばそれぞれのブランチで)、共有ファイルに書き込むのは一度に1つのエージェントだけにします。

指揮するのは自分。
エージェントが一緒に手を動かす。