📚 第四阶段:核心ADK概念
4.1 代理类型深入探讨
LlmAgent(智能体)
- 大型语言模型(LLM)代理以大型语言模型作为其核心引擎,用于理解自然语言、进行推理、规划、生成响应,并动态决定如何继续行动或使用哪些工具
- 学习指令、系统提示、动态行为
实施思路:
- Conversational agent with memory
- Domain expert (legal, medical, technical)
- Multi-turn reasoning agent工作流代理
- 用于结构化和可预测流程的顺序代理(SequentialAgent)、并行代理(ParallelAgent)和循环代理(LoopAgent)
顺序代理按顺序执行代理 并行代理同时运行代理 LoopAgent重复此操作直至满足条件
实施思路:
- Data processing pipeline (Sequential)
- Multi-source research (Parallel)
- Iterative refinement (Loop)自定义代理
- 扩展BaseAgent以构建具有独特逻辑和集成、满足特定需求的代理
实施思路:
- Database query agent
- API integration agent
- File processing agent4.2 工具与能力
内置工具
- 谷歌搜索
- 代码执行
- Vertex AI 搜索
自定义工具
- 带有文档字符串的Python函数
- OpenAPI规范
- 工具组合(工具调用工具)
模型上下文协议(MCP)
- 针对多种功能的MCP工具集成
实施思路:
Stage 4A: Weather Agent with custom tool
Stage 4B: Research Agent with Google Search
Stage 4C: Code Analysis Agent with code execution
Stage 4D: Multi-tool agent (search + code + custom)______________________________________________________________________
🔧 阶段5:高级代理编排
5.1 多智能体系统
层次化代理
- 根代理委托给专业代理
- 每位代理都专注于特定领域
实施:
Travel Agent System:
├── Root: Travel Coordinator
├── FlightAgent: Handles flights
├── HotelAgent: Handles accommodation
└── ActivityAgent: Suggests activities代理间通信
- 实现智能体之间的复杂协调与委托
- 使用智能体作为其他智能体的工具
动态路由
- 基于大型语言模型(LLM)的决策制定
- 基于上下文的条件性智能体选择
实施:
Stage 5A: Customer Support System
- Triage Agent → routes to specialists
- Technical Support Agent
- Billing Agent
- Product Info Agent
Stage 5B: Content Creation Pipeline
- Research Agent
- Writer Agent
- Editor Agent
- SEO Optimizer Agent5.2 并行与循环模式
并行代理
并行运行独立任务以节省时间
用例:
- 多源数据收集
- 独立验证
- 并发API调用
LoopAgent(可译为“循环代理”或根据具体上下文意译为更贴切的名称,但在此直接保留原英文形式以体现其专有名词性)
用例:
- 迭代改进(就像你们的第三阶段一样!)
- 带条件的重试逻辑
- 逐步精细化
实施:
Stage 5C: Parallel Research Agent
- Search 3 sources simultaneously
- Aggregate results
- Generate comprehensive report
Stage 5D: Adaptive Learning Agent (Loop)
- Generate response
- Self-evaluate
- Improve until quality threshold met
- Track improvement metrics______________________________________________________________________
🎯 第六阶段:状态管理与会话
6.1 会话服务
内存会话服务
- 快速、本地化开发
- 无持久性
- 适合用于原型制作
自定义会话服务
- 定义 \
session_service_builder\函数以用您自己的数据库覆盖默认的托管会话服务 - Redis,PostgreSQL,MongoDB
- 在重启后保持状态
托管会话(云)
- AdkApp在将代理部署到Vertex AI代理引擎后,使用基于云的托管会话
- 已准备好投入生产
- 可扩展的
实施:
Stage 6A: Multi-User Chat System
- Per-user session tracking
- Conversation history
- Context preservation
Stage 6B: Shopping Assistant
- Cart persistence
- User preferences
- Multi-session workflow6.2 运行器与执行流程
跑步基础
- 管理代理执行
- 处理事件和流媒体
- 控制信息流
事件驱动架构
- 模块化设计,组件可组合且可重新配置,职责分离清晰
- 订阅事件
- 自定义事件处理程序
实施:
Stage 6C: Event-Driven Analytics
- Track every agent interaction
- Log decision points
- Measure performance metrics
- Build observability dashboard______________________________________________________________________
🔌 第七阶段:集成与互操作性
7.1 代理对代理(Agent2Agent,简称A2A)协议
A2A是一种开放的、与供应商无关的标准,它使得不同平台上的AI代理之间能够轻松通信
主要特点:
- 揭露
/runHTTP 端点 .well-known/agent.json元数据- 跨框架兼容性
实施:
Stage 7A: Microservices Architecture
- Agent 1: FastAPI service
- Agent 2: Separate service
- Communication via A2A
- Load balancing
Stage 7B: Hybrid System
- ADK agents
- LangGraph integration
- CrewAI compatibility7.2 第三方集成
LangChain 工具
- 使用LangChain工具
- 访问LangChain智能体
LlamaIndex 集成
- RAG(检索增强生成)能力
- 文档索引
模型灵活性
- 从Gemini、Vertex AI模型花园中的模型中进行选择,或使用LiteLLM来对接Anthropic、Meta、Mistral AI、AI21 Labs等提供商
实施:
Stage 7C: RAG System with LlamaIndex
- Document ingestion
- Semantic search
- Context-aware responses
Stage 7D: Multi-Model System
- Gemini for reasoning
- Claude for writing
- GPT-4 for analysis
- Model selection logic______________________________________________________________________
📊 第八阶段:评估与监测
8.1 代理评估
质量指标
- 响应准确性
- 任务完成率
- 用户满意度
- 延迟/吞吐量
测试策略
- 工具的单元测试
- 工作流的集成测试
- 端到端场景
实施:
Stage 8A: Automated Testing Suite
- Test harness for agents
- Regression testing
- Performance benchmarks
- Quality gates
Stage 8B: A/B Testing Framework
- Multiple agent versions
- Traffic splitting
- Metric comparison
- Automatic winner selection8.2 生产监控
可观测性
- 记录日志
- 追踪
- 指标收集
错误处理
- 优雅降级
- 重试逻辑
- 断路器
实施:
Stage 8C: Production Monitoring Dashboard
- Real-time metrics
- Error rate tracking
- Cost monitoring
- Alert system
Stage 8D: Self-Healing Agent System
- Detect failures
- Auto-recovery
- Fallback strategies______________________________________________________________________
🚀 第9阶段:部署与扩展
9.1 集装化
Docker 设置
- 将代理容器化
- 环境管理
- 多阶段构建
Kubernetes(中文常译为“K8s”,但“Kubernetes”本身也可直接使用)
- 编曲/管弦乐编排
- 自动扩展
- 负载均衡
实施:
Stage 9A: Dockerized Agent
- Dockerfile
- Docker Compose
- Local deployment
Stage 9B: Kubernetes Deployment
- Deployment manifests
- Service mesh
- Horizontal scaling9.2 顶点AI代理引擎
将代理部署到Vertex AI代理引擎以供生产环境使用
主要特点:
- 托管基础设施
- 自动扩展
- 内置监控
- IAM集成
实施:
Stage 9C: Cloud Deployment
- Deploy to Vertex AI
- Configure autoscaling
- Set up monitoring
- Production traffic
Stage 9D: Multi-Region Deployment
- Geographic distribution
- Failover logic
- Data compliance9.3 API与前端集成
RESTful API(或简称REST APIs)
- FastAPI 集成
- 认证
- 速率限制
流媒体传输
- 双向音视频流传输功能
- SSE(服务器发送事件)
- WebSockets(网络套接字)
实施:
Stage 9E: Full-Stack Application
- FastAPI backend
- Streamlit/React frontend
- Authentication system
- Production-ready
Stage 9F: Real-Time Chat Interface
- WebSocket streaming
- Audio/video support
- Multi-modal interaction______________________________________________________________________
🎓 第十阶段:高级图案
10.1 上下文管理
上下文压缩
支持上下文压缩以减少上下文长度
上下文缓存
- 重用昂贵的计算资源
- 降低API成本
实施:
Stage 10A: Smart Context Manager
- Automatic summarization
- Relevance filtering
- Cost optimization10.2 可恢复性与可靠性
在ADK中支持暂停和恢复调用
特点:
- 保存代理状态
- 从中断处继续
- 长时间运行的任务
实施:
Stage 10B: Resumable Workflows
- Checkpoint system
- State persistence
- Recovery mechanisms10.3 人参与的闭环系统(Human-in-the-Loop,HITL)
工具确认流程,可通过明确确认和自定义输入来保障工具执行
用例:
- 敏感操作
- 成本控制
- 审批工作流程
实施:
Stage 10C: Approval System
- Pre-execution confirmation
- Human override
- Audit trail10.4 插件系统
“ReflectRetryToolPlugin”用于从错误中恢复,并在工具出错时尝试使用不同的参数重新执行
实施:
Stage 10D: Extensible Agent Platform
- Plugin architecture
- Dynamic tool loading
- Error recovery plugins______________________________________________________________________
📋 建议的实施顺序
第1-2周:基础理论
✅ 第三阶段(你在这里!)
- 第4A阶段:自定义工具
- 第4B阶段:谷歌搜索集成
- 阶段4C:代码执行
第3-4周:多智能体系统
- 阶段5A:客户支持系统
- 阶段5B:内容管道
- 阶段5C:并行研究
- 阶段5D:基于循环的改进
第5-6周:状态与会议
- 阶段6A:多用户聊天
- 阶段6B:购物助手
- 阶段6C:事件驱动分析
第7-8周:整合
- 阶段7A:微服务
- 7B阶段:混合系统
- 阶段7C:使用LlamaIndex实现RAG(检索增强生成)
- 7D阶段:多模型系统
第9-10周:生产准备就绪
- 第8A阶段:测试套件
- 第8B阶段:A/B测试
- 阶段8C:监控仪表盘
- 第8D阶段:自修复
第11-12周:部署
- 第9A-9F阶段:全面部署流程
第13-14周:高级图案
- 阶段10A-10D:生产优化
______________________________________________________________________
🎯 接下来立即采取的步骤(第四阶段)
我建议接下来先完成这4个小型项目:
阶段4A:带有自定义工具的天气代理
# Learn: Basic tool creation
def get_weather(city: str) -> dict:
"""Gets weather for a city"""
# Implementation
agent = Agent(
name="weather_agent",
tools=[get_weather]
)第4B阶段:使用谷歌搜索进行研究代理(或:利用谷歌搜索进行研究)
from google.adk.tools import google_search
agent = Agent(
name="researcher",
tools=[google_search]
)阶段4C:带代码执行的代码分析器
from google.adk.tools import code_execution
agent = Agent(
name="code_analyst",
tools=[code_execution]
)阶段4D:多功能代理
# Combine everything
agent = Agent(
name="super_agent",
tools=[get_weather, google_search, code_execution, custom_tool]
)______________________________________________________________________
📖 资源
______________________________________________________________________
💡 专业技巧
- 从简单开始在组合之前,先掌握每个概念
- 本地测试在开发环境中使用InMemorySessionService
- 记录一切从第一天起就建立可观测性
- 迭代每个阶段都应在继续下一个阶段之前完成工作
- 文件边构建边写文档
- 版本控制从一开始就使用Git
- 成本意识监控API调用和令牌
