大龙虾 + Claude Code:通过 ACP 实现“委托式协作”的最佳实践

在大模型技术落地的过程中,单一智能体往往难以应对复杂、长链路或需要特定领域专精的任务。“让专业的 Agent 做专业的事”,并通过一个主编排者(Orchestrator)进行统一调度,已成为构建高效 AI 应用的关键架构模式。

本文将介绍如何利用我们的大模型智能体平台——“大龙虾”,通过 ACP (Agent Communication Protocol) 协议,将外部强大的代码智能体 Claude Code 作为“可协作的工具能力”接入,实现委托式协作。

为什么选择 Claude Code?

在深入架构之前,我们先看看为何 Claude Code 值得被集成进我们的工作流:

  1. 深度代码理解与生成:Claude Code 是 Anthropic出品的编程智能体(不限于编程场景),具备极强的代码上下文理解能力,能够处理大型代码库的重构、调试和新功能开发。
  2. 自主终端交互能力:它不仅能写代码,还能安全地执行终端命令、运行测试、查看文件结构,形成“思考-行动-观察”的闭环。
  3. 自然语言驱动的工程管理:开发者只需用自然语言描述需求,Claude Code 即可自动规划步骤、创建文件、安装依赖并验证结果,极大降低了工程落地门槛。

然而,直接将 Claude Code 嵌入所有业务场景并不现实。大龙虾作为企业级的 AI 编排中枢,其核心价值在于“连接”与“治理”。通过 ACP 协议,我们可以将 Claude Code 的能力“插件化”,按需调用。

核心架构:大龙虾作为 ACP Client / Orchestrator

在这种模式下,大龙虾不再仅仅是一个对话机器人,而是升级为 ACP Client(客户端)Orchestrator(编排者)

1. 角色定义

  • 大龙虾 (Orchestrator):负责主会话的管理、用户意图的理解、任务拆解,以及决定何时、如何调用外部 Agent。它持有会话的“主权”。
  • 外部 ACP Runner (Delegate):如 claude_codeopencodeqwen_code 等。它们是已配置并启用的独立进程,遵循 ACP 协议,接受大龙虾的委托,执行具体子任务。

2. 协作流程

大龙虾与外部 Agent 的交互并非随意的聊天,而是严格的委托式协作生命周期

  1. 启动会话 (Start):大龙虾根据任务需求,初始化一个指向特定 Runner(如 Claude Code)的 ACP 会话。
  2. 发送指令 (Send):大龙虾将拆解后的子任务(例如:“请为这个项目编写一个 ACP 协议的简介文档”)发送给 Claude Code。
  3. 权限响应 (Handle Permissions):如果 Claude Code 在执行过程中需要读取敏感文件或执行高风险命令,它会向大龙虾发起权限请求。大龙虾可根据预设策略自动批准或转交用户确认。
  4. 接收结果 (Receive):Claude Code 完成任务后,将结果返回给大龙虾。
  5. 关闭会话 (Close):任务结束后,大龙虾主动关闭该委托会话,释放资源。

关键概念:大龙虾不是“直接和任意外部 Agent 交互”,而是通过 ACP 配置中已注册的 Runner 进行标准化通信。这确保了安全性、可追溯性和兼容性。

实战案例1:调用claude_code,并告诉我你是谁?
问题

Claude Code回复

Claude Code 的自我介绍
你好!我是 Claude,由 Anthropic 开发的 AI 助手,基于 Claude 模型构建。我是一个交互式的软件工程助手,专门帮助你完成各种编程和开发任务。

实战案例2:调用 Claude Code 撰写 ACP 介绍

ACP方式

假设用户希望大龙虾调用 claude_code 智能体,帮忙撰写一段关于 ACP (Agent Communication Protocol) 的专业介绍文字。

如图的问题通过ACP调用了一个Claude Code。


成功调用claude code

CLI方式

除了ACP协议,另外一种执行命令行的方式与可以调用Claude Code:
在龙虾中发送自然语言指令,会执行如下的命令行echo 请用中文写一段关于ACP的介绍文字,专业清晰,适合技术文档。 | claude --print 2>&1

claude code输出内容

或者这个命令
claude_code -p \"请用中文写一段关于 ACP (Agent Communication Protocol) 的介绍文字,专业清晰,适合技术文档,200字左右。\" 2>&1

最终产出

尽管经历了技术波折,Claude Code 依然高质量地完成了任务。以下是它生成的 ACP 介绍内容(经大龙虾整理后输出给用户):


ACP (Agent Communication Protocol) 简介

定义与目的

ACP(Agent Communication Protocol)是一种标准化的通信协议,专为自主智能代理之间的交互和协作而设计。它定义了代理之间消息交换的格式、语义和交互模式,使不同架构、不同开发商构建的代理能够无缝通信。ACP 的核心目的是解决异构代理系统间的互操作性问题,促进多代理系统的协同工作。

核心特性

  1. 标准化消息格式:采用结构化的消息表示,包含发送者、接收者、消息类型、内容和时间戳等元数据,确保消息的可解析性和可追溯性。
  2. 丰富的交互模式:支持请求-响应、订阅-发布、广播和点对点等多种通信模式,适应不同的协作场景需求。
  3. 语义互操作性:基于共享的本体和语义框架,确保不同代理对消息含义的一致理解,减少歧义。
  4. 安全与信任机制:内置身份认证、消息加密和访问控制,保护通信安全并建立代理间的信任关系。
  5. 可扩展性:协议设计支持扩展,允许添加新的消息类型和交互模式,而无需破坏现有实现。

应用场景

  • 多代理协作系统:在分布式人工智能系统中,多个专业代理通过 ACP 协同完成复杂任务,如供应链优化、智能交通调度等。
  • 智能对话系统:不同能力的对话代理通过协议协作,为用户提供综合服务,如客服机器人协调知识库、订单系统等后端服务。
  • 物联网与边缘计算:边缘设备代理与云端代理通过 ACP 进行协调,实现智能家居、工业自动化等场景的智能决策。
  • 去中心化应用:在区块链和分布式网络中,ACP 支持节点代理间的自主协商和交易执行。

总结与展望

通过本次实践,我们验证了 “大龙虾 + ACP + 外部 Agent” 模式的可行性与价值:

  1. 能力解耦:大龙虾专注于编排与交互,Claude Code 专注于代码与工程执行,各司其职。
  2. 生态兼容:基于 ACP 协议,未来我们可以轻松接入 opencodeqwen_codecodex 等更多优秀 Agent,无需重写核心逻辑。
  3. 问题暴露与改进:发现的 Windows 兼容性问题提醒我们,在推进跨平台 Agent 协作时,需加强对底层进程管理的测试与适配。

通过这种委托式协作架构,大龙虾正从一个单一的对话助手,进化为一个能够调动全域 AI 资源的超级智能体编排平台

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容