Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】CodeSmithi: A Textbook Anatomy of Agents: Five Waves of Evolution

2026年10月03日に「Dev.to」が公開したITニュース「CodeSmithi: A Textbook Anatomy of Agents: Five Waves of Evolution」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

AIエージェントは「思考→行動→観察」のループが核だ。その能力はモデルだけでなく、ツールや環境とのインターフェース設計(ハーネス)で決まる。自律性には段階があり、マルチエージェントは慎重な設計が必須。競争優位はモデルから、このハーネス技術へと移行している。

ITニュース解説

AI技術の進化が加速する現代において、システム自身が状況を判断し、目的達成のために行動する「Agent」と呼ばれる仕組みが、ソフトウェア開発の新たな領域として注目されている。これは単なるプログラムの実行に留まらず、まるで人間のように思考し、行動し、その結果を観察して次の行動を計画する、より自律的なシステムを構築する試みである。この解説では、CodeSmithというAgent開発プロジェクトの思想や技術的な側面を基に、Agentの核心となる概念と、その進化の道のりをシステムエンジニアを目指す初心者にも分かりやすく説明する。

Agentの最も基本的な動作原理は、「思考(Think)→行動(Act)→観察(Observe)」という連続したループにある。まずAgentは、現在の状況を分析し、利用可能なツールや情報をもとに次にとるべき行動を「思考」する。次に、その思考に基づいて具体的なアクション(例えば、外部APIの呼び出し、データベースへのクエリ、プログラムコードの実行など)を「行動」として実行する。そして、その行動の結果、環境がどのように変化したかを「観察」し、新たな情報を自身のコンテキストに取り込む。この新しい情報をもとに、Agentは再び次の思考へと移り、目的達成までこのサイクルを繰り返すのだ。

このループ構造が非常に重要であるのは、Agentが環境からのフィードバックによって行動を動的に変更できる点にある。もしAgentが最初から最後まで一連の静的な指示しか実行できないとすれば、予期せぬ事態には対応できない。例えば、あるコードがコンパイルできるかを思考だけで判断することは難しいが、実際にコンパイルを試みれば、成功かエラーかという明確な結果が得られ、その結果に基づいて次のアクション(例えばエラー修正の試み)を計画できる。このように、環境との相互作用から得られる情報が、Agentの最終的な判断や行動の軌跡を大きく左右するのだ。CodeSmithのAgentの中核には、まさにこの「思考→行動→観察」のループが実装されている。これは、AIモデルからの応答の中からツール呼び出しの指示を抽出し、それらのツールを実行し、その結果を再びAIモデルにフィードバックするというサイクルを、AIモデルがこれ以上ツールを呼ばなくなるまで繰り返す仕組みである。もし存在しないツールが呼び出された場合でも、そのエラーがAIモデルに伝えられ、Agent自身が間違いを修正しようと試みる。このループの停止条件としては、AIモデルがツール呼び出しを停止した場合、実行ステップ数が上限に達した場合、エラーが発生した場合、あるいは外部からの介入によって中断された場合などが考えられる。

しかし、「Agent」という言葉は近年、マーケティングの文脈で広く使われすぎており、その意味が曖昧になりがちである。単一のAPIコールで完結するシステムや、あらかじめ定められた固定のワークフローしか実行できないシステムを「自律Agent」と呼ぶのは誤解を招く。本物のAgentかどうかを見分ける明確な基準は、「環境から予期せぬ結果が返ってきたときに、システムが一連の行動を柔軟に変更できるか」という点である。もし、どのような状況でも行動シーケンスが固定されているのであれば、それは単にテンプレートに情報を埋めるだけで、真のAgentが持つ自律性や適応能力は備わっていないと言える。

Agentが適切に機能するためには、その「思考」を支える情報、すなわち「コンテキスト」の管理が極めて重要になる。コンテキストは主に「ツール定義」「ツール実行結果」「推論プロセス」「メッセージ履歴」の4つの要素から構成される。ツール定義はAgentがどのような行動を実行できるかをAIモデルに伝える基盤であり、これがなければモデルは具体的な行動の選択肢を持てない。ツール実行結果は、Agentが行動した後に何が起こったかという事実をフィードバックするもので、これがないとAgentは盲目的に同じ行動を繰り返す可能性がある。推論プロセスはAgentがなぜその行動を選択したかの思考過程を記録し、メッセージ履歴は過去のやり取りを記録することで、重複する操作を避けたり、同じ間違いを繰り返さないようにしたりする役割を果たす。これらのコンテキスト要素は、それぞれ重要度が異なり、特にツール定義とツール実行結果がAgentの行動能力に直結する。コンテキストが不完全な場合、Agentは完璧に見えるが実際には役に立たない、誤った結果を生成してしまう危険性がある。

Agentの能力は、AIモデル自体の性能だけで決まるものではない。モデルと、それが操作する外部環境との「インターフェース」の設計が、Agent全体の能力を大きく左右する。このインターフェースは「ハーネス」と呼ばれ、Agentが情報をどのように受け取り、どのように解釈し、行動し、問題発生時にどう対処するかを規定する。ハーネスは、「認知インターフェース」(AIモデルが何を見て何ができるかを定義するシステムプロンプトやツール定義)、 「実行環境」(Agentが行動するファイルシステムや権限のサンドボックスなど)、 「監査と制約」(Agentの行動履歴のログ記録、リソースの予算管理、停止メカニズムなど)の3つの主要な要素で構成される。CodeSmithでは、これらの要素が複数のモジュールにわたって緻密に設計されている。

Agentの「自律性」もまた、一概に「ある」か「ない」かで判断できるものではなく、複数の段階に分けられる連続的な概念である。最も低いレベルでは、開発者が各ステップを詳細に指定し、AIモデルは単にテキストを生成するだけである。次に、AIモデルが与えられたツールの中から行動を選択するレベルがあり、現在の多くのAgentシステムはこの段階にある。さらに、環境からの予期せぬ情報に基づいてAgent自身が計画を修正できるレベル、自分でサブゴールを設定し、タスクを分解できるレベルへと自律性は高まっていく。最高レベルでは、Agentがタスク自体の価値や評価基準までも検討し、「このタスクはそもそも実行する価値があるのか」という問いを立てることができる。CodeSmithは、ツール選択能力と、計画のずれが生じた際に軌道をリセットして再計画を強制する機構を備えており、このスケールでは中間のレベルに位置すると言える。

そして、「思考→行動→観察」のループ自体も、記憶の扱い方によって多様な形態に進化している。最も基本的なReActのような「記憶なし」の反応的なループから、失敗時に自己反省を生成して外部記憶に保存し、次回に活用する「Reflexion」、成功した行動シーケンスを再利用可能なスキルとして蓄積する「Voyager」、そしてオペレーティングシステムの仮想メモリのように多層的な記憶システムを管理する「MemGPT」など、さまざまな戦略が存在する。これらの違いは、本質的にはAgentがどのように情報を記憶し、過去の経験を未来の行動に活かすかという「メモリ戦略」の差に帰結する。

複数のAgentが協調してタスクを達成する「マルチエージェントシステム」は大きな可能性を秘めているが、その導入には注意が必要である。Agent間でタスクを委譲する際には、その委譲内容を明確に契約として定義しなければ、失敗に終わる可能性が高い。この契約には、目的、ツール権限、禁止行動、リソース制限、中断条件、出力形式、責任の所在、環境変化時の再交渉メカニズムなど、少なくとも8つの項目が含まれるべきである。これらの条件が欠けると、無限のリソース消費や、目標から逸脱したサブタスクが不必要に継続されるといった問題が発生しかねない。また、単にAgentの数を増やせば協調性が高まるわけではなく、むしろある閾値を超えると調整コストが急増し、かえって効率が低下することがある。同じAIモデルから生成された複数のAgentが一致した意見を出したとしても、それはモデルの「共通の好み」を示すものであり、独立した複数の証拠とはみなせない点にも留意すべきだ。マルチエージェントシステムが真に価値を発揮するのは、タスクが明確に分解可能で、サブタスクが十分に独立しており、かつ調整メカニズムがそれらの依存関係を適切に処理できるような特定の条件下に限られる。

AIアプリケーション開発のトレンドは、過去数年間で明確な進化の軌跡を辿ってきた。当初は、AIモデルに与える自然言語の指示を最適化する「プロンプトエンジニアリング」が中心だった。しかし、次第に、AIモデルが利用できる情報を体系的に管理する「コンテキストエンジニアリング」の重要性が認識されるようになった。さらに、その範囲は「ハーネスエンジニアリング」へと拡大し、コンテキストだけでなく、ツールとのインターフェース、制約、検証、フィードバックループ、エラー回復といった、モデルを動かす周辺技術全般に焦点が当たるようになった。そして、持続的な自律運用を実現する「ループエンジニアリング」を経て、最終的にはAgentのループや人間の承認プロセスを組み込んだ、明示的な実行グラフを構築する「グラフエンジニアリング」へと進化している。これらの進化の波は、互いに独立したものではなく、内包し合う関係にある。例えば、プロンプトエンジニアリングはコンテキストエンジニアリングの一部であり、コンテキストエンジニアリングはハーネスエンジニアリングの一部という具合だ。この進化の根底には、AIモデル自体の能力がある程度収束し、モデル単体ではなく、それをいかに効率的かつ安全に運用するかという「モデル外のエンジニアリングプラクティス」が、競争優位性を生み出す主要な要因となっているという認識がある。成功するAgentシステムを構築するためのエンジニアリング原則として、シンプルであること(複雑な抽象化層を避け、直接的なAPIコールを優先する)、透明性があること(計画、ログ、意思決定の過程を可視化する)、そしてツールインターフェースが適切に設計されていること(誤用を設計段階で防ぐ「ポカヨケ」の考え方を導入する)が挙げられる。

Agentの本質である「思考→行動→観察」のループ、コンテキストの各要素がAgentの能力に与える影響、モデルとインターフェースの共同作業としてのAgentの能力、自律性の多段階性、マルチエージェント導入の際の注意点、そしてAI開発の焦点がモデルから周辺のエンジニアリングへと移行しているという大きな潮流を理解することは、これからのシステムエンジニアにとって、自律的なシステムを設計・構築するための羅針盤となるだろう。

関連コンテンツ

関連IT用語