LLM 不懂实时世界:用 Python Tool 构建可执行、可查数据的智能体

9 阅读6分钟

在大模型(LLM)迅速普及的今天,很多开发者都在用它来写代码、生成文案、分析数据。
但如果你认真想把大模型“落地”到真实业务里,你一定会遇到一个终极难题:

大模型很聪明,但它不知道“实时数据”。

比如天气、股价、新闻、数据库查询、接口调用……
这些信息大模型都不知道,也没法自己“上网查”。

那么,怎么让大模型真正“动手”?
让它不仅会推理,还能像一个真实的 AI 助手一样去执行任务?

答案就是 —— Tool(工具调用)

这篇文章会从 Python 实践出发,通俗地讲清楚:

  • 为什么 Tool 是大模型落地的关键?
  • Python 如何让大模型调用我们写的函数?
  • Tool 是如何让 LLM 拥有“行动能力”的?
  • 完整可运行的示例:查询实时股价工具
  • Tool 在未来 AI 基础设施中的意义是什么?

如果你想让大模型变成“能做事的 AI”,这篇文章超适合你。


一、大模型已经很聪明——但它有天然的限制

无论是 DeepSeek、GPT、Claude,它们都属于预训练大模型
这意味着它们的知识全部来自:

  • 大规模语料库
  • 网络文本
  • 书籍、论文
  • 训练集中的代码与数据

它们非常擅长:

  • 语言理解
  • 推理
  • 格式化输出
  • 总结与讲解
  • 生成结构化内容

但是——

❌ 但它们不会知道“实时数据”

比如:

  • “今天青岛啤酒的收盘价多少?”
  • “帮我查一下我数据库里用户的余额?”
  • “从 API 拿一下最新的天气?”
  • “读一下本地 CSV 文件?”

大模型永远不知道,因为:

模型参数 ≠ 外部世界

模型权重里只有训练时接触过的模式,没有任何实时更新的内容。

因此,LLM 再强,也无法做到:

  • 自己访问网络
  • 自己读本地文件
  • 自己执行系统命令
  • 自己调用企业 API
  • 自己查数据库

所以,光靠 LLM 本身是不够的。


二、Tool(工具调用):让 LLM 拥有“执行能力”的关键

Tool 的核心思想其实很简单:

你把某个 Python 函数声明给大模型,然后大模型在需要时自动调用它。

举个例子:
你写了一个函数 get_closing_price(),里面可能是:

  • 访问股票 API
  • 或查数据库
  • 或读取本地 CSV

只要你把它注册成一个 Tool,大模型就会自动这样思考:

用户想查股价 -> 我自己不知道 -> 调用 get_closing_price(name)

然后返回执行结果,再继续对话。

最终效果是:

🧠 大模型:负责理解 / 推理 / 规划

🛠 工具(你的代码):负责访问数据 / 执行行动 / 获取真实世界信息

这就形成了AI 的两条腿

角色能力
LLM理解需求、推理、生成文本
Tool执行任务、获取信息、操作数据

当二者结合,你的 AI 才真正可用、可落地。


三、Python:构建大模型 + Tool 的最佳语言

Python 天生适合:

  • 数据处理
  • AI 训练
  • 网络请求
  • 快速实验
  • 工具开发

尤其是配合 Jupyter Notebook(.ipynb),你可以:

  • 一行行运行
  • 逐步调试
  • 实验算法与接口
  • 即时查看结果

这也是为什么整个 AI 社区都偏爱 Python。


四、从模块化角度看 LLM + Tool 的最佳结构

实际项目中,我们最好做到:

  • 一段代码只负责一件事
  • 用模块拆分逻辑
  • 开发者能独立维护不同功能

例如:

/tools/price.py        # 股票查询工具函数  
/core/chat.py          # 处理消息的封装  
/main.py               # 启动入口  

模块化让你的 AI 项目结构清晰,更易扩展。


五、chat.completions:让多轮对话更真实

OpenAI/DeepSeek 标准接口采用 messages 结构:

messages = [
    {"role": "system", "content": "你是一个智能助手"},
    {"role": "user", "content": "青岛啤酒股价是多少?"}
]

角色含义非常重要:

  • system:设定 AI 的身份、规则
  • user:用户输入的需求
  • assistant:模型输出的回复

多轮对话时,messages 会持续累积,让模型持续“记住”上下文,非常关键。


六、重头戏:让大模型调用我们写的 Tool(超核心)

假设我们有一个简单的工具,用于查股票收盘价:

def get_closing_price(name):
    if name == '青岛啤酒':
        return '67.92'
    return '未找到股票'

接下来,我们把它声明成 Tool:

tools = [
    {
        "type": "function",
        "function": {
            "name": "get_closing_price",
            "description": "获取指定股票的收盘价",
            "parameters": {
                "type": "object",
                "properties": {
                    "name": {"type": "string", "description": "股票名称"}
                },
                "required": ["name"]
            }
        }
    }
]

这段 JSON 结构非常关键:

字段意义
nameTool 名字(必须与 Python 函数名一致)
description给模型看的自然语言说明
parametersTool 的参数结构(模型会根据它自动生成调用)

七、Python 端如何让大模型“自由选择使用工具”

核心代码如下:

from openai import OpenAI
import json

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.deepseek.com/v1"
)

def send_message(messages):
    response = client.chat.completions.create(
        model='deepseek-reasoner',
        messages=messages,
        tools=tools,
        tool_choice='auto'  # 模型自由决定是否调用工具
    )
    return response

大模型回复后,我们可以读取结果:

messages = [{"role":"user","content":"青岛啤酒的收盘价是多少?"}]
response = send_message(messages) 
message = response.choices[0].message
print(message)

当模型判断“应该调用工具”时,它的 message 会自动变成 Tool 调用格式,然后你的程序再执行对应函数,再把结果回给模型。

最终用户看到的是正确的实时回复。


八、为什么 Tool 调用是 LLM 时代最关键的基础设施?

1. 让模型从“会说话”进化为“能做事”

光回答问题没有价值。
企业真正需要的是:

  • 查数据
  • 执行流程
  • 发起 API 调用
  • 自动生成报告
  • 完成实际任务

Tool 让模型拥有行动能力。


2. 让 LLM 成为“业务中台”

未来的业务逻辑可能变成:

LLM 负责思考  
Tool 负责行动  
开发者只需定义工具  

这是 AI-native 的理想模式。


3. 让模型的能力无限扩展

模型再大也不可能内置所有知识。
但 Tool 可以接入任何能力,例如:

  • SQL 数据库
  • 网络爬虫
  • 支付系统
  • 调度系统
  • IoT 硬件
  • 甚至操作系统命令

只要你能写出来,模型就能用。


4. 这是所有主流模型未来的共同方向

无论 GPT、Claude、DeepSeek、Gemini,都在投入:

  • Function Calling
  • Tool Calling
  • Agent
  • Workflow AI

这不是某个公司的方向,而是整个 AI 行业的大趋势


九、总结:Tool 才是让 AI 真正落地的关键“拼图”

通过这篇文章,你应该已经清楚:

✅ 大模型能推理,但不知道实时信息

✅ Tool 是让模型拥有“执行能力”的关键机制

✅ Python 是构建 Tool 的最佳语言

✅ Tool + LLM 才能组成完整的“智能系统”

✅ 未来 AI 应用的核心就是:

LLM 理解问题 → Tool 获取数据/执行操作 → LLM 继续回答

当你掌握了 Tool 调用,你就掌握了真正的 AI 应用开发能力。