ADK 实战:从零构建你的第一个 AI 趋势发现智能体
原文:https://dev.to/googleai/your-first-ai-agent-a-beginners-guide-to-building-an-ai-trend-finder-with-adk-5f8k(作者 @shirmeirlador)
AI 智能体的世界正在以闪电般的速度发展。要跟上最新趋势、新的开源工具和重要的开发者讨论,感觉就像一份全职工作。为了自动获取重要的最新资讯,我们决定构建一个工具。
在本指南中,我们将手把手带你使用开源的 **Agent Development Kit**(ADK),在 Google Cloud 上构建你的第一个 AI 智能体。我们将设计一个“趋势发现者(Trend Spotter)”智能体,它的使命是充当你的个人 AI 分析师,教会它扫描网络,从海量信息中筛选出真正重要的内容。
读完这篇文章,你将拥有一个实用、可运行的工具,它能自动生成一份简洁的情报报告,让你始终跟上最新动态,节省数小时的人工调研时间。更重要的是,你将学会使用 ADK 构建自己的智能体的基础技能。你将了解如何:
- 将一个简单而强大的 ADK 智能体结构化为规范的 Python 包。
- 编写详细的提示词来定义智能体的逻辑和工作流。
- 为智能体提供 Google Search 等工具。
- 使用 ADK Web 界面在本地设置、测试和运行你的智能体。
- 将智能体部署到 Cloud Run。
让我们开始吧。
第一部分:设置与配置
这种设置采用标准包结构,让 ADK 工具无需 main.py 文件即可发现并运行我们的智能体。
步骤 1.1:前提条件
- Python 3.11+
- Google Cloud CLI: 按照官方安装指南操作。
- Google Cloud 账号。
步骤 1.2:创建项目结构
打开终端,创建以下文件夹结构和虚拟环境。
# Create the main project folder mkdir trend-spotter && cd trend-spotter # Create the Python package folder that will hold our code mkdir trend_spotter touch trend_spotter/__init__.py touch trend_spotter/agent.py touch trend_spotter/prompt.py # Create the top-level configuration files touch pyproject.toml requirements.txt # Finally, create and activate a virtual environment python3 -m venv venv && source venv/bin/activate (On Windows, use python -m venv venv && .\venv\Scripts\activate)
步骤 1.3:安装 ADK
- 打开 requirements.txt,添加唯一的依赖:
google-adk
从终端安装:
pip install -r requirements.txt
步骤 1.4:配置你的云环境
这些设置告诉 ADK 如何安全地连接到你的 Google Cloud 账户,以使用 Vertex AI 和 Google Search 等服务。
- 设置环境变量: 在终端中运行以下 export 命令。这些命令告诉 ADK 在你的特定 Google Cloud 项目和区域中使用 Vertex AI 平台。
export GOOGLE_GENAI_USE_VERTEXAI=true export GOOGLE_CLOUD_PROJECT=<your-gcp-project-id> export GOOGLE_CLOUD_LOCATION=<your-gcp-project-location>
- 登录你的账户: 运行这个一次性命令。它会打开浏览器让你登录,允许 ADK 代表你发出授权请求。
gcloud auth application-default login
第二部分:构建你的智能体
现在我们来编写代码,并将其放入 trend_spotter 包目录中。
步骤 2.1:定义智能体的大脑(提示词)
提示词包含智能体的全部指令。
请注意,我们在调用 GoogleSearch 工具时,会引导 LLM 指定日期范围,以确保我们关注的是最近一周的趋势。
打开 trend_spotter/prompt.py,添加以下指令:
# trend_spotter/prompt.py
TREND_SPOTTER_PROMPT = """
You are a helpful AI assistant and expert tech analyst for a new podcast called "The Agent Factory". Your goal is to generate a highly relevant and verifiable report about the latest developments in AI agents that specifically impact developers.
**Your multi-step plan is as follows:**
**Step 1: Discover the Current Date.**
Your very first action must be to find the current date.
- **Action**: Use the `Google Search` tool with a query like "what is today's date".
- From the search result, identify the current year, month, and day.
**Step 2: Formulate and Execute Search Queries with Date Operators.**
Now, you must formulate your search queries by embedding the date range directly into the query string using Google's `after:YYYY-MM-DD` and `before:YYYY-MM-DD` operators. Calculate these dates to cover the last 7 days.
- You must perform at least three initial searches to cover trends, releases, and questions.
- **Example Query Format**: `"AI agent trends after:2025-06-01 before:2025-06-08"`
- After the initial searches, you may perform 1-2 additional, more targeted searches if a category is missing information. **Do not perform more than 5 searches in total.**
**Step 3: Analyze the Results and Create the Report.**
Read through all the text and links from your searches. Your primary filter is to **only select topics, tools, and questions that have a direct and significant impact on developers building AI agents.**
**Critical Rule for Sourcing:** For every trend, release, or question you identify, you must first pinpoint the **single best search result** that provides the evidence. You will then use the URL from that **exact search result** as the source link for that item. **If you cannot find a specific source link for an item, do not include that item in the report.**
Based on these rules, create a report:
1. The report **must begin with a header** specifying the date range used.
2. The body of the report must have exactly three sections.
3. For each item, you **must provide three pieces of information**: a 1-2 sentence explanation, the "Developer Impact" analysis, and the **verifiable source URL**.
The report format must be:
**🔥 Top 5 Trends for Agent Developers**
1. **[Trend 1 Name]**: [A 1-2 sentence explanation of this trend.] (Source: [URL])
* **Developer Impact**: [A 1-sentence explanation of why this matters to developers.]
2. ... (up to 5 total)
**🚀 Top 5 Releases for Agent Developers**
1. **[Release 1 Name]**: [A 1-2 sentence explanation of the tool, framework, or model.] (Source: [URL])
* **Developer Impact**: [A 1-sentence explanation of why this matters to developers.]
2. ... (up to 5 total)
**🤔 Top 5 Questions from Agent Developers**
1. **[Question 1 Topic]**: [A 1-2 sentence explanation of what developers are asking.] (Source: [URL])
* **Developer Impact**: [A 1-sentence explanation of why this matters to developers.]
2. ... (up to 5 total)
Begin your work now by executing your plan.
"""
步骤 2.2:组装智能体
agent.py 文件将我们的提示词和搜索工具连接到一个新的 ADK 智能体。
打开 trend_spotter/agent.py,添加以下代码:
# trend_spotter/agent.py from google.adk.agents import Agent from google.adk.tools import google_search from . import prompt # 使用 "latest" 标签以始终获取模型最新的稳定版本。 MODEL = "gemini-2.5-pro-preview-05–06" # 这个单一智能体将执行所有工作。 trend_spotter_agent = Agent( model=MODEL, name="trend_spotter_agent", description="An agent that finds and reports on AI agent trends.", # 智能体的全部逻辑来自我们的详细提示词。 instruction=prompt.TREND_SPOTTER_PROMPT, # 我们给智能体提供单一工具:搜索 Google 的能力。 tools=[google_search], ) # 按照约定,我们将其赋给 `root_agent`,以便 ADK 发现。 root_agent = trend_spotter_agent
步骤 2.3:让你的智能体可被发现
要使用 adk web 命令,我们需要告诉 ADK 在哪里找到我们的智能体。我们在 pyproject.toml 文件中完成此操作。
打开根目录下的 pyproject.toml,添加以下配置:
[project] name = "trend_spotter" version = "0.1.0" # 此部分告诉 ADK 如何找到我们的智能体。 [tool.adk.agents] trend_spotter = "trend_spotter.agent:root_agent"
第三部分:运行你的智能体
接下来就是激动人心的部分了!
步骤 3.1:安装你的智能体
在项目根目录下运行以下命令。-e . 会以"可编辑"模式安装你的项目,这样 adk 工具就能找到它。
pip install -e .
步骤 3.2:启动 Web 界面
adk web
打开终端中显示的 URL。在 Web 界面中,从下拉菜单中选择 "trend_spotter"。现在你就可以和智能体对话了!向它提问:"生成一份关于最新 AI 智能体新闻的报告。"根据你在提示词中要求智能体执行的搜索次数,这可能需要几分钟时间。
响应内容大致如下:
好的,我将首先获取当前日期。 好的,我已确认当前日期是 2025 年 6 月 7 日。 现在,我将制定并执行搜索查询,以获取过去 7 天(2025 年 6 月 1 日至 2025 年 6 月 7 日)内与 AI 智能体趋势、发布及与开发者相关的问题的信息。 好的,我已经分析了搜索结果,现在将生成 2025 年 6 月 1 日至 2025 年 6 月 7 日期间影响开发者的 AI 智能体进展报告。 报告:面向开发者的 AI 智能体进展(2025 年 6 月 1 日 - 2025 年 6 月 7 日) 智能体开发者五大趋势 智能体 AI 的成熟:智能体 AI 指能够自主处理复杂任务的 AI 系统,它正在从炒作走向实际应用,企业已开始启动试点项目。这一趋势标志着 AI 正向着更复杂的方向演进,可简化软件开发、测试和维护的各个阶段。 对开发者的影响:开发者将越来越多地需要构建、集成和管理这些更加自主的 AI 智能体,这要求具备为复杂、目标导向行为进行设计的能力。 多智能体系统的兴起:人们对多个 AI 智能体协作解决比单个智能体所能处理的更大、更复杂问题的系统兴趣日益浓厚。这涉及在更广泛的工作流程中,各自拥有特定目标和工具的智能体协同工作。 对开发者的影响:这一趋势要求开发者考虑智能体间的通信协议、任务委派以及整体系统编排。 对 AI 智能体评估与基准测试的重视:随着 AI 智能体能力增强并承担更复杂的任务,对稳健评估方法和标准化基准的需求也相应增长。这些基准旨在评估规划、推理和工具使用等核心能力。 对开发者的影响:开发者需要利用这些不断演进的基准来测试、验证并提高所构建智能体的可靠性与性能。 对话式 AI 中增强的 NLP 与个性化:对话式 AI 智能体正朝着提供更接近人类的交互方向发展,包括更好地理解自然语言与情感线索,并提供高度个性化的用户体验。 对开发者的影响:创建对话界面的开发者必须专注于融入这些先进的 NLP 和个性化技术,以构建更具吸引力、更有效的 AI 智能体。 向 AI 原生开发基础设施的转变:AI 智能体快速生成代码,促使人们重新审视 GitHub、GitLab 等主要按人类开发速度设计的现有开发平台。这表明我们需要能够更好地支持 AI 驱动开发节奏的基础设施。 对开发者的影响:开发者应预见其工具链和工作流程的变化,其中可能包括专为应对 AI 生成代码的更大数量、更快速度以及所需独特审查流程而设计的新平台。 智能体开发者五大新发布
Embabel Agent Framework:由Spring创始人Rod Johnson推出,Embabel是一个新的基于JVM的类型安全框架,用于构建AI驱动的应用程序,特别是通过目标导向动作规划(GOAP)将大语言模型(LLM)与Java应用集成。
开发者影响:Java开发者现在拥有了一个专门的高层次框架,强调生产就绪、类型安全和高级规划能力,可在Spring生态系统中创建复杂的AI智能体。
Digitate的ignio™智能体AI平台更新:Digitate宣布对其ignio™平台进行重大更新,引入一套专为IT运维、SRE和CIO设计的AI智能体,以加速迈向自主企业和无工单IT运维。
开发者影响:从事企业IT和业务流程自动化的开发者可以利用这些新智能体更自主地处理复杂任务,从而提高效率和系统弹性。
数字孪生联盟的AI智能体能力元素周期表(AIA CPT):DTC推出了AIA CPT,这是业界首个基于实际能力评估AI智能体系统的标准化框架,旨在减少市场混乱。
开发者影响:该框架为开发者提供了一种清晰、客观的方式来评估和比较不同的AI智能体技术和供应商产品,有助于技术选择和预期设定。
Google的智能体开发套件(与Agentspace一同提及):除了用于管理AI智能体的Agentspace中心之外,Google还宣布推出新的智能体开发套件,旨在帮助开发者构建AI智能体。
开发者影响:Google Cloud生态系统中的开发者可以期待新的、精炼的工具来简化AI智能体的创建和部署,从而促成更复杂的基于智能体的解决方案。
MetaGPT框架备受关注:尽管MetaGPT是一个已有的开源框架,但它依然因其通过将标准操作规程(SOP)编码到LLM提示中,让多智能体系统自动化复杂软件工程任务的能力而受到认可。
开发者影响:开发者可以利用MetaGPT为各种开发任务创建协作式多智能体系统,在游戏开发、Web开发和数据分析等领域可能提高效率。
来自智能体开发者的五大问题
确定何时使用AI智能体:开发者正在积极讨论AI智能体的适当用例,并提醒不要过度工程化:当更简单的AI工作流甚至人工干预更高效时,使用复杂智能体反而会造成过度设计。
开发者影响:这凸显了开发者在决定构建AI智能体之前,需要批判性地评估任务复杂度和投资回报率,确保所选方案切合实际问题。
在AI世界中管理仓库策略:当引入AI智能体时,如何组织代码仓库一直是争论焦点——较小的、聚焦的仓库是否更利于AI理解,还是较大的、全面的仓库能提供必要上下文。
开发者影响:开发者需要考虑其仓库策略如何影响AI智能体的性能和协作,并可能需要调整实践,将提示(prompt)等AI生成产物纳入管理。
应对AI对团队动态的影响:随着AI工具造成潜在的“生产力鸿沟”——一些工程师的产出显著增加——如何维持团队凝聚力、协作和公平的工作负载分配成为问题。
开发者影响:这需要开发团队和管理层有意识地调整团队结构和流程,以平稳整合AI辅助,并支持所有团队成员。
确保多个AI智能体之间的架构一致性:一个关键问题是如何确保可能跨多个仓库或系统不同部分工作的AI智能体遵循一致的架构原则和设计模式。
开发者影响:开发者可能需要为AI智能体建立更清晰的架构指南,或在采用多个自主智能体时开发新的机制来强制一致性。
对AI原生开发基础设施的需求:开发者正在质疑当前开发平台及其相关工作流(例如代码审查)是否足以应对AI智能体生成代码的速度和数量。
开发者影响:这预示着开发者即将需要适应并可能参与塑造专为AI辅助和AI原生开发生命周期设计的新工具和平台。
步骤3.3:调试
adk Web 界面是你最好的调试工具。在“Events”标签页中,你可以看到智能体执行的每一步,包括它调用了哪些工具以及LLM在想什么。如果输出不正确,你的第一步始终应该是调整 prompt.py 中的指令。
第四部分:部署
adk deploy cloud_run 命令会将你的智能体代码部署到 Google Cloud Run。
请确保你已通过 Google Cloud 完成身份验证(使用 gcloud auth login 和 gcloud config set project <你的项目ID>),并配置好环境变量,即可用一行命令将智能体部署到 Cloud Run。
步骤 4.1:配置环境变量
可选但推荐:设置环境变量可以让部署命令更简洁。
# 设置你的 Google Cloud 项目 ID export GOOGLE_CLOUD_PROJECT="your-gcp-project-id" # 设置你想要的 Google Cloud 区域 export GOOGLE_CLOUD_LOCATION="us-central1" # 示例区域 # 设置智能体代码目录的路径 export AGENT_PATH="./trend_spotter" # 假设 capital_agent 在当前目录下 # 为 Cloud Run 服务设置名称(可选) export SERVICE_NAME="trend-spotter-service" # 设置应用名称(可选) export APP_NAME="trend-spotter-app"
步骤 4.2:部署到 Cloud Run
adk deploy cloud_run \ - project=$GOOGLE_CLOUD_PROJECT \ - region=$GOOGLE_CLOUD_LOCATION \ - service_name=$SERVICE_NAME \ - app_name=$APP_NAME \ - with_ui \ $AGENT_PATH
(更多 Cloud Run 部署选项可参考此文档)
步骤 4.3:测试已部署的智能体
部署完成后,你只需在浏览器中访问 Cloud Run 提供的服务 URL 即可测试智能体。(URL 格式类似:https://your-service-name-abc123xyz.a.run.app)
第五部分:后续步骤与总结
恭喜!你已经使用 Agent Development Kit 成功设计、构建、测试并部署了你的第一个 AI 智能体。
你学习了如何组织规范的智能体包结构、如何编写详细的提示词来控制智能体的逻辑,以及如何通过 adk web 界面运行并与智能体交互。现在,我们已经为 AI 智能体播客项目打造了一个可用的“研究员”,而你也有了一个可以继续扩展的工作基础。你可以尝试修改提示词来研究不同的主题,或者探索添加新的自定义工具,为智能体赋予更多能力。
在下一篇文章中,我们将在此基础上继续构建,通过添加更丰富、更专业的工具,让智能体变得更加强大。
当你准备好深入探索该框架提供的全部强大功能时,最好的去处是**Google Cloud ADK 官方文档**。
祝你构建愉快!
原文:https://dev.to/googleai/your-first-ai-agent-a-beginners-guide-to-building-an-ai-trend-finder-with-adk-5f8k(作者 @shirmeirlador)