Google Antigravity SDK
用 Python 构建基于 Google Antigravity 与 Gemini 的有状态智能体。
按维度查看评分与理由
证据显示默认只读模式,且提供策略系统(deny/allow/ask_user)以限制工具权限,但未明确说明权限最小化的具体实现细节。用户确认机制存在(ask_user策略),但未展示默认启用或强制要求。数据流透明度不足,未详细说明数据如何被处理、存储或传输。敏感数据处理仅提及API密钥和ADC,但未说明加密或保护措施。依赖安全未提供漏洞扫描或锁定版本,仅列出依赖范围。外部影响方面,默认只读模式限制了副作用,但未说明如何防止意外写入。回滚机制未提及。来源归属仅通过版权声明和作者信息,但发布者未验证。
自一致性较好,README中的示例与代码结构一致,但未验证实际运行。依赖可用性方面,依赖列表明确,但未提供锁定版本或兼容性矩阵。失败消息未提供具体错误处理或用户提示示例。
目标受众明确为开发者,场景包括简单代理、流式响应、工具调用、MCP集成等。能力边界通过CapabilitiesConfig和策略系统定义,但未详细说明默认能力。触发精度通过triggers示例展示,但未说明触发条件的具体配置。环境适配支持Vertex AI和本地模式,但未说明所有平台支持情况。
信息架构清晰,README有目录和组件文档链接。安装说明明确,强调从PyPI安装。命名稳定性未提供版本历史或API稳定性说明。示例丰富,但缺少FAQ。已知限制未明确列出。许可证为Apache-2.0,完整。版本和变更日志未提供。维护责任未明确,但存在SECURITY.md和GitHub Actions。
输出可用性良好,提供流式响应和文本提取。边际价值高,提供多模态、工具、MCP等高级功能。成本效益未提供性能或资源消耗数据。
声明可追溯性一般,README中的功能描述未与代码直接对应。跨来源佐证不足,仅依赖单一仓库。事实与推断分离不明确,未区分文档声明和实际实现。
- 发布者身份未验证,需谨慎对待来源。
- 依赖未锁定版本,存在供应链风险。
- 默认只读模式虽好,但启用全部工具后需注意权限控制。
- 未提供回滚机制,操作不可逆时需谨慎。
- 数据流透明度不足,敏感数据处理细节缺失。
这个 Agent 能做什么,适合哪些场景?
Google Antigravity SDK 是一个 Python SDK,用于构建由 Antigravity 和 Gemini 驱动的智能体。高层的 Agent 通过异步上下文管理器处理二进制发现、工具接线、Hook 注册和默认策略;默认以只读模式运行。需要自行管理会话时,可使用 Conversation、ConnectionStrategy 和 ToolRunner,查看历史、轮次及最后一次响应。ChatResponse 支持异步流式文本,也可分别流式读取 thoughts 与强类型 ToolCall 事件。SDK 可接收文本、图片、视频、音频和文档,并支持 Python 函数工具、MCP 服务器、策略、Hook 与定时触发器。
应用先用 LocalAgentConfig 配置系统指令、工具、MCP 服务器、策略或触发器,再在 async with Agent(config) 中调用 await agent.chat(...)。chat 可接收文本或包含 Image、from_file(...) 等内容对象的列表,返回 ChatResponse;调用 await response.text() 获取完整文本,或用 async for token in response 流式处理文本。需要更细粒度控制时,Conversation.create(strategy) 建立有状态会话,send(...) 发送消息,receive_steps() 逐步接收 Step,并累积 history、turn_count 和 last_response。Python 函数可通过 tools 注册,McpStdioServer 可启动外部 MCP 工具;CapabilitiesConfig() 会启用全部工具(包括写入),而 deny、allow、ask_user、enforce 等策略可限制或拦截工具调用。
- Python 开发者需要快速创建一个能调用已注册 Python 函数的 Gemini 智能体,例如向模型提供 get_weather(city) 工具。
- 构建命令行或界面程序的团队需要逐 token 显示回复,并在界面中分别展示 response.thoughts 和 response.tool_calls。
- 需要让智能体结合 PDF、图片、视频、音频或文档完成分析的应用开发者,可将 from_file(...) 或 Image 数据与文字提示一并发送。
- 已有 MCP stdio 工具服务的工程团队,需要用 McpStdioServer 将其暴露给智能体调用。
- 需要保存多轮上下文、检查步骤历史或直接消费流式 Step 的开发者,可使用 Conversation 和 LocalConnectionStrategy。
- 在 Google Cloud 项目中使用 Gemini Enterprise Agent Platform 的团队,可通过 vertex=True、project 与 location 配置,并使用 ADC 认证。
这个 Agent 有哪些优点和局限?
- Agent 将二进制发现、工具接线、Hook 注册和默认策略封装在单个异步上下文管理器中,适合从简单调用起步。
- Conversation 提供 history、turn_count、last_response、send 和 receive_steps,支持需要会话状态和步骤级处理的实现。
- 同一 chat 接口可处理文本与图片、视频、音频、文档等内容对象,并提供 from_file(...) 文件快捷方式。
- 既能注册 Python 函数工具,也能通过 McpStdioServer 接入外部 MCP 服务,并可用声明式策略控制工具调用。
- 核心能力明确依赖 Google Antigravity 与 Gemini,未提供其他模型或提供商适配路径。
- 必须通过 PyPI 安装平台特定 wheel 才能获得编译运行时;仅克隆仓库不能运行 SDK。
- 默认只读;若传入 CapabilitiesConfig() 会启用包括写入在内的全部工具,采用前需要自行设计权限与策略。
- Enterprise 路径需要 GCP 项目、区域以及 Application Default Credentials 或相应环境变量。
如何安装或部署这个 Agent?
从 PyPI 安装:
pip install google-antigravity不要只克隆仓库:SDK 所需的编译运行时二进制包含在 PyPI 发布的平台特定 wheel 中。使用 Gemini API 时,先设置 GEMINI_API_KEY="your_api_key_here";使用 Gemini Enterprise Agent Platform(原 Vertex AI)时,可在 LocalAgentConfig 中设置 vertex=True、project 和 location,或设置 GOOGLE_GENAI_USE_VERTEXAI=True、GOOGLE_CLOUD_PROJECT 与 GOOGLE_CLOUD_LOCATION,然后执行 gcloud auth application-default login。
如何使用这个 Agent?
最小调用:
from google.antigravity import Agent, LocalAgentConfigasync with Agent(LocalAgentConfig()) as agent:
response = await agent.chat("Hello!")
print(await response.text())也可先设置 GEMINI_API_KEY 后运行示例:python ./examples/getting_started/hello_world.py。若使用 Enterprise 配置,显式传入 LocalAgentConfig 的参数优先于环境变量。
这个 Agent 与同类方案有什么区别?
Agent 适合采用高层封装:它在异步上下文中管理生命周期并直接提供 chat。Conversation 搭配 ConnectionStrategy 和 ToolRunner 面向需要控制连接生命周期、累积步骤历史或消费 Step 流的实现。