Source notes
この文章の元になったメモは、2026年5月9日にSubstackへ書いています。読書メモとしての流れを先に見たい場合は、Substack版「Agentic Engineering Patterns」を読んで、AIコーディング時代の型を考えるで読めます。
Simon Willison の「Agentic Engineering Patterns」は、AIコーディングを単なる便利ツールではなく、ソフトウェア開発の作業設計として捉え直すためのガイドです。
元のSubstackでは、ガイドを読みながら自分の実践と重なる部分を書きました。ここでは、そのメモをこのサイト向けに整理し直します。
焦点は「エージェントを使うと速い」ではありません。速くなったあとに何を人間が握るのか、そして何をエージェントに渡すのかです。
AIエージェントによる開発を毎日使っていると、便利さより先に、作業の前提が変わっていることに気づきます。
コードを書くこと自体は安くなる。一方で、仕様を決める、品質を定義する、検証を設計する、理解できないコードを残さない、といった仕事は消えない。むしろ重くなる。
Reading map
この記事は「使う」から「担保する」へ進む
便利なAIコーディング論として読むのではなく、作業設計、証跡、理解、評価へ順に視点を移すための読み筋です。
Report briefing
AIコーディング時代の作業設計を先に読む
Vibe codingの対岸にあるAgentic Engineeringを、目的、ループ、証跡、Evalの4点で読むための入口です。本文に入る前に、このページで持ち帰る判断材料を整理します。
- Updated
- 2026.05.09
- Scope
- Simon Willison guide, Substack memo, daily AI coding workflow
2
対岸の作法
Vibe codingとAgentic Engineeringを分けて読む
4
ループ要素
目的、ツール、観察、修正の流れを明示する
5
証跡
diff、テスト、ログ、スクリーンショット、レビュー材料を揃える
1
人間の役割
実装中の口出しより、完了条件と採否を握る
Topline findings
Intent
01
目的を置く
何を作るか、何を作らないか、完了条件を先に固定する。
Loop
02
AIに回させる
戻せる作業は、探索、編集、実行、観察、修正まで一連で渡す。
Evidence
03
証跡を読む
生成コードそのものより、検証結果と再現可能な材料を要求する。
Agentic engineering report
AIコーディングを、作業設計としてレビューできる画面にする
この記事は、便利なAIツール紹介ではなく、エージェントへ渡す仕事、人間が握る仕事、証跡として読むべきものを一枚で確認するための開発ワークフローレポートです。
Article readout
2
対岸の作法
Vibe codingとAgentic Engineeringを分けて読む
4
ループ要素
目的、ツール、観察、修正の流れを明示する
5
証跡
diff、テスト、ログ、スクリーンショット、レビュー材料を揃える
1
人間の役割
実装中の口出しより、完了条件と採否を握る
Intent
目的を置く
何を作るか、何を作らないか、完了条件を先に固定する。
Loop
AIに回させる
戻せる作業は、探索、編集、実行、観察、修正まで一連で渡す。
Evidence
証跡を読む
生成コードそのものより、検証結果と再現可能な材料を要求する。
Eval
次回へ残す
失敗や判断を、プロンプト、テスト、ガイドラインへ戻す。
Reading checks
Scope
任せる範囲が明確
AIに渡す作業と、人間が握る判断を混ぜない。
Git
戻せる単位で動く
ブランチ、差分、コミット粒度がレビュー可能なサイズに保たれる。
Review
レビュー材料が揃う
読まないコードを増やさず、採否に必要な証拠を同時に見る。
Memory
知識が蓄積される
毎回の指示で終わらせず、AGENTS、テスト、チェックリストに残す。
Reader takeaways
作業設計図
AIコーディングをプロセスとして運用するための見取り図。
レビュー焦点
生成物より先に見るべき、品質と証跡のチェック項目。
知識の残し方
AIが次回読める形でルールや判断を置く方法。
Agentic Engineeringとは何か
Vibe coding は、コードへの注意をいったん手放し、LLMに大きく任せる作り方です。動くならよし。コードは深く読まない。生成物が膨らんでも、まずは触って前へ進む。プロトタイプや週末プロジェクトには向いていますが、本番運用するソフトウェアの作り方ではありません。
Agentic Engineering は、その対岸にあります。Willison はエージェントを「Agents run tools in a loop to achieve a goal.」と定義しています。エージェントがゴールに向けてツールを回す。そのループを、ソフトウェアエンジニアが目的、制約、品質基準に沿って設計し、検証する。実装はAIが進めても、何を作るか、どこまで担保するか、どう確かめるかは人間側に残る。
Vibe coding vs Agentic Engineering
違いは、コードを忘れるか、読む・検証する・育てるか
どちらもAIにコードを書かせる。差が出るのは、生成されたコードから目を離すのか、仕事として残すために読み直すのかです。
Vibe coding
コードを忘れる
動くならよし。コードは深く読まない。生成物が膨らんでも、まずは触って前へ進む。
頼む
作りたいもの
自然言語で渡す
01触る
動くか見る
コード確認は後回し
02戻す
症状を伝える
エラーや違和感を返す
03Agentic Engineering
読む・検証する・育てる
実装はAIに任せても、目的、基準、検証、採否は人間が握る。
人間
基準
目的・制約・成功条件
01エージェント
実行
編集・実行・修正
02証跡
確認
diff・test・log・画面
03人間
採否
出す・戻す・捨てる
04Vibe coding を否定する話ではありません。試作として使うなら速さが価値になる。ただし、運用するソフトウェアに残すなら、理解と検証を通して Agentic Engineering の作業に戻す必要があります。
つまり、Vibe coding が「コードを忘れる」なら、Agentic Engineering は「コードを読む・検証する・育てる」を捨てない。生成されたコードから目を離すのではなく、読める、検証できる、次の変更に耐える状態へ戻していく。
だから、人間の仕事は消えません。仕様を定義する。品質基準を決める。証跡を読む。採否を判断する。AIツールはそれらを置き換えるというより、その判断をできる人に強いレバレッジをかけます。
Agentic loop
任せるのは、実行ループだけ
目的を置くところと、最後に採るか決めるところは人間側に残す。エージェントには、その間の実行と検証を回させる。
人間が置く
目的・制約・成功条件
何を作るか。どこまで許容するか。何が示せれば完了なのか。
エージェントが回す
作業単位に切る
仕様から小さなタスクへ
ツールを回す
編集・検索・実行
結果を読む
ログと差分を見る
直して戻す
修正して再実行
人間が決める
出す・戻す・捨てる
証跡が成功条件を満たしているかを読み、次の扱いを決める。
重要なのは、エージェントのループを速く回すことより、その前後に人間の基準を置くことです。基準がなければ、速く作っても採否を決められない。
ガイドの全体像
「Agentic Engineering Patterns」は、単発の記事というより、更新を前提にした常緑のガイドです。
この記事を書いている2026年5月時点では、原則、作業の仕組み、検証、コード理解、注釈つき実例、付録まで含まれています。
並んでいるのは、AIコーディングを仕事として成立させるための基本動作です。
コードを書く前の原則、エージェントの仕組み、Gitとサブエージェント、テストと手動検証、コード理解、具体的なプロンプト例まで扱っている。
読んでいて面白いのは、話題の中心が「どのAIツールがよいか」ではないことです。むしろ、エージェントに仕事を渡すために、ソフトウェア開発の基本動作をどう組み替えるかが主題になっている。
構成
原則から実例まで、6つの層でできている
原典の目次を、章と小見出しまで圧縮して見える化しています。単なるTips集ではなく、考え方、エージェントの仕組み、品質担保、コード理解、具体プロンプトへ進む構造です。
なぜ作業設計が必要になるのか
Agentic Engineeringの定義、コードが安くなった後の習慣、知識の蓄積、良いコード、アンチパターンを扱う土台。
Agentic Engineeringの定義
軽い作り方との違い / ガイドの位置づけ
コードを書くコストが下がった後
良いコードのコスト / 新しい習慣
知っていることを蓄積する
組み合わせ直す / エージェントに読ませる
AIでより良いコードを作る
技術負債を避ける / 選択肢を増やす / 複利で改善する
避けるべきアンチパターン
未レビューコードを渡さない
エージェントがどう動くかを理解する
LLM、システムプロンプト、ツールループ、Git、サブエージェントを、実装を任せるための作業基盤として読む。
コーディングエージェントの仕組み
LLM / システムプロンプト / ツールループ
Gitを使った作業設計
基本概念 / 変更履歴 / 履歴の扱い
サブエージェントの使い分け
調査 / 並列実行 / 専門役
動いたことをどう証明するか
失敗と成功のサイクル、自動テスト、最初にテストを走らせる習慣、ブラウザ操作などの手動検証を扱う。
Red/Greenで実装させる
先に失敗を確認する
まずテストを走らせる
テストスイートを文脈に入れる
手動検証もエージェントにやらせる
ブラウザ操作 / 実行ログ / 検証メモ
生成されたコードを理解可能に戻す
ウォークスルーやインタラクティブな説明で、認知債務を放置しないための読み方を扱う。
線形ウォークスルーで理解する
実ファイルをたどる / 説明を書かせる
動く説明で理解する
アルゴリズムの可視化 / ワードクラウドの例
実際の指示と成果物を読む
抽象論だけでなく、具体的なプロンプトと後続指示を、注釈付きの実例として確認する。
GIF最適化ツールを作る実例
ブラウザで動く変換 / 追加指示
ブログからニュースレターへ変換する実例
日常的なプロンプトへ落とす
成果物生成、校正、画像代替テキスト、音声要約など、実際に使うプロンプト集へ接続する。
日常で使うプロンプト集
成果物生成 / 校正 / 画像代替テキスト / 音声要約
つまり、このガイドは「AIコーディングのコツ」ではなく、作業を渡す前提、渡した後の担保、そして理解を取り戻す方法までをひとつの流れとして扱っています。
ここからは、特に自分の実践と重なった部分を中心に書きます。
コードが安くなること、知識を蓄積すること、テストと手動検証を組み合わせること、認知債務とレビューの位置づけが変わること。このあたりが、今の自分にとっての核心です。
仕組みとGitを飛ばさない
ガイドの「Working with coding agents」は、派手な章ではありません。ただ、エージェントをブラックボックスとして扱わないための土台になっています。
Coding agent は、LLMにsystem promptとツール定義を渡し、モデルが要求したツールを実行し、その結果をまたモデルへ返すハーネスです。
LLM自体は状態を持たない。会話履歴やルールファイルやツール結果を、ハーネスが毎回文脈として組み立てている。
Agent harness
モデルは状態を持たない
会話履歴やルールは、毎回プロンプトとして渡される。文脈は自然に残るのではなく、ハーネスが再構成している。
振る舞いは見えない指示で決まる
エージェントは、ユーザーに見えない長いsystem promptとツール定義を持つ。何が許されているかは、ここでかなり決まる。
ツール呼び出しがループを作る
Bash、Python、ブラウザ、Gitなどを呼び、結果を読み、次の行動を決める。コード実行があるから、動くところまで近づける。
履歴は作業の外部記憶になる
git log、diff、branch、bisect、reflogを読めると、エージェントは過去の判断や失敗から文脈を組み立てられる。
この仕組みを理解すると、なぜ「指示を短くすればよい」だけでは足りないのかが見えてきます。
どのツールを持たせるか。どの情報を先に読ませるか。どの作業は新しいコンテキストで切り出すか。どこでキャッシュや履歴が効くか。
Agentic Engineering は、モデル単体ではなく、ハーネス全体を設計する話でもあります。
その意味で、Git の章も重要です。Git は単なる保存・復元の道具ではありません。エージェントにとっては、過去の作業、設計判断、失敗、修正の流れを読むための外部記憶になる。
Git as substrate
Gitは「戻せる」だけでなく、読ませるための基盤になる
最近の変更を読ませて、新しいセッションの文脈にする
複数ブランチで別案を走らせ、後で比較する
merge conflict や cherry-pick の失敗を、意図を読ませながら解消する
git bisect の実行条件を作らせ、いつ壊れたかを探す
たとえば新しいセッションに「最近の変更を読んで」と渡すと、git log と diff から文脈を作れる。複数ブランチで異なる実装案を走らせ、あとで比較できる。
git bisect のような面倒な調査も、失敗条件さえ渡せば実行手順に落とし込める。
ここは、自分の運用にもかなり近いです。エージェントを使うほど、Gitの履歴を「人間のための記録」だけでなく「次のエージェントが読む文脈」として整えたくなる。コミットメッセージ、PR説明、検証ログの粒度が、次の作業効率に効いてくる。
「Writing code is cheap now」から始める
定義に続く章で、最も根本的な主張が出てきます。コードを書くコストが大きく下がった、という話です。
以前は、数百行のきれいなコードを書くこと自体に時間がかかりました。そのコスト感が、プロジェクト計画、見積もり、設計、リファクタリング、テスト追加、ドキュメント整備の前提になっていた。
エージェントはこの前提を壊しました。実装、リファクタリング、テスト追加、ドキュメント作成を、同時に複数走らせることができる。夜にいくつかのセッションを走らせておき、朝に結果を見ることもできる。
ただし、「どんなコードでも」のコストは下がったが、「良いコード」のコストまでゼロになったわけではありません。
目的に合っているか。将来の変更に耐えるか。エラー処理は妥当か。セキュリティやアクセシビリティを落としていないか。テストは意味を持っているか。ここはまだ判断が要る。
同じPrinciplesの中で、WillisonはAIを粗いコードを増やすためではなく、より良いコードを作るために使うべきだとも書いています。
命名の統一、重複の整理、APIの見直し、後回しにしていた小さな改善。人間だけでは時間を理由に見送っていた仕事を、エージェントに試させられる。
Cost shift
安くなったのはコードであって、判断ではない
Code
Before
高い
Now
安い
実装、テスト追加、リファクタリング、ドキュメント化を並列で試せる。
Options
Before
少ない
Now
多い
一案を磨くより、複数案を走らせて比較する方が合理的になる。
Judgment
Before
暗黙
Now
希少
何を作るか、どこまで担保するか、どれを採るかの判断が重くなる。
Evidence
Before
後回し
Now
前提
テスト、ログ、ブラウザ操作、diffを、採用判断の材料として残す必要がある。
ここで大事なのは、「AIで速く書ける」では止まらないことです。選択肢を増やせるほど、人間は何を選び、何を捨てるかを説明できなければならない。
コードが安くなるほど、希少になるのは「どのコードを書くべきか」を決める力です。
実装が安くなるほど、希少資源は上流に移っていきます。何を作るか。どう進化させるか。どの品質で出荷するか。コードの外側にある設計とスチュワードシップこそが差別化要因になる。
だから、同じIssueから複数のエージェントを走らせ、結果を比較する運用が自然になります。一つの案に賭けるより、複数案を見て選ぶ。
エージェントAは最小変更、エージェントBは設計整理から、エージェントCはテストを厚めに。結果を比べ、良いところを採る。
Parallel sampling
一つのIssueから、複数の試行を作る
Input
同じIssue
目的、制約、検証条件をひとつに固定する。違うのはエージェントに取らせる作戦だけ。
既存構造に寄せて最小変更
先に設計を整理してから実装
テストと検証ログを厚めに作る
Output
比較して採る
ベストを選び、必要なら良い部分だけをマージする。残すのは、説明と検証結果です。
比較可能な候補を低コストで増やせると、人間の判断は「最初の案を直す」から「複数案を選ぶ」に変わります。
重要なのは、一発で正解を出させることではありません。正解に近い候補を複数作り、人間が選べる状態にすることです。オプショナリティのコストが下がると、意思決定の仕方そのものが変わる。
知識の蓄積が、エージェント時代の武器になる
ガイドの中で一見キャリアアドバイスに見える章が、実はかなり重要でした。
ソフトウェア構築の大部分は、「何が可能かを知り、実現方法の大まかなアイデアを持つこと」で成り立っている、という話です。
たとえば、ブラウザでOCRを動かすならTesseract.js、PDFを画像に変換するならPDF.js、という組み合わせを知っているとします。細かい実装はエージェントに任せられる。でも、その組み合わせを知っていること自体が、出発点として強い。
一度理解した有用なトリックは、動くコード例や設計メモとして残せます。次に似た問題が来たとき、エージェントがそれを読む。人間の知識が、次のセッションの初速になる。
Agent-readable knowledge
人間が咀嚼した知識だけが、次のエージェントを速くする
CLAUDE.md、AGENTS.md、スキルファイル、検証ログは、まさにそのための置き場です。
プロジェクト構造、コーディング規約、テストの走らせ方、触ってよい境界、過去に壊した箇所。これらを「エージェントが読める形」にしておくと、新しいセッションでも文脈を持って作業できます。
ただし、自動生成した長いルールファイルを置くだけでは足りない。効くのは、人間がハマって気づいたこと、チームが議論して決めたこと、ドキュメントに残しそびれた口伝を、あとで使える粒度に直したものです。
重要なのは、ファイルを作ることではなく、次の作業で実際に参照される状態にすることです。
ルールファイルには境界、規約、検証手順を書く。社内Wikiやデータ基盤には、判断の経緯や作業履歴を残す。実行ログや失敗ログは、次回のエージェントに読ませる材料にする。
知識の蓄積は、エージェント時代のインフラになります。
書かせる前に、どう証明するかを置く。
テストと手動検証が、エージェントの手綱になる
Testing and QA の章は、エージェントを日常的に使っている人ほど重要になります。
エージェントに「実装して」とだけ渡すと、動いたように見える成果物が返ってきます。問題は、その「動いたように見える」をどう扱うかです。
Red/Green の形で先に失敗を確認してから実装させる。Willison は「First run the tests」という短い指示を強調しています。
まずテストを走らせる。既存のテストスイートを認識させる。プロジェクトの複雑さを把握させる。以降の実装でもテストを追加・実行する方向へ寄せる。
Red を確認しないままテストを書かせると、すでに通るテストを書いてしまう危険があります。
エージェントは賢いので、実装に合わせてテストを書くこともできてしまう。それではテストの意味が薄い。
もう一つ重要なのが、Agentic manual testing です。自動テストが通っても、意図通りに動いているとは限らない。
Web UIならブラウザを実際に操作させる。APIならリクエストを叩かせる。コマンドと出力をMarkdownに残させる。エージェントの「動きました」を、証跡に変える。
Verification stack
Spec
何ができれば完了かを、画面操作やAPI応答まで落とす。
Red / Green
先に失敗を確認し、エージェントにGreenまで持っていかせる。
Manual path
ブラウザ操作、ログ、スクリーンショットで、人間が読む形の証跡を残す。
Review
別エージェントがspec、diff、実行結果の不整合を探す。
Eval
検証そのものが妥当だったかを、失敗例と評価軸で継続的に測る。
自分の実践でも、最初にspecを書き、ブラウザ操作まで含めたVerifyシナリオを定義してから実装に入ることが多くなっています。
エージェントに「このspecのVerifyを全部Greenにして」と渡す。逆に、specなしで「いい感じにして」と投げると、作業が散らばりやすい。
自動テストだけで十分ではないし、人間の目視だけでも足りない。
エージェントが作り、エージェントが動かし、エージェントが記録し、人間が判断する。この分担に寄せるほど、作業はスケールします。
認知債務との戦い
Understanding code の章は、コードを書かせる話ではなく、理解する話です。ここで出てくる認知債務という概念が重要です。
エージェントが書いたコードの動作を理解できないまま進むと蓄積される負債。技術負債がコード品質の負債なら、認知債務はコード理解の負債です。
エージェントは短い時間で数百行のコードを生成できます。動く。テストも通る。
でも、「なぜこの実装なのか」を説明できない。生成速度と理解速度の差が、そのまま認知債務として積み上がっていく。
Cognitive debt
生成速度
エージェントは数分で数百行を書ける。テストも通る。PRも説明文も作れる。
理解速度
しかし、なぜその実装なのかを説明できないまま進むと、理解の負債だけが積み上がる。
認知債務は、動くことと理解できることを分けて考えないと見えません。速度は上がっても、理解の手続きは別に設計する必要があります。
対策として、別のエージェントセッションに構造化されたウォークスルーを書かせる方法があります。
重要なのは、説明を記憶に頼らせないことです。コードスニペットは実ファイルから取得させる。ファイル名や関数名を明示させる。説明と実装の距離を近くする。
さらに、アルゴリズムや状態遷移をHTMLで可視化させるのも有効です。コードの動きを読むのではなく、見える形にする。
HTML artifacts
認知債務を返すための成果物を、Markdownだけに閉じない
エージェントに「説明して」と頼むだけだと、長い文章が増えます。理解を進めるには、比較、地図、レビュー、編集UIのように、読み手が判断できる形へ変換する。
Explore
demos 01 / 02
候補を並べる
複数の実装案やUI案を、同じ評価軸で横に置く。人間は一案を読むのではなく、選べる状態を見る。
Map
demos 04 / 13
構造を地図にする
モジュール、リクエスト経路、デプロイフローを図として辿れるようにする。コード理解を記憶に頼らせない。
Review
demos 03 / 17
レビューの焦点を出す
diffやPR説明にリスク、見るべきファイル、テスト計画、ロールアウトを重ねる。レビュー相手に探索を押し付けない。
Operate
demos 18 / 19 / 20
判断を編集可能にする
並べ替え、フラグ変更、プロンプト調整をUI化し、最終結果をMarkdownやJSONへ戻す。
LLM時代のコード理解は、テキストの説明だけでなく、インタラクティブな理解補助を作れるところが面白い。
コードレビューは死ぬのか、変わるのか
Anti-patterns の章で引っかかったのは、レビューの話です。
Willison は、エージェントが生成した大量のコードを自分で検証せずにPRとして出すことを強く戒めています。動作確認済みであること、適切なサイズであること、文脈が説明されていること、説明文そのものも検証されていること。
この指摘は妥当です。少なくとも今の時点では、未検証の生成物を他人に渡すのは、実作業をレビュー相手に押し付けているのと近い。
同時に、Latent.Space の「How to Kill the Code Review」が書いているように、人間のチェックポイントを下流のdiff確認から上流のspec、制約、検証ルールへ移す流れも強くなっています。
極端に言えば、コードはspecの成果物であり、人間が読むべき中心は「何を満たすべきか」へ寄っていく。
だから、コードレビューという行為自体は変わるはずです。人間が行単位のdiffを全部読むモデルは、生成量に対してスケールしない。
レビューの主体、対象、フローが変わる。
Review shift
レビューの重心は、diffの後ろからspecの前へ移る
Before
コードを書く
実装の中心は人間。レビューは、その後に置かれる。
PRを出す
変更をまとめ、他者に読んでもらう単位を作る。
人間がdiffを読む
行単位の差分を、品質ゲートとして確認する。
After
specを書く
目的、制約、受け入れ条件を先に置く。
複数エージェントで実装
違う作戦の候補を作り、比較できる状態にする。
証跡で検証する
テスト、ログ、画面操作で条件と照合する。
人間が承認する
diffだけでなく、意図と証跡を見て採否を決める。
diffを読む行為が消えるわけではない。ただし、人間の主戦場は「生成された行」から「満たすべき条件」へ移っていく。
まず、レビューの主体が変わる。エージェントに一次レビューを任せ、人間は最終判断に集中する。
ただし、それはAIレビューを盲信することではありません。AIレビューが信頼できるような評価、検証、失敗例の蓄積を作るということです。
次に、レビューの対象が変わる。行単位のdiffではなく、specに対して意図通りに動くかを見る。
ブラウザでどう操作させるか、どのAPI応答を確認するか、どの失敗を拾うべきか。レビュー対象はコードから作業システム全体へ広がる。
そして、レビューのフローが変わる。「PRを出す、人間がdiffを読む、コメントする、修正する」という流れから、「spec作成、複数エージェント並列実装、エージェントレビュー、動作検証、人間が承認する」へ寄っていく。
人間はレビューから降りるわけではありません。むしろ、レビューの重心を上流へ移す。
最終責任を持つ人間が、何を承認したのかを説明できる状態にする。
書くから、証明するへ
ガイド全体を読んでいて、最終的に残るのは verifiability の話でした。AIコーディングの重心は「書くフェーズ」から「出てきたものをどう担保するか」に移っている。
コーディング自体は、汎用ツールでそれなりに動くものが作れる時代になった。重要なのは、誰がどう担保するかです。
AIが生成したPRや、クラウド上で動く複数のエージェントが増えてくると、ローカルで人間が一つずつ動作確認するモデルはスケールしにくくなります。
ブラウザを起動し、自動操作で挙動を検証し、結果をログとして残す。確認作業そのものも、AIに寄せていく。
ただし、担保レイヤーをAI化すると、その担保レイヤー自体を評価する必要が出てきます。
レビューエージェントの指摘は妥当か。ブラウザ検証は本当にバグを拾っているか。複数案から選ぶ基準は再現可能か。ここを測れない限り、「AIに任せた」とは言えない。
Assurance layers
担保は一枚ではなく、層で設計する
AIが書いたコードを見るとき、ひとつの検証で安心しようとすると弱い。小さな契約、ユーザーシナリオ、手動検証、Evalを分けて積む。
Unit / contract
関数、API、スキーマ単位で期待する入出力を固定する。まず小さく壊れていないことを見る。
Scenario
ユーザー操作やジョブ実行の流れで、意図した体験になっているかを確認する。
Manual agent run
ブラウザ操作、curl、ログ確認をエージェントに実行させ、実際の出力を残す。
Eval
レビューや検証そのものがどれだけ妥当かを、失敗例と指標で測れるようにする。
どの層が弱いのかを分けておくと、AIに任せる範囲を広げるときの不安も分解できます。
AIコーディング時代でも、評価からは逃げられない。むしろ、AIコーディングが進むほど評価の比重は上がる。
これはAIプロダクト開発と同じ構造です。
Takeaways
specと設計の品質で差がつく
コードが安くなるほど、何を作るか、どこまでの品質で出すか、どう進化させるかの判断が希少になる。
知識はエージェントが読める形で育てる
ルールファイル、スキル、検証ログ、社内Wiki。人間が咀嚼した知識だけが次の作業を速くする。
テストは自動と手動の二段構えにする
Red/Greenで自動の手綱を握り、ブラウザやAPIの実操作で「動きました」を証跡に変える。
一発で正解を出させない
複数のエージェントに異なる試行をさせ、比較して選ぶ。オプショナリティのコストが下がった前提で設計する。
「Agentic Engineering Patterns」は、AIコーディングの実践知に名前を与えてくれるガイドです。
GoFデザインパターンがオブジェクト指向の共通言語を作ったように、このガイドはAgentic Engineeringの共通語彙になりうる。
少なくとも、日常的にエージェントを使っているエンジニアにとっては、「自分がやっていたことに名前があった」と感じる箇所が多いはずです。
Sources
r.kagaya / Substack
「Agentic Engineering Patterns」を読んで、AIコーディング時代の型を考える
rkagaya.substack.com/p/agentic-engineering-pattern
Simon Willison's Weblog
Agentic Engineering Patterns
simonwillison.net/guides/agentic-engineering-patterns
Simon Willison's Weblog
What is agentic engineering?
simonwillison.net/guides/agentic-engineering-patterns/what-is-agentic-engineering
Simon Willison's Weblog
Writing code is cheap now
simonwillison.net/guides/agentic-engineering-patterns/code-is-cheap
Simon Willison's Weblog
Hoard things you know how to do
simonwillison.net/guides/agentic-engineering-patterns/hoard-things-you-know-how-to-do
Simon Willison's Weblog
AI should help us produce better code
simonwillison.net/guides/agentic-engineering-patterns/better-code
Simon Willison's Weblog
Anti-patterns: things to avoid
simonwillison.net/guides/agentic-engineering-patterns/anti-patterns
Simon Willison's Weblog
How coding agents work
simonwillison.net/guides/agentic-engineering-patterns/how-coding-agents-work
Simon Willison's Weblog
Using Git with coding agents
simonwillison.net/guides/agentic-engineering-patterns/using-git-with-coding-agents
Simon Willison's Weblog
Subagents
simonwillison.net/guides/agentic-engineering-patterns/subagents
Simon Willison's Weblog
Red/green TDD
simonwillison.net/guides/agentic-engineering-patterns/red-green-tdd
Simon Willison's Weblog
First run the tests
simonwillison.net/guides/agentic-engineering-patterns/first-run-the-tests
Simon Willison's Weblog
Agentic manual testing
simonwillison.net/guides/agentic-engineering-patterns/agentic-manual-testing
Simon Willison's Weblog
Linear walkthroughs
simonwillison.net/guides/agentic-engineering-patterns/linear-walkthroughs
Simon Willison's Weblog
Interactive explanations
simonwillison.net/guides/agentic-engineering-patterns/interactive-explanations
Simon Willison's Weblog
Cognitive debt
simonwillison.net/2026/Feb/15/cognitive-debt
Latent.Space / Ankit Jain
How to Kill the Code Review
latent.space/p/reviews-dead