2025年3月現在はAI agentがホットなトピックと言えるのではないでしょうか。
この記事では、AI agentの定義・戦術的/戦略的AI Agentについて考えを書いていきます。
AI agentの一つである、Cline に筆者は Contribute したりしてるので、多少なりとも知見はあります。また、複数のツールを試しています。(いくつかは、業務でも利用している)
AI agentとそれ以前の違い
2022年にChatGPTは登場しました。 何か質問したら、答えを返してくれる。 それまで、既存で存在したマルコフ連鎖を利用したTwitter botなどはみんな作っていましたが、画期的だったのは、より複雑なことを質問しても、回答してくれることでした。
そのうち何人かのソフトウェアエンジニアが、ソースコードの生成に利用し始めました。
それだけでも2025年の世界では便利ですし、助かると思っています。 (現に、Android Studio に搭載されている Gemini とかはそのレベル).
ただ単にテキストで返答を返すのではなく、その思考力を使って連鎖的な動作をさせようとする試みが始まりました。
例えば、以下の様なことが可能になっています。
LLM: OpenAI, Gemini etc...
- タスクをLLMに投げる
- LLMは特定のファイルの内容が必要なので、AI agentに読み取り要求
- AI agentはローカルのファイルを読み取って、LLMに送付
- LLM はファイルの内容を元に変更/作成したい内容をAI agentに要求
- AI agentは変更をローカルのファイルに適用する
複雑に書きましたが、使う側から見ると AI agentに変更頼んだら、ファイル読み込んだりして、いい感じにローカルのファイル変更してくれた になります。
さらに発展させるために以下の様なものが考えられるでしょう。
- AI agentが多様・高度な要求に対応できる様にする
- AI agent/LLM が特定の作業に対しては特化した LLM に作業をオフショアできる様にする
AI agent がLLMの返答を元にアクションを実行する流れ
例えば、以下の様なPromptを送付し、指定したフォーマットの内容が含まれていれば事前定義された挙動を呼び出し側が実施するといった形です。
System Prompt
あなたは、いくつかのツールを使うことができます。 ターミナルでコマンドを実行したい場合は、以下のフォーマットで返答を返してください。 <execute> <command></command> </execute> 例: <execute> <command>ls -la ./</command> </execute>
LLMの呼び出し側での処理
- Promptをパースして字句解析してテキスト・Tool callなど意味のある単位に区分する
- Tool call かつ、execute(ここでの例) の場合は、その小要素にある
commandの内容を読み取る - ユーザーのterminalにて、command に書かれているテキストを実行する
戦術的/戦略的 AI agent
さて、AI Agent自体の説明を書いたので、本題に入っていきましょう。
2025年3月現在では、最適なAI agentによりアプローチを探求している時代です。
どれでも、基本的な考え方は変わらず、「LLM に対してリクエストの送付、レスポンスに応じてアクションの実行・フィードバックを添付して再度リクエストの送付、ユーザーからの要求を満たすまで上記サイクルを実行」です。
最初に答えを書いてしまうと、AI agentの担える作業割合が多いかどうかで戦術・戦略を分けています。
AI agentの利用者側がどの様な視点で使えるかが変わってきます。
以下に、置いてあるのは Chat GPT , 戦術的 AI agent, 戦略的 AI agent の作業割合を表現した比較グラフです。

具体から見る、戦術的/戦略的 AI agentの違い
戦術的 AI agent
Cline, Cursor, Windsurf などは2025年3月時点で有力な戦術的 AI agentの一つでしょう。
基本的に Software Engineer が使うツール( Visual Studio Code )と強く紐づいており、コーディング作業に特化しています。
Jira や Notion などのチケット一個、もしくはそれよりも小さなタスク単位で依頼することが多いと思います。
指定したUIの実装・Unit tests case の追加など Single threadで小さく戦果を積み重ねてタスクを進めていきます。
戦略的 AI agent
Devin, OpenHands に代表される Multi-thread で (現状では) より広いタスクに対して適用しやすい AI agentです。
2025年3月時点では、任せるタスクの範囲が抽象的・曖昧すぎるとうまく動いてくれません。 しかし、今後の技術の発展でそこは解決されるものと思っています。
OpenHands が arXivにて公開してるように、ただの tool call だけではなく、それぞれの特化した agent を呼び出して最終的な成果物を作成しています。
一応、例として以下の様な agent が紹介されています。
CodeActAgent: プログラム実行、ファイル編集等できる BrowsingAgent: ブラウザを利用して情報収集したりできる BrowserGym を利用してるっぽい Micro Agent: 特定のタスクに特化した agent、コミュニティがこれを元に独自agent作ったりできるっぽい
戦術的/戦略的 AI agent の動員する agent の違い
自分の中での認識は以下の様な感じです。 (今後の進化も含みつつ...)
戦術的 AI agent を呼び出すと、一人のジュニアエンジニアが助けに来てくれる。依頼側でタスクの分割は呼び出し側が行う、細かなフォローアップする必要がある.
言うならば、 Tech lead の仕事っぽい
戦略的 AI agent を呼び出すと、 複数人の人が助けに来てくれる。 その人の専門外の場合は必要な人を呼んで一緒に作業してくれる。
言うならば、Engineering manager の仕事っぽい
まとめ
AI agent には、戦術的/戦略的 AI agent の2つに分けることができると思う。 どちらが絶対的に良いと言うわけではなく、使い分けが重要になってくると思う。
ところで、業務で戦術・戦略両方を使う場合にドキュメント・ルールの管理とかどうすればいいんですかね? 最近はそれに頭悩ませてます...。