Gemini 编程与工具能力(扩展版)
更新时间:2026-01-11 数据来源:
- https://ai.google.dev/gemini-api/docs/models↗
- https://ai.google.dev/gemini-api/docs/tools↗
- https://ai.google.dev/gemini-api/docs/function-calling↗
- https://ai.google.dev/gemini-api/docs/code-execution↗
- https://ai.google.dev/gemini-api/docs/url-context↗
- https://ai.google.dev/gemini-api/docs/file-search↗
本页聚焦 Gemini 在 编程辅助、工具调用、代码执行 方面的能力与选型建议,适合做 AI 编程工作流、自动化脚本与 Agent 任务。

#1) 工具能力概览
Gemini API 提供两类工具能力:
- 内置工具(Built-in Tools):官方托管,常见场景无需自建基础设施。
- 自定义工具(Function Calling):你定义函数签名,模型选择调用并返回参数。
官方内置工具(节选):
- Google Search:基于实时网页进行检索与事实校验。
- Google Maps:位置与地图相关任务。
- Code Execution:模型生成并执行 Python 代码用于计算与数据处理。
- URL Context:读取指定 URL 内容进行回答。
- File Search:对自有文档做检索与 RAG。
- Computer Use (Preview):浏览器 UI 自动化(预览版)。
完整列表与费用说明请看官方 Tools 页面。
#2) Function Calling 适用场景
当你需要让模型 调用内部 API 或业务逻辑 时,使用 Function Calling:
- 订单/库存/CRM 查询
- 自动生成报表或触发任务
- 结合内部数据做决策
流程简述:
- 定义函数签名(参数 schema)
- 让模型在合适时机返回 tool call
- 由你的服务执行函数并把结果回传模型
- 模型给出最终用户回答
#3) Code Execution 适用场景
Code Execution 允许模型生成并执行 Python 代码,适合:
- 复杂数学计算与统计
- 结构化数据清洗/转换
- 小型数据分析与可视化(文本输出)
使用时建议明确输出格式(JSON/表格/要点),避免无用解释。
#4) URL Context 与 File Search
- URL Context:指定网页或文档,模型读取后回答问题,适合“以来源为准”的检索型回答。
- File Search:对自有文档建立索引,进行 RAG 检索后再生成回答。
#5) 编程任务的选型建议
- 复杂推理 + 工具链:
gemini-3-pro-preview或gemini-2.5-pro - 高频调用 + 成本敏感:
gemini-3-flash-preview或gemini-2.5-flash - 批量脚本/自动化:
gemini-2.5-flash-lite
#6) 工具调用 vs 结构化输出
- 工具调用:适合需要真实世界操作(搜索、数据库、支付、任务调度)。
- 结构化输出:适合只需要模型生成稳定格式(JSON/表格/清单)。
实践中常见组合:
- 先用结构化输出收敛需求
- 再触发工具调用执行动作
- 最后让模型生成面向用户的解释或报告
#7) 实战提示(提高成功率)
- 先用结构化输出:例如
{"task":"...","steps":[...]},便于二次处理。 - 工具调用优先清晰:为函数参数提供枚举、范围、示例。
- 限制代码执行:把执行环境当作“计算器”,不要让模型做系统级操作。
- 关键流程要二次校验:比如下单/转账动作必须加确认步骤。
- 多轮策略:先生成草案,再做审查与修订,避免一次性生成“黑盒答案”。
#8) 推荐流程(开发视角)
- Prompt 设计:定义系统角色与输出格式
- 工具协议:函数 schema 约束 + 示例输入
- 执行与验证:函数返回结果后再让模型总结
- 监控:记录 tool call 成功率与错误类型
#9) 相关链接
#实例 Prompt(短版)
text你是后端工程师。请把需求拆成 API 设计、数据结构、伪代码三部分,输出为 Markdown 标题清单。
text请调用工具获取最新订单状态,并用一句话给用户反馈;若失败,说明需要的参数。
本页面由匠人学院 Wiki 系统维护。