LangChain vs. LangGraph vs. Deep Agents从 Deep Agents 开始,获取一个“开箱即用”的智能体,具备自动上下文压缩、虚拟文件系统和子智能体生成等功能。Deep Agents 构建于 LangChain 智能体 之上,您也可以直接使用 LangChain。对于需要结合确定性工作流和智能体工作流的高级需求,请使用我们的底层编排框架 LangGraph。
创建一个智能体
// 首先安装:npm install langchain zod @langchain/openai
import { createAgent, tool } from "langchain";
import * as z from "zod";
const getWeather = tool(
(input) => `${input.city} 总是阳光明媚!`,
{
name: "get_weather",
description: "获取给定城市的天气",
schema: z.object({
city: z.string().describe("要获取天气的城市"),
}),
}
);
const agent = createAgent({
model: "gpt-5.4",
tools: [getWeather],
});
console.log(
await agent.invoke({
messages: [{ role: "user", content: "旧金山的天气怎么样?" }],
})
);
// 首先安装:npm install langchain zod @langchain/google-genai
import { createAgent, tool } from "langchain";
import * as z from "zod";
const getWeather = tool(
(input) => `${input.city} 总是阳光明媚!`,
{
name: "get_weather",
description: "获取给定城市的天气",
schema: z.object({
city: z.string().describe("要获取天气的城市"),
}),
}
);
const agent = createAgent({
model: "google-genai:gemini-2.5-flash-lite",
tools: [getWeather],
});
console.log(
await agent.invoke({
messages: [{ role: "user", content: "旧金山的天气怎么样?" }],
})
);
// 首先安装:npm install langchain zod @langchain/anthropic
import { createAgent, tool } from "langchain";
import * as z from "zod";
const getWeather = tool(
(input) => `${input.city} 总是阳光明媚!`,
{
name: "get_weather",
description: "获取给定城市的天气",
schema: z.object({
city: z.string().describe("要获取天气的城市"),
}),
}
);
const agent = createAgent({
model: "claude-sonnet-4-6",
tools: [getWeather],
});
console.log(
await agent.invoke({
messages: [{ role: "user", content: "旧金山的天气怎么样?" }],
})
);
// 首先安装:npm install langchain zod @langchain/openrouter
import { createAgent, tool } from "langchain";
import * as z from "zod";
const getWeather = tool(
(input) => `${input.city} 总是阳光明媚!`,
{
name: "get_weather",
description: "获取给定城市的天气",
schema: z.object({
city: z.string().describe("要获取天气的城市"),
}),
}
);
const agent = createAgent({
model: "openrouter:anthropic/claude-sonnet-4-6",
tools: [getWeather],
});
console.log(
await agent.invoke({
messages: [{ role: "user", content: "旧金山的天气怎么样?" }],
})
);
// 首先安装:npm install langchain zod @langchain/community
import { createAgent, tool } from "langchain";
import * as z from "zod";
const getWeather = tool(
(input) => `${input.city} 总是阳光明媚!`,
{
name: "get_weather",
description: "获取给定城市的天气",
schema: z.object({
city: z.string().describe("要获取天气的城市"),
}),
}
);
const agent = createAgent({
model: "fireworks:accounts/fireworks/models/qwen3p5-397b-a17b",
tools: [getWeather],
});
console.log(
await agent.invoke({
messages: [{ role: "user", content: "旧金山的天气怎么样?" }],
})
);
// 首先安装:npm install langchain zod @langchain/community
import { createAgent, tool } from "langchain";
import * as z from "zod";
const getWeather = tool(
(input) => `${input.city} 总是阳光明媚!`,
{
name: "get_weather",
description: "获取给定城市的天气",
schema: z.object({
city: z.string().describe("要获取天气的城市"),
}),
}
);
const agent = createAgent({
model: "baseten:zai-org/GLM-5",
tools: [getWeather],
});
console.log(
await agent.invoke({
messages: [{ role: "user", content: "旧金山的天气怎么样?" }],
})
);
// 首先安装:npm install langchain zod @langchain/ollama
import { createAgent, tool } from "langchain";
import * as z from "zod";
const getWeather = tool(
(input) => `${input.city} 总是阳光明媚!`,
{
name: "get_weather",
description: "获取给定城市的天气",
schema: z.object({
city: z.string().describe("要获取天气的城市"),
}),
}
);
const agent = createAgent({
model: "ollama:devstral-2",
tools: [getWeather],
});
console.log(
await agent.invoke({
messages: [{ role: "user", content: "旧金山的天气怎么样?" }],
})
);
// 首先安装:npm install langchain zod @langchain/openai
import { createAgent, tool } from "langchain";
import * as z from "zod";
const getWeather = tool(
(input) => `${input.city} 总是阳光明媚!`,
{
name: "get_weather",
description: "获取给定城市的天气",
schema: z.object({
city: z.string().describe("要获取天气的城市"),
}),
}
);
const agent = createAgent({
model: "azure_openai:gpt-5.4",
tools: [getWeather],
});
console.log(
await agent.invoke({
messages: [{ role: "user", content: "旧金山的天气怎么样?" }],
})
);
// 首先安装:npm install langchain zod @langchain/aws
import { createAgent, tool } from "langchain";
import * as z from "zod";
const getWeather = tool(
(input) => `${input.city} 总是阳光明媚!`,
{
name: "get_weather",
description: "获取给定城市的天气",
schema: z.object({
city: z.string().describe("要获取天气的城市"),
}),
}
);
const agent = createAgent({
model: "bedrock:gpt-5.4",
tools: [getWeather],
});
console.log(
await agent.invoke({
messages: [{ role: "user", content: "旧金山的天气怎么样?" }],
})
);
使用 LangSmith 来跟踪请求、调试智能体行为并评估输出。设置
LANGSMITH_TRACING=true 和您的 API 密钥即可开始。核心优势
标准模型接口
不同的提供商拥有与模型交互的独特 API,包括响应格式。LangChain 标准化了您与模型交互的方式,使您可以无缝切换提供商并避免锁定。
易于使用、高度灵活的智能体
LangChain 的智能体抽象设计易于上手,让您在不到 10 行代码内构建一个简单的智能体。但它也提供了足够的灵活性,允许您进行所有期望的上下文工程。
构建于 LangGraph 之上
LangChain 的智能体构建于 LangGraph 之上。这使我们能够利用 LangGraph 的持久执行、人在回路支持、持久化等功能。
使用 LangSmith 进行调试
通过可视化工具深入洞察复杂的智能体行为,这些工具可以跟踪执行路径、捕获状态转换并提供详细的运行时指标。
将这些文档通过 MCP 连接到 Claude、VSCode 等,以获取实时答案。

