新闻详情

新闻详情

首页 / 资讯中心 / 详情

AI Agent如何学会使用工具?Google Antigravity SDK自定义工具开发完全指南

发布时间:2026/9/26 23:03:35来源:尧图网络
AI Agent如何学会使用工具?Google Antigravity SDK自定义工具开发完全指南
AI Agent如何学会使用工具Google Antigravity SDK自定义工具开发完全指南【免费下载链接】antigravity-sdk-pythonA Python library for building AI agents that leverage the full power of Google Antigravity.项目地址: https://gitcode.com/gh_mirrors/an/antigravity-sdk-pythonGoogle Antigravity SDK 是 Google 开源的 Python AI Agent 开发框架帮你为智能体挂载自定义工具Custom Tools——从普通 Python 函数、带状态的工具到外部 MCP 工具服务器本文带你从零掌握让 AI Agent 学会动手干活的完整开发路径。 准备工作1 分钟安装 SDK整个工具系统的入口是Agent类它把连接管理、工具接线、策略注册全部封装好了。先安装 SDKpip install google-antigravity⚠️ SDK 依赖打包在 PyPI wheel 里的编译后运行时二进制只克隆仓库代码是无法运行的务必通过 pip 从 PyPI 安装详见 README.md。运行任何示例前设置好 API Keyexport GEMINI_API_KEYyour_api_key_here✋ 三步定义你的第一个自定义工具自定义工具的本质非常简单一个带类型注解和文档字符串docstring的 Python 函数。只需三步写函数用类型注解描述参数用 docstring 说明用途注册把函数放进LocalAgentConfig(tools[...])对话调用agent.chat()模型会在需要时自动调用工具。以官方 自定义工具示例 为例def lookup_fruit_sku(fruit_name: str) - str: 查询指定水果的 SKU 编号。 return fSKU for {fruit_name}: SKU-GEN-000 config LocalAgentConfig(tools[lookup_fruit_sku])就这么少当用户问苹果的 SKU 是多少时Agent 会自动调用lookup_fruit_sku并把结果说给用户听。关键机制SDK 会自动从函数的签名和 docstring 生成 JSON Schema 喂给模型——所以docstring 写得越清楚模型选对工具的准确率越高。 幕后英雄ToolRunner 如何执行工具所有工具的执行都由ToolRunner统一调度核心实现在 tool_runner.py。它帮你处理了这些脏活能力说明注册表管理register()按名称登记工具重复注册会立即报错同步/异步双支持自动检测async def同步函数会被丢到独立线程执行不阻塞事件循环参数自动转换用 Pydantic 按类型注解把模型给的字符串参数转成int、bool等批量并发执行process_tool_calls()可并行执行多个工具调用此外tool_context.py 定义了ToolContext类型——它是下一节状态工具的主角。 让工具记住状态ToolContext 注入普通函数是无状态的。如果工具需要在多轮对话间累计数据比如购物车、计数器、分页游标就在函数签名里声明一个ToolContext参数SDK 会在执行时自动注入且模型永远看不到这个参数def record_fruit(sku: str, count: int, ctx: ToolContext) - str: 按 SKU 记录水果数量跨轮次累计。 counts ctx.get_state(fruit_counts, {}) counts[sku] counts.get(sku, 0) count ctx.set_state(fruit_counts, counts) return f已记录{sku} 当前共 {counts[sku]} 件。ctx.get_state(key, default)/ctx.set_state(key, value)是按会话隔离的键值存储状态仅在该会话生命周期内有效多个工具之间还能借此共享数据注意工具的状态存储与 Hook 的HookContext是相互独立的两套互不可见见 tools README。注册时ToolRunner 会自动检测这个参数并缓存生成模型可见的 Schema 时把它剥掉——你完全不用关心。 管好工具的权限Policy 策略系统给 Agent 工具 给它权力。SDK 提供声明式策略hooks.py 示例from google.antigravity.hooks import policy policies [ policy.deny_all(), # 默认全部拒绝 policy.allow(lookup_fruit_sku), # 只放行我的工具 ]ask_user(tool, handler...)还能在调用前弹窗征求人工确认实现人在环中。禁用与拒绝是两个层次内置工具参考方式模型看得到工具适用场景CapabilitiesConfig.enabled_tools / disabled_tools❌ 从上下文彻底移除省 token与 Agent 职责无关的工具policy.deny()✅ 可见但运行时被拒模型知道为什么不行按参数/上下文动态拦截比如只让模型看到只读工具from google.antigravity.types import CapabilitiesConfig, BuiltinTools config LocalAgentConfig( capabilitiesCapabilitiesConfig(enabled_toolsBuiltinTools.read_only()), )SDK 内置了list_directory、run_command、search_web等 13 个工具完整清单见 types.py 的BuiltinTools枚举。 接入外部工具MCP 服务器不想写 Python可以直接接入任意 MCP 服务器其工具自动暴露给 Agentfrom google.antigravity.types import McpStdioServer config LocalAgentConfig( mcp_servers[ McpStdioServer(namemy_server, commandnpx, args[my-mcp-server]), ] )Stdio、SSE、Streamable HTTP 三种传输方式都已支持mcp_tools.py 里有完整可运行的演示。 进阶玩法覆盖内置工具注册一个与内置工具同名的自定义函数即可直接替换它的实现——无需在disabled_tools里手动关闭原工具SDK 会自动优先你的版本并打印确认日志详见 custom_tool.md 的 Overriding Built-in Tools 一节。✅ 新手避坑清单docstring 即说明书写清楚工具做什么、何时该用、参数含义这是模型学会用工具的全部依据参数加类型注解SDK 靠注解生成 Schema 并做自动类型转换返回值用字符串模型消费的是文本复杂结构记得json.dumps后返回最小权限原则deny_all() 逐个allow()比全放行再打补丁更安全同步函数放心写ToolRunner会替你放到线程里跑不会卡死异步循环。 关键文件导航入门示例hello_world.py · custom_tools.py · hooks.py工具执行引擎google/antigravity/tools/tool_runner.py状态上下文google/antigravity/tools/tool_context.py高级入口Agent / Conversationgoogle/antigravity/agent.py · conversation README内置工具与安全策略参考built_in_tools.md · safety_policies.md从一个函数 一段 docstring到带状态、有权限、连外部 MCPGoogle Antigravity SDK 让工具开发从繁琐的协议对接变成了纯 Python 的事——现在就去给你的 Agent 装上第一把瑞士军刀吧 【免费下载链接】antigravity-sdk-pythonA Python library for building AI agents that leverage the full power of Google Antigravity.项目地址: https://gitcode.com/gh_mirrors/an/antigravity-sdk-python创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Agent of Empires配置完全参考:config.toml与Profile关键设置详解 2026/9/27 2:32:20

Agent of Empires配置完全参考:config.toml与Profile关键设置详解

Agent of Empires配置完全参考:config.toml与Profile关键设置详解 【免费下载链接】agent-of-empires Manage multiple Claude Code, OpenCode agents from either TUI or Web for easy access on mobile. Also supports Mistral Vibe, Codex CLI, Gemini CLI, Pi.d…

阅读更多 →
Python手写机器学习算法:从逻辑回归到多分类实战指南 2026/9/27 2:32:13

Python手写机器学习算法:从逻辑回归到多分类实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
<数据集>煤矸石识别数据集<目标检测> 2026/9/27 2:32:13

<数据集>煤矸石识别数据集<目标检测>

一、数据集简介 YOLO与VOC格式的煤矸石数据集,适用于YOLO系列、Faster Rcnn、SSD等模型训练,类别:Coal、Rock,图片数量3091。 文件中包含图片、txt标签、指定类别信息的yaml文件、xml标签,已将图片和txt标签划分为训练…

阅读更多 →
Skyline渲染引擎实战:从卡顿到稳如老狗的跨端性能优化 2026/9/27 2:31:48

Skyline渲染引擎实战:从卡顿到稳如老狗的跨端性能优化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
单节锂保IC如何快速定制?CM100E新国标方案解析 2026/9/27 2:31:41

单节锂保IC如何快速定制?CM100E新国标方案解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
帝国企业网站模板速查手册:解决没人访问的选型真相 2026/9/27 2:31:35

帝国企业网站模板速查手册:解决没人访问的选型真相

帝国企业网站模板速查手册:解决没人访问的选型真相 网站做好了没人访问,这是无数设计师转前端时最绝望的时刻。你精心调色的页面,在搜索引擎眼里可能只是一堆乱码。别急,这份 帝国企业网站模板 的 速查手册…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉