游乐游手机版
首页/AI教程/文章详情

全新智能助手实现真正自主不再等待指令

时间:2026-06-06 16:30
周末清晨,林远被一个突然涌现的念头唤醒。 “小众清单”上线四个月后,竞品们的动作越来越密集。他打算系统化地开展调研,可每次打开浏览器,就陷入无尽点击与滚动——哪个产品更新了功能?那家产品融资多少?用户评价到底如何? “要是能有个人帮我搞定这些就好了。” 林远回顾自己已解锁的两项能力: Vision:

周末清晨,林远被一个突然涌现的念头唤醒。

“小众清单”上线四个月后,竞品们的动作越来越密集。他打算系统化地开展调研,可每次打开浏览器,就陷入无尽点击与滚动——哪个产品更新了功能?那家产品融资多少?用户评价到底如何?

“要是能有个人帮我搞定这些就好了。”

林远回顾自己已解锁的两项能力:

  • Vision:AI 能看懂截图内容
  • Tool Use:AI 能查询数据库

但这两者有个共同的局限:他必须先告诉 AI 该做什么。截图发过去,AI 才解读;查数据的问题发过去,AI 才生成 SQL。整个过程依然停留在“你问我答”的模式。

“我真正渴望的是一个能自主规划任务的助手。我只需给出目标,它就能自己分解任务、调用工具、汇报结果。”

这个愿望,最终在 Claude Cookbooks 的 claude_agent_sdk 目录中找到了答案。

Agent SDK:从“工具”到“助手”的质变

林远打开第一个教程:00_The_one_liner_research_agent.ipynb。标题令他震惊:一行代码就能构建研究 Agent

from claude_agent_sdk import ClaudeAgentOptions, query

async for msg in query(
    prompt="调研 AI Agent 领域的最新趋势,给我一个简短的总结和相关链接",
    options=ClaudeAgentOptions(model="claude-sonnet-4-6", allowed_tools=["WebSearch"])
):
    print(msg)

就这些?林远半信半疑地跑了一遍代码,看着终端里逐行跳出的输出:

? Using: WebSearch()
? Using: WebSearch()
? Using: WebSearch()
✓ Tool completed
✓ Tool completed
✓ Tool completed
? Thinking...

AI 自主决定执行三次搜索,然后综合结果给出答案。

“等等,我并没有告诉它要搜索几次,也没指定搜索什么关键词。”

这就是 Agent 的核心魔力:AI 自己决定如何行动,而非被告知怎么做。官方教程里有一段话解释得透彻:研究任务是 Agent 的理想场景,因为信息不在输入中,Agent 必须主动获取;而且搜索路径会在探索过程中自然浮现,无法提前预设。

林远豁然开朗。此前他使用 Tool Use 查数据库时,每次都是他先想好问题、构造 prompt、等待答案。但在 Agent 模式下,他只需给出一个目标,剩下的全由 AI 自主决策。这就好比从“遥控器”直接升级到了“自动驾驶”。

从一行代码到生产级系统

教程接着深入展开。一行代码的研究 Agent 固然酷炫,但它有一个明显的限制:缺乏记忆。每次查询都是孤立的,上一次的结果不会带入下一次。假如林远先问“有哪些公司?”,再问“它们的产品有什么区别?”,第二个问题就会断片——因为 Agent 不记得第一个问题的答案。

解决方法是用 ClaudeSDKClient 来维持会话状态:

from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

async with ClaudeSDKClient(
    options=ClaudeAgentOptions(
        model="claude-sonnet-4-6",
        allowed_tools=["WebSearch", "Read"],  # 既可以搜索,也可以读取文件
        system_prompt="你是一个专业的市场研究助手。回答时请附上来源链接。"
    )
) as agent:
    # 第一个问题
    await agent.query("帮我调研一下 Notion 和 Obsidian 的最新动态")
    async for msg in agent.receive_response():
        print(msg)
    
    # 第二个问题——会保留第一个问题的上下文
    await agent.query("它们的产品定位有什么区别?")
    async for msg in agent.receive_response():
        print(msg)

林远注意到几个关键要点:

1. allowed_tools:工具权限的精细化控制

allowed_tools=["WebSearch", "Read"]

这告诉 Agent:你可以搜索网页,也可以读取本地文件。Agent 会在需要时自动调用这些工具,无需你手动触发——这才是真正的“主动”。

2. system_prompt:为 Agent 设定角色与行为规范

system_prompt="你是一个专业的市场研究助手。回答时请附上来源链接。"

这让 Agent 的回答更专业、更可信,相当于赋予它一个“人设”。

3. 多模态能力的加持

Read 工具赋予 Agent 读取图片、PDF 等文件的能力。林远想起上一章的 Vision 能力——现在 Agent 可以自动读取图表并分析,无需他手动传图。从“我看图”进化成了“AI 自己看图”。

竞品调研实战:三分钟搞定原本半天的活

林远决定用 Agent 来完成一次真实的竞品调研。他编写了一个脚本:

from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions
import asyncio

RESEARCH_PROMPT = """
帮我调研以下内容:

1. "小众清单" 的三个主要竞品(清单类应用):它们的最新版本更新了什么功能?
2. 这些竞品的用户评价有什么共性问题?
3. 我们可以从中学到什么?

请给我一个结构化的报告,包含来源链接。
"""

async def research_competitors():
    async with ClaudeSDKClient(
        options=ClaudeAgentOptions(
            model="claude-sonnet-4-6",
            allowed_tools=["WebSearch", "Read"],
            system_prompt="""你是一个专业的竞品分析师。
回答时请:
- 附上来源链接
- 结构清晰,用 markdown 格式
- 给出可操作的建议"""
        )
    ) as agent:
        await agent.query(RESEARCH_PROMPT)
        result_text = ""
        async for msg in agent.receive_response():
            if hasattr(msg, 'content'):
                for block in msg.content:
                    if hasattr(block, 'text'):
                        result_text += block.text
        return result_text

# 运行
report = asyncio.run(research_competitors())
print(report)

Agent 开始工作:

? Using: WebSearch("清单类应用竞品分析 2024")
? Using: WebSearch("TickTick Todoist Microsoft To Do 最新功能更新")
? Using: WebSearch("清单类应用用户评价 常见问题")
✓ Tool completed
✓ Tool completed
✓ Tool completed
? Thinking...

仅仅三分钟后,一份完整的竞品分析报告便呈现在眼前:

竞品调研报告

一、主要竞品及最新功能

TickTick

  • 最新版本 (v6.6.0) 新增智能日期识别...
  • 来源: [TickTick 更新日志](...)

Todoist

  • 推出 AI 任务分解功能...
  • 来源: [Todoist Blog](...)

...

林远看得目瞪口呆。过去做这样的调研至少要花费半天时间,如今只需三分钟。而且整个过程中完全不需要手动输入搜索词、逐一点击链接阅读——Agent 自主规划搜索路径、自动筛选信息、自行组织答案。“这才是真正的 AI 助手啊。”他感叹道。

进阶能力:让 Agent 调用脚本

林远继续往下翻阅教程,发现了更强大的功能:Bash 工具。Agent 可以调用 Python 脚本来执行复杂计算或数据处理。官方示例中有一个 hiring_impact.py 脚本,用于计算招聘对财务的影响:

async with ClaudeSDKClient(
    options=ClaudeAgentOptions(
        model="claude-sonnet-4-6",
        allowed_tools=["Bash", "Read"],
        cwd=".",  # 工作目录
    )
) as agent:
    await agent.query("用 hiring_impact.py 计算一下招 5 个工程师对我们现金流的影响")
    async for msg in agent.receive_response():
        print(msg)

Agent 会自行找到脚本、理解用法、执行计算并返回结果。林远脑中瞬间冒出许多想法:把数据分析脚本接上,Agent 能自动生成报表;把数据库查询脚本连上,Agent 能回答业务问题;把 API 调用脚本挂载上,Agent 能自动同步数据。

“这不就是把 Tool Use 升级成了 Agent 吗?”是的。之前是他手动调用工具,现在是 Agent 自主决定何时调用什么工具。

更进一步:多 Agent 协作

教程里还有一个更高级的示例:Chief of Staff Agent。这是一个协调多个子 Agent 的主 Agent:主 Agent 接收用户请求,分析所需能力,把任务分发给专门的子 Agent(财务分析师、招聘专员等),最后汇总结果,生成综合报告。

async with ClaudeSDKClient(
    options=ClaudeAgentOptions(
        model="claude-opus-4-6",
        allowed_tools=["Task"],  # Task 工具让 Agent 可以调用子 Agent
        system_prompt="财务相关问题交给 financial-analyst 子 Agent 处理。"
    )
) as agent:
    await agent.query("我们应该招 5 个工程师吗?分析一下财务影响。")
    async for msg in agent.receive_response():
        print(msg)

运行时输出:

? Thinking...
? Delegating to subagent: financial-analyst
 └─ Task: 分析招聘 5 名工程师的财务影响
 ? [financial-analyst] Using: Bash()
 ? [financial-analyst] Using: Read()
 ? [financial-analyst] Using: Bash()
 ✓ Tool completed
 ✓ Tool completed
 ✓ Tool completed
? Thinking...

主 Agent 把任务交给了 financial-analyst 子 Agent,子 Agent 调用脚本分析数据,最后返回结果。林远想到了他的“小众清单”:可以设立一个 user-feedback-analyst 专门分析用户反馈;配置一个 feature-researcher 调研竞品功能;再安排一个 bug-triage 分类和处理 bug 报告。“这不就是一支 AI 团队嘛!”他兴奋地说。

Plan Mode:先规划再执行

最后一个让林远印象深刻的功能是 Plan Mode。在此模式下,Agent 会先制定详细计划,但不会执行任何修改操作(如 Write、Edit、Bash 等)。林远可以审阅计划,再决定是否让 Agent 执行:

async with ClaudeSDKClient(
    options=ClaudeAgentOptions(
        model="claude-opus-4-6",
        permission_mode="plan",  # 开启计划模式
        cwd=".",  # 工作目录
    )
) as agent:
    await agent.query("帮我重构前端组件库,提升性能和可维护性")
    async for msg in agent.receive_response():
        # Agent 会输出计划,但不会执行任何修改操作
        pass

    # 审核计划后,如果满意,继续执行:
    # await agent.query("按计划执行", continue_conversation=True)

Agent 会分析现有代码结构、依赖关系,然后输出一份详细的重构计划。林远可以审阅这份计划,提出修改意见,或者直接让 Agent 执行。一个典型的计划输出示例:

重构计划

第一阶段:分析现状

  1. 盘点现有组件数量和依赖关系
  2. 识别性能瓶颈组件
  3. 分析重复代码和设计不一致

第二阶段:制定规范

  1. 建立组件命名规范
  2. 设计统一的 API 接口
  3. 定义性能基准

第三阶段:分批重构

  1. 优先重构高频使用组件
  2. 逐步迁移低频组件
  3. 更新文档和示例

风险评估

  • 可能影响现有功能,建议配合测试覆盖
  • 团队需要时间学习新规范

“这个功能真是太实用了。”林远感慨道。以前让 AI 执行任务,总担心它乱来。现在可以提前查看计划,不满意就调整,满意了再执行。就像装修前先看设计图,心里有底。

回顾:从被动到主动的进化之路

林远打开他的开发日志,回顾这三个月来的探索历程:

第一个月:让 AI 看见—— Vision 能力让 AI 能够理解截图、图片、文档。用户发来的模糊反馈截图,AI 能解读出关键信息。

第二个月:让 AI 动手—— Tool Use 让 AI 能查数据库、调 API。用户说“数据不对”,AI 能自己生成 SQL 去查。

第三个月:让 AI 自主—— Agent SDK 让 AI 能自主规划任务、调用工具、汇报结果。给一个目标“调研竞品”,AI 自己决定搜索什么、读什么、如何总结。

这三项能力,构成了林远心中“AI 分身”的进化路线:

看得懂 → 动得了 → 能自主

每一步都是前一层的自然延伸。Vision 给了 AI “眼睛”,Tool Use 给了 AI “手”,Agent SDK 则赋予 AI 一个“大脑”——能思考、能决策、能主动行动。

尾声:分身已就位

林远把这三章的内容整理成了一篇博客,发布在“小众清单”的开发日志里。文章最后,他写道:

独立开发者最大的困境是“分身乏术”——一个人要兼顾产品、运营、客服、市场、数据分析……

三个月前,我开始探索 Claude API 的能力。起初只想让 AI 帮我看截图,后来发现它还能查数据、跑脚本、自主规划任务。

现在我的工作流发生了根本性改变:

  • 用户发截图反馈 → AI 自动解读关键信息
  • 用户说数据不对 → AI 自己查数据库核实
  • 我需要调研什么 → AI 自己搜索、阅读、总结

我开始相信,独立开发者真的可以拥有“分身”。分身做的事情越多,我能专注在创造上的时间就越多。

这只是开始。Agent SDK 的能力远不止于此——多 Agent 协作、Plan Mode、Hook 机制……每一个都值得深入探索。

下一步?我想做一个“自动运营 Agent”,每天自动收集用户反馈、分析数据、生成报告,我只负责看报告和做决策。

分身已就位,接下来看它能帮我把产品带向何方。


代码参考

本文涉及的完整代码均来自官方教程中的示例 notebook:

  • 00_The_one_liner_research_agent.ipynb - 一行代码的研究 Agent
  • 01_The_chief_of_staff_agent.ipynb - 多 Agent 协作的 Chief of Staff

系列回顾

  1. 那些截图里的秘密 - Vision 让 AI 看见
  2. 让 AI 动手查数据 - Tool Use 让 AI 动手
  3. 本文 - Agent SDK 让 AI 自主

本文属于「独立开发者的 AI 分身进化论」系列,记录一个独立开发者如何逐步解锁 Claude API 的各项能力。

来源:https://cloud.tencent.com.cn/developer/article/2682704
上一篇Claude Code 重新拾起被抛弃的扣子工作流 下一篇JetBrains开源120亿参数模型Mellum2适用人群
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
刚刚,OpenClaw和Cursor杀入手机!
AI教程 · 2026-07-01

刚刚,OpenClaw和Cursor杀入手机!

AI Agent,真的开始从电脑里“跑出来”了。以前我们用 Agent,基本离不开网页、IDE、终端、云环境。你想让它写代码、查资料、改项目、跑任务,很多时候还得坐在工位前盯着。但现在不一样了。OpenClaw 推出了 iOS 和安卓原生 App,手机可以变成私有 Agent 网络里的一个移动节点。

幻灯片排版优化AI智能助手,节省时间与精力
AI教程 · 2026-07-01

幻灯片排版优化AI智能助手,节省时间与精力

说起来,今天想和大家聊聊一个特别实在的话题:怎么用AI工具把PPT排版效率提上去,真正省下时间和精力。谁不想在忙忙碌碌的工作里找到点儿省事的诀窍呢?我有个朋友,为了准备一次重要汇报,连着熬了三个晚上折腾PPT,最后出来的效果也就是勉强及格。要是当时他能用上AI工具,结果会不会完全不一样?PPT排版优

AI排版软件让文档制作轻松又高效
AI教程 · 2026-07-01

AI排版软件让文档制作轻松又高效

AI智能排版工具通过自动识别文档结构、调整格式,显著提升排版效率。实际案例显示,文档处理时间可缩短约50%,项目交付效率提高40%。其功能涵盖自动排版、模板库、智能校对等,重构了文档制作流程,使用户专注内容创作,提升专业形象与市场竞争力。

Karpathy晒邮件曝光注意力机制真正起源:10年前三项独立研究
AI教程 · 2026-07-01

Karpathy晒邮件曝光注意力机制真正起源:10年前三项独立研究

2014年,三项研究几乎同时独立提出注意力机制:DzmitryBahdanau在YoshuaBengio实验室开发出RNNSearch(后称注意力),AlexGraves和JasonWeston团队也发表了类似机制。该思想源于解决循环神经网络信息瓶颈的需求,采用可微加权平均,成为深度学习核心算法。

如何选择AI排版工具与技巧提升内容创作效率
AI教程 · 2026-07-01

如何选择AI排版工具与技巧提升内容创作效率

AI排版工具推荐与技巧:如何提升内容创作效率与视觉设计效果其实,AI排版早已成为内容创作领域的热门话题。在信息爆炸的时代,大家都想知道如何让内容在海量信息中脱颖而出。简单来说,AI排版就是借助人工智能技术自动化处理文本、图像等内容的布局与设计。不妨想象一下:星巴克菜单上那些赏心悦目的排版,背后可能就