claude-agent-sdk 和 claude cli (claude code) 之间是什么关系

0 阅读2分钟

claude-agent-sdk 和 Claude CLI(通常指 Claude Code)的关系,是  “引擎”与“驱动程序”  的关系:

  • Claude Code CLI 是引擎:它本身是一个强大的、能理解代码、运行命令、调用工具的命令行工具
  • claude-agent-sdk 是驱动程序:它本质上是一个编程接口,让你能在代码里调用并控制 CLI 这个“引擎”

🤖 核心关系:SDK 是 CLI 的编程接口包装

claude-agent-sdk 并非一个独立工具,而是建立在 Claude Code 之上的编程接口。它的所有核心功能——比如理解上下文、执行工具、协调多智能体等——都由底层的 Claude Code 来提供。当你在代码中使用 SDK 时,实际工作流程是

  • 启动引擎:SDK 在后台启动一个 Claude Code 进程。
  • 通过“管道”通信:通过内部通信机制(IPC)向 CLI 发送指令。
  • 执行并返回结果Claude Code 执行任务后,将结果通过 IPC 返回给 SDK,最终交付给你的应用。

📊 关键对比:SDK vs CLI

为了方便你选择,这里将它们的特性总结如下:

特性Claude Agent SDKClaude Code CLI
用户类型开发者,用于构建和集成应用开发者,用于直接在终端完成任务
交互方式编程调用,在代码中集成,融入应用逻辑命令行交互,在终端手动输入命令
典型场景自动化工作流、构建AI应用、复杂系统集成日常编码辅助、代码审查、项目探索、终端自动化
灵活性,可深度定制工具和钩子,与业务逻辑紧密集成中等,主要通过命令行参数配置
主要优势可编程性强,便于构建复杂、自动化的上层应用上手快,操作直观,适合即兴开发和探索
部署方式作为代码库的一部分,与应用一起部署作为独立工具在系统中安装

💡 如何选择?

  • 想将 AI 能力深度集成到自己的应用里,例如构建一个自动化代码审查机器人,那么 claude-agent-sdk 是你的最佳选择。它能提供程序化控制和高度的灵活性。
  • 想在终端里直接获得 AI 编程助手的帮助,快速完成一些代码编写、调试或文件操作,那么直接使用 Claude Code CLI 会更简单高效

参考资料:

Claude Agent SDK 深度剖析:依赖、权衡与架构选择