96SEO 2026-09-21 06:21 6
在使用 LangChain.js 开发智能体时许多开发者面临着以下痛点:
下面的章节将逐一拆解这些痛点。并提供实用的代码示例,方便你上手并建立健壮、可维护的 Tool 与 Agent。其实,

在 LangChain 中。Tool 本质上是一个可调用函数,包含三个主要要素:
唯一标识符,模型根据它决定调用哪一个工具。
告诉模型工具用途、适用场景与禁用场景。描述质量直接影响调用准确率。
使用 Zod 定义输入约束,防止模型传入错误类型的数据。
// 使用者输入
// Agent 判断是否需要工具
// LLM 返回 Tool 名称 + 参数
// LangChain 执行 Tool
// 将结果返回给 LLM
// LLM 生成最终回答
import * as z from "zod";import { tool } from "langchain";const wearSchema = z.object({
再看city。z.string.describe,unit: z.enum.optional
.describe
});const getWearTool = tool => {
// 在实际使用中会调用外部天气 API
if {
return `${city}今天晴朗,温度 ${unit === "celsius"?"°C" : "°F"}`;}
return `${city}今天多云`;},{
name这方面,"get_wear"。description: "获取指定城市的当前天气情况",schema: wearSchema,});console.log);// 输出: 北京今天晴朗,温度 °C
.describe 给每个字段添加解释,帮助模型理解需要什么值。
const safeCalculator = tool => {
try {
if throw new Error;return input.a / input.b;} catch {
// 返回错误信息字符串,而不是抛异常
return `工具调用出错: ${error.message}`;}
},{
至于name,"safe_divide",description: "除法计算"。
schema: z.object({
a: z.number,b: z.number,}),});不过,
LLM 接收到错误信息后可以尝试换参数重试或向使用者说明原因。从而避免整个流程中断,
至于安装社区包,
npm install @langchain/community
引入并实例化 Google 搜索工具:
import { SerpAPI } from "@langchain/community/tools/serpapi";const searchTool = new SerpAPI(process.env.SERPAPI_API_KEY。{
从hl来看,"cn",gl: "cn",});/* 若未配置 KEY,将报错:
说到Error。SerpAPI API key not set...
*/
import { RunnableConfig } from "@langchain/core/runnables";import { tool } from "langchain";import * as z from "zod";
const queryDatabaseTool = tool => {
const userId = config?.configurable?.userId,return 查询到了使用者 ${userId} 的数据...;},{
name的观点是,"queryuserdb"。description:"查询当前使用者的数据库信息",schema:z.object })
});
// 调用时传入配置: agentExecutor.invoke( { input:"..." },{ configurable:{ userId:"12345"} } );
// 工具实现:读取 context 中使用者名
const getUserName = tool(
async => {
const userName = config.context.username;if{
return userName;}
return “I don't know your name.”;},{
name的观点是,"getuser_name"。description:"Get current user's name.",schema:z.object,},);
// 上下文结构定义
const contextSchema=z.object({
user_name:z.string,});
// 创建 Agent 并注入上下文 Schema
const agent=createAgent({
model这方面。new ChatOpenAI,tools:,contextSchema,});
// 调用时传入上下文数据
const result=await agent.invoke(
{
messages:,}。{
configurable:{ threadid : crypto.randomUUID },// 会话 ID
context:{ username:"John Smith"},// 上下文数据
}
);console.log,
-
再看**痛点**。若没有传递 context 或者命名不一致,会导致 Tool 无法正确获取使用者信息,从而返回无效答案。方法是提前声明并统一命名。
长期记忆 Store :跨会话保留关键数据
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback