ガイド
エージェンティックエンジニアリング:AIエージェントと作り、作業を把握し続ける
エージェンティックエンジニアリングとは、AIエージェントがコードを書き、自分がそれを指揮する働き方です。明確な指示、確認できる基準、そして最後の判断。このガイドでは、バイブコーディングとの違いを説明し、Claude Code、Codex、Cursor、Gemini CLIを使ったエージェント型コーディングのワークフローを紹介し、日々の作業でつまずきやすい点を取り上げます。
エージェンティックエンジニアリングとは
コーディングエージェントは、コードの断片を提案するだけのチャットではありません。プロジェクトフォルダで直接作業し、ファイルを読み、コードを検索し、テストを実行し、複数のファイルを変更し、結果を自分で確認します。エージェンティックコーディングは、エージェントが何をするかを表す言葉です。エージェンティックエンジニアリングは、その周りの規律を表します。どう指示を書き、どう結果を検証可能にし、どう責任を持ち続けるか。
この言葉には有名な名付け親がいます。2025年2月、OpenAIの共同創業者であるAndrej Karpathyが、雰囲気に完全に身を任せ、コードが存在することさえ忘れるプログラミングのやり方を「バイブコーディング」と名付けました。Collinsはこれを2025年の今年の言葉に選んでいます。1年後の2026年2月、Karpathyはそのプロフェッショナル版の呼び名として「エージェンティックエンジニアリング」を好むと述べました。エージェンティックなのは、ほとんどの時間、自分でコードを書くのではなくエージェントを指揮し監督するから。エンジニアリングなのは、そこに技術と経験があるからです。
エージェンティックエンジニアリングとバイブコーディングの違い
どちらも同じツールを使います。違いは、事前にどれだけ決めておき、事後にどれだけ丁寧に確認するかにあります。
| 観点 | バイブコーディング | エージェンティックエンジニアリング |
|---|---|---|
| 指示 | チャットでのプロンプト | 目標、要件、受け入れ基準を含む仕様 |
| 確認 | 動くかどうか試す | テスト、ビルド、差分のレビュー |
| コード | 読まないことが多い | レビュー済み。責任は人間に残る |
| 記憶 | チャットの履歴 | ファイル:AGENTS.md、仕様、タスク |
| 向いているもの | プロトタイプ、個人用の小さなツール、実験 | 製品、顧客プロジェクト、ユーザとデータがあるものすべて |
バイブコーディングは間違いではなく、場面に合った道具です。多くのバイブコーダーは、実験がほかの人の使うものに変わった時点で、エンジニアリングに切り替えます。
指揮するのは自分:指示、レビュー、判断
エージェンティックエンジニアリングでは、自分の仕事が変わります。コードを打つ量は減り、次の3つをより丁寧に行います。
- 指示:何を作るのか、何をもって完了とするのかを書きます。指示が正確なほど、修正の往復は少なくなります。
- レビュー:差分を読み、テスト結果を見て、結果を試します。エージェントは作業が終わったように見えた時点で止まります。本当に終わっているかは、レビューでしかわかりません。
- 判断:マージするか手直しか、次のタスクか方針転換か。こうした判断は自分が下します。
作業ループ
指示から判断まで
アンバーは自分、シアンはエージェントを表します。
- 人間
指示
目標、要件、そして何をもって完了とするかを書きます。
- 受け入れ基準付きの仕様
- 実行、下書き、確認
- AI
実装
エージェントが計画し、自分のブランチでコードを変更し、テストとビルドを実行します。
- ブランチ ai/course-page
- npm test · npm run build
- AI
返却
何をしたかを証拠とともに報告します。自分にしかできないことは、自分宛てのタスクとして作成します。
- レビュー待ちで返却
- 自分宛て:APIアクセスを申請する
- 人間
レビューと判断
差分と結果を基準に照らして確認し、受け入れるか手直しを依頼します。マージするかどうかは自分が決めます。
- 受け入れる
- 手直しを依頼:コメント
基準を満たすまで、手直しの依頼と回答がエージェントに戻ります。
コーディングエージェントと毎日働くときによくあるつまずき
毎日エージェントと働いていれば、次のような場面に覚えがあるはずです。
- 未解決の項目がチャット履歴に消える。セッションの終わりに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 Code | Anthropic | ターミナル、エディタ、デスクトップApp | CLAUDE.md、代替としてAGENTS.md |
| Codex | OpenAI | ターミナル、エディタ、デスクトップApp | AGENTS.md |
| Cursor | Anysphere | 独自のエディタ、ターミナル | AGENTS.mdと独自のルール |
| Gemini CLI | ターミナル | 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か所に
レビュー待ち台本は3,800字で、最後に演習があります。結果:Script-Lesson-2.md。冒頭を確認してください。
目標
レッスン2「タスクの上手な渡し方」のナレーション。約10分。
要件
- 講座の構成案どおりの構成
- 受講者に直接語りかけ、身近な例を1つ入れる
受け入れ基準
- 4,000字以内
- 最後に演習
---
title: レッスン2の台本を書く
status: needs-review
assigned_to: ai
delegation: draft
due_date: 2026-10-23
spec_status: ready
---
<!-- tandemloop:spec:start -->
## 目標
レッスン2「タスクの上手な渡し方」のナレーション。約10分。
## 要件
- [[Course-Outline.md]]どおりの構成
- 受講者に直接語りかけ、身近な例を1つ入れる
## 受け入れ基準
- [ ] 4,000字以内
- [ ] 最後に演習
<!-- tandemloop:spec:end -->
## AIエージェント — 2026-10-20
**レビュー待ち:** 台本は3,800字で、最後に演習があります。
結果:[[Script-Lesson-2.md]]。冒頭を確認してください。よくある質問
エージェンティックエンジニアリングとは何ですか?
エージェンティックエンジニアリングとは、Claude Code、Codex、Cursor、Gemini CLIなど、コードを読み、コマンドを実行し、ファイルを変更するAIエージェントを使ってソフトウェアを作ることです。コードを自分で書くのではなく、指示を出し、結果を確認し、判断を下します。「エンジニアリング」が表すのは、その周りの丁寧な作業です。仕様、テスト、レビュー、そしてエージェントのための明確なルール。
エージェンティックエンジニアリングとバイブコーディングの違いは?
バイブコーディングでは、AIに任せきりにして、主に結果が動くかどうかを確認します。コードを読まないことも少なくありません。エージェンティックエンジニアリングでも同じエージェントが作業しますが、仕様、受け入れ基準、テスト、レビューが伴います。結果の責任は自分に残ります。バイブコーディングはプロトタイプ向き、エージェンティックエンジニアリングはユーザがいて保守が必要なソフトウェア向きです。
バイブコーディングは本当のプログラミングですか?
実際に動くコードはできますが、誰もそのコードを理解も確認もしていません。プロトタイプや自分だけが使うツールなら問題ありません。ほかの人がそのソフトウェアを使う、データを扱う、何か月も開発を続ける、といった段階になったら、エージェンティックエンジニアリングが示す働き方が必要です。
バイブコーディングのツールには何がありますか?
よく使われるのは、ターミナルやエディタで動くコーディングエージェントです。たとえばAnthropicのClaude Code、OpenAIのCodex、Cursor、GoogleのGemini CLIなど。説明文から完成したアプリケーションを生成する、ブラウザベースのアプリビルダーもあります。エージェンティックエンジニアリングに最も適しているのは、プロジェクトフォルダで直接作業するエージェントです。
AGENTS.mdには何を書きますか?
コードからは読み取れない、プロジェクトについてエージェントが知っておくべきことすべてです。テストとビルドのコマンド、ブランチとコミットのルール、確認してからでないとやってはいけないこと、タスクの置き場所など。ファイルは短く保ちます。長い指示ほど守られにくくなります。
複数のエージェントが作業しているとき、どう全体を把握しますか?
指示、結果、未解決の項目を個々のチャットに残さず、どのセッションも読むファイル形式のタスクに置きます。各タスクには、担当とステータスが表示されます。エージェントを並行して動かすのは別々の作業だけにし(たとえばそれぞれのブランチで)、共有ファイルに書き込むのは一度に1つのエージェントだけにします。