ACPçµ±å
Agent Client Protocol (ACP) ã䜿çšããŠãcagentãšãŒãžã§ã³ãããšãã£ã¿å ã§çŽæ¥å®è¡ããŸãããšãŒãžã§ã³ãã¯ãšãã£ã¿ã®ãã¡ã€ã«ã·ã¹ãã ã®ã³ã³ããã¹ãã«ã¢ã¯ã»ã¹ã§ããããã«ãªããäœæ¥äžã«ãã¡ã€ã«ãèªã¿åã£ããä¿®æ£ãããã§ããŸãããã¡ã€ã«æäœã¯ãšãã£ã¿ãæ åœããcagentã¯AIæ©èœãæäŸããŸãã
ãã®ã¬ã€ãã§ã¯ãcagentãšãŒãžã§ã³ããå®è¡ããããã« Neovim ãŸã㯠Zed ãèšå®ããæ¹æ³ã説æããŸããcagentãšãŒãžã§ã³ããããŒã«ãšã㊠Claude Desktop ã Claude Code ãªã©ã® MCP ã¯ã©ã€ã¢ã³ãã«å ¬éãããå Žåã¯ã代ããã« MCPçµ±å ãåç §ããŠãã ããã
ä»çµã¿
ACP ã䜿çšã㊠cagent ãå®è¡ãããšããšãŒãžã§ã³ãã¯ãšãã£ã¿ç°å¢ã®äžéšã«ãªããŸããã³ãŒããéžæãããã颿°ããã€ã©ã€ããããããã¡ã€ã«ãåç §ããããããšããšãŒãžã§ã³ãã¯ããªããä»èŠãŠãããã®ãšåããã®ãèªèããŸãããã¡ã€ã«ãã¹ãã³ããŒããããã¿ãŒããã«ã«åãæ¿ãããããå¿ èŠã¯ãããŸããã
ããã®é¢æ°ã説æããŠããšé Œãã°ããšãŒãžã§ã³ãã¯è¡šç€ºäžã®ãã¡ã€ã«ãèªã¿åããŸããããšã©ãŒãã³ããªã³ã°ã远å ããŠããšé Œãã°ããšãã£ã¿å ã§çŽæ¥ã³ãŒããç·šéããŸãããšãŒãžã§ã³ãã¯ããšãŒãžã§ã³ãèªèº«ãããã²ãŒãããªããã°ãªããªãå€éšã®ãã¡ã€ã«ã·ã¹ãã ã§ã¯ãªããããªãã®ãšãã£ã¿ãæããŠãããããžã§ã¯ãã®ãã¥ãŒïŒèŠç¹ïŒã«åºã¥ããŠäœæ¥ããŸãã
ã¿ãŒããã«ã§ cagent ãå®è¡ããå Žåãšã®éãã¯ããã¡ã€ã«æäœããšãŒãžã§ã³ãã«ãããã¡ã€ã«ã·ã¹ãã ãžã®çŽæ¥ã¢ã¯ã»ã¹ã§ã¯ãªãããšãã£ã¿ãçµç±ããŠè¡ãããç¹ã«ãããŸãããšãŒãžã§ã³ãããã¡ã€ã«ãèªã¿æžãããå¿ èŠãããå Žåããšãã£ã¿ã«å¯ŸããŠãªã¯ãšã¹ããéä¿¡ããŸããããã«ããããšãŒãžã§ã³ããèŠãŠããã³ãŒãã®ç¶æ ããããªããèŠãŠãããã®ïŒåãäœæ¥ãã£ã¬ã¯ããªãåããã¡ã€ã«ãåãç¶æ ïŒãšåžžã«åæãããŸãã
åææ¡ä»¶
ãšãã£ã¿ãèšå®ããåã«ã以äžãå¿ èŠã§ãïŒ
- cagentãã€ã³ã¹ããŒã«ãããŠããããš - ã€ã³ã¹ããŒã«ã¬ã€ã ãåç §
- ãšãŒãžã§ã³ãã®èšå® - ãšãŒãžã§ã³ããå®çŸ©ãã YAML ãã¡ã€ã«ããã¥ãŒããªã¢ã« ãŸã㯠èšå®äŸÂ ãåç §
- ACPããµããŒããããšãã£ã¿ - NeovimãIntelliJãZed ãªã©
ãšãŒãžã§ã³ãã¯ãã·ã§ã«ç°å¢ã®ã¢ãã«ãããã€ããŒAPIããŒïŒANTHROPIC_API_KEYãOPENAI_API_KEY ãªã©ïŒã䜿çšããŸãããšãã£ã¿ãèµ·åããåã«ãããããèšå®ãããŠããããšã確èªããŠãã ããã
ãšãã£ã¿ã®èšå®
Zed
Zed ã«ã¯ ACP ãµããŒããçµã¿èŸŒãŸããŠããŸãã
-
settings.jsonã®agent_serversã« cagent ã远å ããŸãïŒ{ "agent_servers": { "my-cagent-team": { "command": "cagent", "args": ["acp", "agent.yml"] } } }眮ãæããç®æïŒ
my-cagent-team: ãšãŒãžã§ã³ãã«äœ¿çšãããååagent.yml: ãšãŒãžã§ã³ãèšå®ãã¡ã€ã«ãžã®ãã¹å¥ã ã«å®è¡ãããè€æ°ã®ãšãŒãžã§ã³ããã¡ã€ã«ãããå Žåã¯ã
agent_serversã®äžã«åãšãŒãžã§ã³ãã®ãšã³ããªãè€æ°äœæã§ããŸãã -
æ°ãããå€éšãšãŒãžã§ã³ãã¹ã¬ããïŒexternal agent threadïŒããéå§ããŸããããããããŠã³ãªã¹ããããšãŒãžã§ã³ããéžæããŠãã ããã

Neovim
ãã«ãã€ã³ã¢ããã¿ãŒãä»ã㊠cagent ããã€ãã£ãã«ãµããŒãããŠãã CodeCompanion ãã©ã°ã€ã³ã䜿çšããŸãïŒ
-
ãã©ã°ã€ã³ãããŒãžã£ãŒã䜿çšã㊠[CodeCompanion ãã€ã³ã¹ããŒã«]https://codecompanion.olimorris.dev/installation ) ããŸãã
-
CodeCompanion ã®èšå®ã§
cagentã¢ããã¿ãŒãæ¡åŒµããŸãïŒrequire("codecompanion").setup({ adapters = { acp = { cagent = function() return require("codecompanion.adapters").extend("cagent", { commands = { default = { "cagent", "acp", "agent.yml", }, }, }) end, }, }, })agent.ymlããšãŒãžã§ã³ãèšå®ãã¡ã€ã«ãžã®ãã¹ã«çœ®ãæããŠãã ãããå¥ã ã«å®è¡ãããè€æ°ã®ãšãŒãžã§ã³ããã¡ã€ã«ãããå Žåã¯ãåãšãŒãžã§ã³ãã«å¯ŸããŠè€æ°ã®ã³ãã³ããäœæã§ããŸãã -
Neovim ãåèµ·åããCodeCompanion ãèµ·åããŸãïŒ
:CodeCompanion -
cagent ã¢ããã¿ãŒã«åãæ¿ããŸãïŒããã©ã«ãã§ã¯ CodeCompanion ãããã¡å ã§ããŒããã
gaïŒ
CodeCompanion ã«ããã ACP ãµããŒãã®è©³çްã¯ãCodeCompanion ACP ããã¥ã¡ã³ã ãåç
§ããŠãã ããããªããã¿ãŒããã«æäœã¯ãµããŒããããŠããªããããshell ã script_shell ãšãã£ã ããŒã«ã»ãã 㯠CodeCompanion çµç±ã§ã¯äœ¿çšã§ããŸããã
ãšãŒãžã§ã³ãã®åç §
ãšãŒãžã§ã³ãã®èšå®ã¯ãããŒã«ã«ãã¡ã€ã«ã®ãã¹ããŸã㯠OCI ã¬ãžã¹ããªã®ãªãã¡ã¬ã³ã¹ãšããŠæå®ã§ããŸãïŒ
# ããŒã«ã«ãã¡ã€ã«ã®ãã¹
$ cagent acp ./agent.yml
# OCI ã¬ãžã¹ããªã®ãªãã¡ã¬ã³ã¹
$cagent acp agentcatalog/pirate$ cagent acp dockereng/myagent:v1.0.0ãšãã£ã¿ã®èšå®ã§ãåãæ§æã䜿çšããŠãã ããïŒ
{
"agent_servers": {
"myagent": {
"command": "cagent",
"args": ["acp", "agentcatalog/pirate"]
}
}
}ã¬ãžã¹ããªã®ãªãã¡ã¬ã³ã¹ã䜿çšãããšãããŒã«ã«ã®ãã¡ã€ã«ãã¹ãæèããããšãªããããŒã ã§ã®å ±æãããŒãžã§ã³ç®¡çãã¯ãªãŒã³ãªèšå®ãå¯èœã«ãªããŸããOCI ã¬ãžã¹ããªã®äœ¿çšã«é¢ãã詳现ã¯ããšãŒãžã§ã³ãã®å ±æ ãåç §ããŠãã ããã
èšå®ã®ãã¹ã
èšå®ãæ©èœããŠããã確èªããŸãïŒ
-
ãšãã£ã¿ã®èšå®ã«æ²¿ã£ãæ¹æ³ã§ãcagent ACP ãµãŒããŒãéå§ããŸã
-
ãšãã£ã¿ã®ã€ã³ã¿ãŒãã§ãŒã¹ãããã¹ãããã³ãããéä¿¡ããŸã
-
ãšãŒãžã§ã³ããå¿çããããšã確èªããŸã
-
ãšãŒãžã§ã³ãã«ãã¡ã€ã«ãèªã¿åãããäŸé Œãããã¡ã€ã«ã·ã¹ãã æäœãæ©èœããããšã確èªããŸã
ãšãŒãžã§ã³ãã¯èµ·åããããã¡ã€ã«ã«ã¢ã¯ã»ã¹ã§ããªãããŸãã¯ä»ã®ã¢ã¯ã·ã§ã³ãå®è¡ã§ããªãå Žåã¯ã以äžã確èªããŠãã ããïŒ
-
ãšãã£ã¿ã®äœæ¥ãã£ã¬ã¯ããªããããžã§ã¯ãã«ãŒãã«æ£ããèšå®ãããŠããã
-
ãšãŒãžã§ã³ãèšå®ãã¡ã€ã«ã®ãã¹ã絶察ãã¹ã§ãããããŸãã¯äœæ¥ãã£ã¬ã¯ããªããã®çžå¯Ÿãã¹ã§ããã
-
ãšãã£ã¿ãŸãã¯ãã©ã°ã€ã³ã ACP ãããã³ã«ã®æ©èœãé©åã«å®è£ ããŠããã
次ã®ã¹ããã
-
é«åºŠãªãšãŒãžã§ã³ãèšå®ã«ã€ããŠã¯ èšå®ãªãã¡ã¬ã³ã¹ ã確èªãã
-
ã©ã®ãããªããŒã«ãå©çšå¯èœã ããŒã«ã»ãããªãã¡ã¬ã³ã¹ ãæ¢çŽ¢ãã
-
ãšãŒãžã§ã³ãã« ã³ãŒãããŒã¹æ€çŽ¢ã®ããã® RAG ã远å ãã
-
ãã¹ãŠã® cagent acp ãªãã·ã§ã³ã«ã€ããŠã¯ CLIãªãã¡ã¬ã³ã¹ ã確èªãã
-
ã€ã³ã¹ãã¬ãŒã·ã§ã³ãåŸãããã« èšå®äŸÂ ãåç §ãã