大语言模型(LLM)虽能流畅对话、生成代码,但其能力始终局限于训练数据所覆盖的知识范围。它无法实时获取天气、查询数据库、执行计算或调用企业内部 API——除非我们赋予它“手脚”。LangChain 的 Tools 模块正是为此而生:通过声明式地注册外部函数,让 LLM 在推理过程中自主决定是否调用、调用哪个工具,并解析所需参数,从而将 AI 从“聊天机器人”升级为具备真实行动力的智能代理。

工具即能力:扩展 LLM 的边界

在 LangChain 中,一个 Tool 是一个带有元信息(名称、描述、参数 schema)的异步函数。开发者只需关注业务逻辑,框架负责将其转化为 LLM 可理解的接口:

const weatherTool = tool(
  async ({ city }) => {
    const weather = fakeWeatherDB[city];
    return weather 
      ? `城市${city}的天气是${weather.temp},${weather.condition}`
      : `城市${city}的天气信息不存在`;
  },
  {
    name: 'weather',
    description: '获取城市的天气信息',
    schema: z.object({
      city: z.string().describe('要查询天气的城市名称'),
    }),
  }
);

这里使用 zod 定义了输入参数的结构与类型约束。description 和字段的 describe 则作为自然语言提示,帮助 LLM 理解何时及如何使用该工具。这种设计使得工具注册既安全又语义清晰。

模型绑定工具:开启自主决策

注册工具后,需将其“绑定”到模型实例,使其在生成回复前具备工具调用的选项:

const model = new ChatDeepSeek({
  model: 'deepseek-chat',
  temperature: 0
}).bindTools([addTool, weatherTool]);

const res = await model.invoke('北京的天气');

当用户提问涉及实时数据时,模型不再尝试“编造”答案,而是返回一个 tool_calls 字段,明确指示应调用 weather 工具,并附上解析出的参数 { city: "北京" }。这标志着 LLM 从“猜测者”转变为“协调者”。

执行工具调用:连接虚拟与现实

拿到 tool_calls 后,应用需手动执行对应工具并返回结果:

if (res.tool_calls?.length) {
  const call = res.tool_calls[0];
  if (call.name === 'weather') {
    const result = await weatherTool.invoke(call.args);
    console.log(result); // 输出真实天气信息
  }
}

这一过程看似简单,却构成了 AI Agent 的核心循环:感知(用户输入)→ 决策(是否调用工具)→ 行动(执行工具)→ 反馈(将结果告知用户或用于下一步推理)。通过这种方式,LLM 能够动态接入任意外部系统,能力边界仅受限于开发者提供的工具集。

多工具协同:构建复杂任务流

一个应用通常需要多个工具协同工作。例如,同时支持天气查询与数学计算:

const addTool = tool(
  async ({ a, b }) => String(a + b),
  {
    name: 'add',
    description: '计算两个数字的和',
    schema: z.object({
      a: z.number(),
      b: z.number(),
    }),
  }
);

当用户问“北京温度加上5是多少?”,理想情况下,Agent 会先调用 weather 获取温度(如30°C),再调用 add 计算 30 + 5。虽然当前示例需手动处理单次调用,但结合 LangChain 的 Agent 执行器,可自动完成多步工具调用与结果串联,实现真正的端到端自动化。

类型安全与可维护性

使用 zod 定义参数 schema 不仅提升 LLM 的参数解析准确率,还带来强类型保障。在 TypeScript 项目中,工具函数的输入类型可自动推导,减少运行时错误。同时,每个工具自包含逻辑、描述与验证规则,便于团队协作与长期维护。

实际价值:从问答到服务

引入 Tools 后,AI 应用的形态发生质变:

  • 客服系统:调用订单接口查询物流;
  • 数据分析助手:执行 SQL 查询并生成图表;
  • DevOps 机器人:根据日志触发部署或回滚;
  • 个人助理:读取日历、发送邮件、控制智能家居。

这些场景的共同点是:LLM 负责理解意图与规划步骤,工具负责执行具体操作。二者分工明确,各司其职。

结语

LangChain 的 Tools 模块,本质上是在 LLM 与现实世界之间架设了一座桥梁。它不改变模型本身,而是通过标准化的接口,让 AI 能够“动手做事”。随着工具生态的丰富,未来的智能应用将不再是被动响应的问答机,而是能主动感知、决策、执行的数字员工。而这一切,始于一行 tool() 的声明。

     学习资源推荐

如果你想更深入地学习大模型,以下是一些非常有价值的学习资源,这些资源将帮助你从不同角度学习大模型,提升你的实践能力。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!​

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示

​因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

四、AI大模型商业化落地方案

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐