- Claude CodeやCodexのようなコーディングエージェント時代の開発手法を整理したガイドで、エージェントと協働する新しいエンジニアリングパターンを提示
- コード記述コストが急激に下がった環境で、開発習慣やワークフローをどう変えるべきかをさまざまなパターンで説明
- 原則、テスト、コード理解、プロンプト設計など、エージェント中心開発の中核領域を構造的に整理
- 各パターンは実際のコード例や作業手法、プロンプト活用事例などを含む実務中心のパターンドキュメントの形
- コーディングエージェント時代の開発者が、エージェントベースのコーディング環境を体系的に設計し、品質を維持するための実践的な参考資料
Agentic Engineering Patterns 概要
- **コーディングエージェント(Claude Code、OpenAI Codex など)**と一緒に開発する際の効果的なエンジニアリング手法を整理したガイド
- Writing about Agentic Engineering Patterns 紹介記事を参照
- 従来の「Design Patterns」形式のように、複数の**パターン(chapter)**を継続的に追加していく構成のドキュメント
- コード記述コストが大きく下がった環境での、開発者のワークフローと意思決定の変化を中心テーマとして構成
- ブログ記事ではなく、更新可能なguide形式のコンテンツとして運用され、今後も継続的に拡張予定
1. Principles
-
- AIコーディングエージェントの登場により、初期のコード記述コストはほぼ無料に近い水準まで低下
- かつてはコードを書くことが高コストだったため設計・計画中心で開発していたが、今ではアイデアをすぐコードで試すアプローチが可能
- コード生成コストは下がった一方で、良いコード(テスト、保守性など)には依然としてコストがかかる
-
- 開発者の重要な資産は、「何が可能かを知っている知識の蓄積」
- 多様な問題解決事例や小さなコード実験を、保存して再利用できる形で蓄積する習慣を強調
- こうして集めたコードや例は、コーディングエージェントに新機能を作らせる際の強力な入力資料として活用できる
-
- エージェントが生成したコードであっても、レビューなしで共有したりPRを提出したりする行為は避けるべきアンチパターン
- エージェントが書いたPR説明も、人間が直接検証し修正する必要がある
- コードレビュアーの時間を無駄にしないため、テスト、検証プロセス、実装選択の理由なども併せて提示すべき
2. Testing and QA
-
- テスト駆動開発(TDD)は、コーディングエージェントと一緒に使うと特に効果的な開発パターン
- 先にテストを書くことで、エージェントはそのテストを満たす方向でコードを生成できる
- 最小限のプロンプトでも、正確で信頼できるコード生成に役立つ
-
- コーディングエージェントと作業する際、自動テストは選択肢ではなく必須要素
- テスト作成コストが下がった環境では、エージェントがテストを素早く生成・修正できる
- コードは実際に実行されるまでは正しく動く保証がないため、テストが重要
3. Understanding code
-
- エージェントが作成したコードやプロジェクトを、最初から最後まで順番に読み進めて構造を理解するパターン
- シンプルなプロジェクトであっても、コードの流れを追いながら新しい技術や構造を学べる
- AIによるコード生成が学習速度を落とすという懸念に対し、コード探索そのものが学習機会になり得る
-
- コードやシステムを理解する際、エージェントと対話しながら説明を求める方式
- 質問を重ねながら、コードの動作原理と構造を段階的に把握
- コード理解のプロセスを、対話型学習の形へ拡張するパターン
4. Annotated prompts
-
- WebAssemblyとGifsicleベースのGIF最適化ツールを作るためのプロンプト例を収録
- HTML、JavaScript、CSSを含む単一ページツールの実装方法を提示
- 実際のプロンプトとコード例を通じて、コーディングエージェントの活用方法を説明
5. Appendix
-
- 実際に使っているコーディングエージェント向けプロンプト例のまとめ
- さまざまな作業で使える実践的なプロンプトパターンを整理
- エージェントと協働する際に使える実用的なテンプレートを提供
1件のコメント
Hacker Newsのコメント
また同じことを繰り返そうとしているように見える
「まずテストを書け」 や「小さく組み合わせ可能なモジュールを作れ」のような単純で筋の通った概念を、複雑な名前で包み直して、それでコンサル業界を作り上げようとしている感じがする
ただ今回は相手が「しゃべる機械」だというだけ。もう言葉で指示すればいい世界だ
Simonに聞いてみたい — 「コードが安くなった世界」ではコードレビューをどうすべきか?
チームメンバーが構造を理解しないまま「動くんだからいいでしょ」という感じで進めている。レビューはどんどん大きくなり、私はボトルネックになっている。AIレビュアーを代理に使う方法も考えたが、人間的な感覚が失われるのは嫌だ
私はAIを主にボイラープレートコードやドキュメントまわりの問題解決に使っている
エージェント型の作業も試したが、成果物はまだ信頼しにくい。それなのに「もうほとんどコードを書かない」と言う人もいる。その差が興味深い
最近、エージェント型コーディングループを実験している
たとえば feshプロジェクト では、「Linuxバイナリをもっと小さく圧縮する」ことを目標にしている。テストが明確な問題なので、AIループに向いていた
学んだことは次の通りだ:
テストのセクションで、LLMが作る「自己充足的テスト」の問題も扱ってほしい
テストが実際には何も検証していなかったり、ひどい場合はハードコードされた値で通ってしまったりする。人間がAIを厳格なテスト習慣へ導かなければならない
LLMの世代が変わるたびに、これまでの教訓がすべて無効化されるように感じる
LangChainのように旧世代モデルの限界を回避するために作られた複雑な構造は、GPT-3.5以降では不要になった。いずれは単一エージェントだけで十分にすべて処理できるようになるのかもしれない
関連記事を見る
エージェントエンジニアリングの議論で、よく抜け落ちている点がある
多くの教訓が普遍的な真理のように語られるが、実際にはチーム規模、コードベースの成熟度、テスト水準、リスク許容度によって変わる。重要なのは、**「いつこのパターンが有効なのか」**を明確にすることだ
最近は「エージェントチームフレームワーク」が日に何十個も出てくる
初期のソフトウェア工学のような混沌とした実験期だ。しかし最終的には、いくつかのパターンが標準として定着するはずだ。
私たちのチームでは、人間のチームのように進めるのが効果的だった — まず製品仕様書(spec)を書き、AIで磨き込み、それをもとに役割分担されたエージェントのフローへ渡す
今日、学部の授業でCPU・GPUアーキテクチャの進化を講義した
以前はMoore’s Lawのおかげでハードウェアがすべてを解決してくれたが、今は並列性が鍵だ。
Simonの言う**「コードは安い」という概念も、これと似たパラダイムシフトだ。
並列ハードウェア時代に効率的なコードがまったく変わったように、AI時代には開発プロセス自体が変わる**だろう。これを先に理解した人が10〜100倍の利益を得るはずだ
私たちのチームでは、**「途中途中に人間の検証を入れるループ」**が最も実用的だった
完全自律型エージェントはテストには通っても、暗黙の不変条件を壊すことが多い。
そこで、取り返しのつかない決定の直前で人間が介入するようにしている。
ただし、何が取り返しのつかないのかをAIに理解させるのは別の課題だ。
CLAUDE.md のような文書以外に、暗黙的なコードベースのルールを伝える体系的な方法を探している