cagent - YAMLでつくるAIエージェント
cagentとは
Section titled “cagentとは”- Docker社が開発しているAIエージェント開発のフレームワーク
- YAMLを使用し、AIエージェントの振る舞いや役割等を宣言的に記述できる
- 2025年の春頃に開発が開始した模様
- cagent = Container Agentなのかは不明
- GitHubリポジトリ: https://github.com/docker/cagent
- Docker Desktopの4.49.0以降が必要
- Homebrew等から独立して
cagentをインストールすることも可能
- Homebrew等から独立して
cagentコマンドのパスを通す
# cagentがインストールされていることを確認$ /Applications/Docker.app/Contents/Resources/bin/cagent versioncagent version v1.19.0Commit: 7005dc1a5ab968929440d4098a716897d8003eba
# パスを通す$ echo 'export PATH="/Applications/Docker.app/Contents/Resources/bin:$PATH"' >> ~/.zshrc
# .zshrcの設定を再読み込みして反映$ source ~/.zshrc
# 想定したパスを参照していることを確認$ which cagent/Applications/Docker.app/Contents/Resources/bin/cagent
# パスを明示しなくても使えるようになった$ cagent versioncagent version v1.19.0Commit: 7005dc1a5ab968929440d4098a716897d8003eba- APIキーの設定
- 今回はClaudeを使用するが、OpenAI等の他のプロバイダも選択可能
$ export ANTHROPIC_API_KEY=<your-anthropic-api-key>AIエージェントの設定
Section titled “AIエージェントの設定”agent.yaml- MCPサーバのDuckDuckGoで検索
- 検索内容を要約し、組み込みツールの
filesystemでファイルの書き込み - を行うシンプルなAIエージェントを動かしてみる
agents: root: model: anthropic/claude-sonnet-4-5 description: "search and write agent" instruction: | あなたは調査と作業を行うAIエージェントです。
手順: 1) 必要に応じて検索ツールで調べる 2) 得た情報を整理する 3) filesystem を使って結果をファイルに保存する toolsets: - type: filesystem - type: mcp ref: docker:duckduckgoMCPサーバの追加
Section titled “MCPサーバの追加”- 「Browse MCP servers」を押下
- 今回は「DuckDuckGo」を追加
AIエージェントの実行
Section titled “AIエージェントの実行”$ cagent run agent.yaml- TUIが立ち上がる
- ツールを使用するときはモーダルが出る
- カレントディレクトリにマークダウンファイルが生成された
その他の機能
Section titled “その他の機能”- サブエージェントを複数生成し、1つのエージェントチームとして扱う機能
- Dockerイメージとして固めてDocker Hubに公開・共有できる機能
- プログラマブルで高度なAIエージェントを作るためのものではない
- 設定ファイルで宣言的に定義できるというの点が面白い
- Docker DesktopからMCPサーバをインストールできたり、Dockerイメージとして共有できる機能はDocker社ならではの機能、といった感じで面白い
- 一方、単純なロジックであればプログラムをAIに組んでもらったり、既存のAIエージェントで実現可能なため、cagentをどのように活用できるか、という点で疑問が残る