超越代码:用Claude Agent SDK构建你的首个非编码AI工作流

你是否曾想过,那个驱动着顶级编码工具Claude Code的强大引擎,除了写代码,还能做些什么?

作为一个长期探索AI自动化边界的开发者,我一直在寻找更轻量、更直接的智能体构建方案。当主流框架如CrewAI和LangChain在复杂性中不断膨胀时,我决定将目光投向一个意想不到的工具:Claude Agent SDK。我的想法很简单:如果它能赋予AI卓越的编码能力,那么将其核心原理——工具使用、子代理协作和外部连接——应用于非编码工作流,是否会开辟一条更高效的路径?

为了验证这个想法,我构建了一个简单却功能完整的示例:一个能自动搜寻最新AI新闻并将其翻译成韩语的智能体。结果不仅成功了,更揭示了一个被许多人忽视的事实:构建复杂的自动化工作流,未必需要从零开始的复杂框架。

一个贯穿始终的实例:新闻研究自动化工作流

让我们从一个具体的目标开始,看看如何将想法变为现实。假设你需要完成以下任务:

  1. 研究菲律宾关于防洪工程和公共工程与公路部(DPWH)的最新新闻。
  2. 将结果整理成带来源URL的Markdown报告。
  3. 将报告翻译成韩语。
  4. 从中提取关键亮点。
  5. 生成一个展示这些新闻的HTML网页。
  6. 基于内容创建LinkedIn和Twitter帖子。

传统方法可能需要串联多个API、编写大量脚本并手动整理数据。而利用Claude Agent SDK,我们只需定义好“角色”和“目标”,一个智能体系统便能自主完成这一切。

以下是驱动这个完整工作流的核心脚本。我将通过它来逐一拆解背后的关键概念。

import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions, AgentDefinition
from claude_agent_sdk.types import McpHttpServerConfig
import os

async def main():
    # 1. 连接外部数据源
    firecrawl_api_key = os.environ['FIRECRAWL_API_KEY']
    firecrawl_mcp = McpHttpServerConfig(
        type="http",
        url="https://mcp.firecrawl.dev/v2/mcp",
        headers={"Authorization": f"Bearer {firecrawl_api_key}"}
    )

    # 2. 定义四个专业子代理
    translator_agent = AgentDefinition(
        description="Translate the content from any language to any other language.",
        prompt="You are an expert language translator.",
        tools=["Read", "Edit", "Bash", "Grep"]
    )

    highlights_extractor_agent = AgentDefinition(
        description="Extract key highlights from researched news and create a markdown file with the highlights.",
        prompt="You are an expert at extracting and summarizing key highlights from news articles...",
        tools=["Read", "Write", "Edit"]
    )

    website_developer_agent = AgentDefinition(
        description="Create and develop webpages with HTML, CSS, and JavaScript.",
        prompt="You are an expert web developer. Create modern, responsive, and well-structured webpages...",
        tools=["Read", "Write", "Edit"]
    )

    social_media_creator_agent = AgentDefinition(
        description="Create engaging LinkedIn and Twitter posts from news content.",
        prompt="You are an expert social media content creator...",
        tools=["Read", "Write", "Edit"],
    )

    # 3. 配置主智能体选项
    options = ClaudeAgentOptions(
        model="glm-4.6", # 也可无缝切换为Claude Sonnet或Haiku模型
        system_prompt="You are an expert news researcher.",
        permission_mode='bypassPermissions',
        cwd="/output/path", # 指定工作目录,所有文件将生成于此
        mcp_servers={"firecrawl_mcp": firecrawl_mcp}, # 注入数据源
        agents={ # 注入子代理团队
            "translator-agent": translator_agent,
            "highlights-extractor-agent": highlights_extractor_agent,
            "website-developer-agent": website_developer_agent,
            "social-media-creator-agent": social_media_creator_agent
        }
    )

    # 4. 下达综合指令
    async for message in query(
        prompt="What are the latest news topics in the philippines about flood control projects and dpwh. "
               "Write the results to a markdown file. Add urls as references as sources in the markdown file. "
               "Also write a translation of the news to Korean using the translator-agent. "
               "Write the translation to a separate markdown file. "
               "Extract highlights and write to a separate markdown file. "
               "Then use the website-developer-agent to create an HTML webpage displaying the AI news "
               "with proper styling and save it to a file. "
               "Finally, use the social-media-creator-agent to create LinkedIn and Twitter posts "
               "based on the AI news and save them to a markdown file.",
        options=options
    ):
        print(message) # 实时查看智能体执行日志

asyncio.run(main())

执行这个脚本后,系统会在指定的工作目录中自动生成一系列文件,例如:

  • news_summary.md(原始新闻摘要与引用)
  • news_korean.md(韩语翻译版)
  • highlights.md(核心亮点提炼)
  • news_display.html(一个格式美观的网页)
  • social_posts.md(包含平台适配文案的社交媒体帖子)
工作流输出示例:生成的推特帖子与网页

概念解析:拆解工作流的四大支柱

这个看似复杂的工作流,实际上建立在四个清晰的核心概念之上。理解它们,你就掌握了用Claude Agent SDK进行编排的精髓。

支柱一:MCP服务器 —— 智能体的“感官”与“双手”

MCP(Model Context Protocol)服务器是智能体与真实世界交互的桥梁。它不是Claude Agent SDK独有的概念,但SDK对其的原生支持使其变得异常简单。

  • 它是什么? 一个标准化的外部能力服务器,可以看作是智能体的插件。通过MCP,智能体获得了“看”(读取网络数据)、“听”(连接数据库)、“操作”(调用API)的能力。
  • 在本例中的作用: 我们通过McpHttpServerConfig配置连接了Firecrawl MCP服务。这相当于赋予主智能体一个“网络爬虫”工具,使其能根据指令(“查找菲律宾防洪新闻”)自主访问互联网,采集实时信息,而不仅仅是基于训练数据进行推理。
  • 关键能力指标: 通过MCP,智能体可以突破提示词的静态信息局限,执行动态数据检索实时信息汇总结构化文件写入。这标志着AI从“聊天者”向“执行者”的转变。

支柱二:子代理系统 —— 模块化的“专家团队”

这是实现复杂工作流分工协作的关键。你不再需要训练一个“全能”的AI,而是组建一个各司其职的专家团队。

  • 它是什么? AgentDefinition对象。每个子代理都是一个功能模块,拥有明确的职责描述(description)、角色指令(prompt)和工具权限(tools)。
  • 在本例中的分工:

    1. 翻译代理:专精语言转换,工具集包含Read(读文件)、Edit(编辑)、Bash(执行命令)、Grep(搜索文本),以处理各种格式的文本。
    2. 亮点提取代理:专精信息提炼,使用ReadWriteEdit工具从文本中定位并总结核心观点。
    3. 网页开发代理:专精前端构建,根据内容生成结构化的HTML、CSS和JavaScript代码文件。
    4. 社交媒体创作代理:专精文案撰写,理解不同平台(LinkedIn/Twitter)的格式与风格要求,生成适配的帖子内容。
  • 工作模式: 主智能体(新闻研究员)像项目经理,接收总指令后,自主判断并调用 translator-agentwebsite-developer-agent等子代理完成任务。这是一种动态的任务委派,而非硬编码的固定流程。

支柱三:原生工具集 —— 开箱即用的基础能力

子代理的能力通过工具(Tools)具象化。Claude Agent SDK提供了一套即取即用的原生工具,这是构建工作流的基石。

  • 核心工具清单与功能:

    • Read:读取指定路径文件的内容。
    • Write/Edit:创建或修改文件。这是生成ai_news_en.mdai_news_ko.md等成果文件的基础操作。
    • Bash:在安全环境中执行Shell命令,用于文件管理、流程控制等。
    • Grep:在文件中搜索特定模式,常用于数据筛选和提取。
  • 性能体现: 工具调用不是模拟,而是真实的、具有读写权限的系统级操作。智能体通过组合这些基础工具(如先Read新闻草稿,再Edit翻译内容,最后Write新文件),完成复杂任务。

支柱四:技能与模型 —— 智能的“大脑”配置

这是驱动整个系统的智能核心,配置灵活且强大。

  • 模型选择: 示例中使用了model="glm-4.6",但SDK设计上完全兼容Claude系列模型(如Sonnet, Haiku)。你可以根据任务对速度、成本、智能度的要求进行切换,无需更改工作流逻辑。
  • 系统提示词(System Prompt): system_prompt="You are an expert news researcher." 这为主智能体设定了顶层身份和思维范式,使其行为始终聚焦于研究、核实与整理,而非天马行空的创造。
  • 权限模式: permission_mode='bypassPermissions' 是一个关键配置,它允许智能体在定义的cwd(工作目录)内直接执行文件读写和命令操作,是实现自动化产出的必要设置。

为什么这很重要?重新审视AI工作流构建的范式

在体验了上述工作流之后,我们有必要退一步思考:相比从零开始构建或使用其他大型框架,采用Claude Agent SDK的方案到底带来了什么不同?

1. 生态原生性带来的简洁与稳健
Claude Agent SDK提供的工具、MCP支持、技能和子代理机制,是Claude AI生态系统的原生组成部分。这意味着:

  • 无需胶水代码:你不需要额外编写大量代码来让框架理解Claude模型,或处理复杂的通信协议。
  • 深度优化:组件之间的协同经过了优化,减少了在通用框架中常见的兼容性问题和性能损耗。
  • 统一心智模型:整个工作流建立在同一套AI模型和交互逻辑上,降低了设计和调试的认知负担。

2. 从“聊天机器人”到“数字员工”的实质跨越
传统AI应用大多停留在问答和内容生成。通过整合MCP(实时数据输入)和工具(文件系统输出),我们构建的系统实现了:

  • 端到端的闭环:从“获取最新信息”的指令开始,到最终生成可发布的网页和社交媒体文案文件结束,全程无需人工介入。
  • 结果可交付:产出不是对话气泡中的文本,而是硬盘上实实在在的、格式规整的Markdown、HTML文件,可直接用于后续流程或发布。

3. 为开发者与研究者提供的高效原型验证工具
如果你有一个自动化流程的想法,使用这个SDK可以:

  • 在数小时内完成概念验证(POC):如上例所示,定义几个代理和连接一个MCP,就能跑通一个多步骤流程。
  • 灵活调整与迭代:修改某个子代理的提示词或工具,就能快速改变其行为,无需重构整个系统架构。

如何开始构建你的第一个非编码工作流:四步法

基于以上理解,你可以遵循一个清晰的路径来实施自己的项目。

第一步:明确目标与分解任务
问自己:我想自动化什么?以内容创作工作流为例,任务可能被分解为:1)网络调研, 2)大纲起草, 3)内容撰写, 4)多平台格式适配。

第二步:配置环境与连接资源

  1. 安装claude_agent_sdk
  2. 确定所需的外部数据源,并寻找或创建对应的MCP服务器(如用于财务数据的MCP、用于内部CRM的MCP)。
  3. 在代码中通过McpHttpServerConfig进行连接。

第三步:定义你的专家团队
为第一步分解出的每个任务创建一个AgentDefinition

  • 研究员代理:擅长搜索、总结、引用。
  • 撰稿人代理:擅长根据风格指南写作。
  • 排版代理:擅长生成Word、PDF或网页格式。
    为每个代理分配合适的工具(Read, Write, Edit, Bash等)。

第四步:编排与执行
创建主ClaudeAgentOptions,注入所有MCP服务器和子代理。编写一个综合的prompt,清晰描述最终目标和工作流程。运行脚本,观察智能体团队的协作,并根据输出结果迭代优化各代理的descriptionprompt

常见问题解答(FAQ)

Q: Claude Agent SDK 与 LangChain/CrewAI 等框架是直接竞争关系吗?
A: 并非简单的竞争。LangChain和CrewAI是功能强大的通用型AI智能体框架,提供极高的灵活性和自定义能力,适合构建极其复杂、定制化程度高的系统。Claude Agent SDK更像是一个“轻量化、生态原生”的解决方案。它提供了构建智能工作流所需的核心模式(工具、子代理、MCP),但更专注于与Claude模型深度集成,让开发者在Claude生态内能以更低成本、更高效率实现自动化流程。如果你的工作流核心是Claude模型,且追求快速开发和部署,SDK可能是更优选择。

Q: 我需要很强的编程能力才能使用吗?
A: 基础使用对编程能力的要求是中等偏下的。你能理解Python语法、会配置API密钥和环境变量,并能够按照示例的结构化方式定义代理和选项,就足以构建出强大的工作流。它的复杂性不在于编码,而在于如何清晰地定义任务、角色和流程

Q: MCP服务器是必须的吗?我能只用本地工具吗?
A: MCP不是必须的。如果你工作流的所有数据都来自本地文件,所有操作都限于文件读写和简单命令,那么你可以只使用SDK原生的ReadWriteBash等工具。MCP的价值在于连接外部动态数据和服务(如实时网页、数据库、第三方API),从而极大扩展工作流的应用边界。

Q: 这个SDK只能用于内容生成类工作流吗?
A: 绝对不是。新闻研究和内容创作只是一个易于理解的例子。其应用场景取决于你连接的MCP和定义的代理。例如,你可以连接数据库MCP和数据分析代理来创建自动报告系统;连接内部系统API的MCP和操作代理来构建IT自动化运维流程;连接设计工具API和审核代理来实现营销素材的批量生成与初筛。核心模式是通用的。


结论:在正确的抽象层级上解决问题

构建AI工作流时,我们常常面临一个选择:是使用功能全面但略显沉重的通用框架,还是寻找更贴合特定需求的敏捷工具?Claude Agent SDK的这次探索表明,有时答案就藏在已有的工具生态中。

它没有引入全新的概念,而是将Claude Code中久经考验的智能体能力——工具使用、上下文协议(MCP)和子代理协作——抽象出来,提供了一个干净、直接的API。这使得开发者能够避开框架学习的漫长斜坡,直接在这些坚实的基石上,快速组合出能解决实际问题的自动化流水线。

这或许揭示了一个更普适的原则:最高效的解决方案,往往不是功能最多的那个,而是在恰当的抽象层级上,为你提供恰好所需的能力,并让你能顺畅组合它们的那个。对于许多旨在利用Claude模型能力构建非编码自动化流程的团队和个人来说,Claude Agent SDK正是这样一个“恰好所需”的利器。

你不必等待一个完美的、全能的智能体未来。利用现有的、成熟的组件,从今天开始,就能组装出属于你的第一个AI数字员工。