96SEO 2026-08-09 10:26 0
Agent = LLM + Memory + Tool + RAG + MCP + Skills

BaseChatMessageHistory与Memory抽象。tool_calls;宿主程序执行并返回结果,- 必须为每个工具提供Description&Zod schema.
import { tool } from '@langchain/core/tools';import { z } from 'zod';import fs from 'node:fs/promises';const readFileTool = tool(
async => {
const content = await fs.readFile;return content;},{
至于name,'read_file'。description:
'读取文件内容。当使用者要求查看代码或分析文件时调用。',schema: z.object({
filePath: z.string.describe。}),}
),
User Prompt → LLM Planning/Reasoning → 加载 Memory → 判断是否需要 Tool 或 RAG → 执行 → 更新消息 -> 循环直到完成。其实,此循环实现思考-行动-观察闭环。
NestJS+LangChain+DeepSeek 示例:初始化模型并绑定工具.
import { ChatOpenAI } from '@langchain/openai';import 'dotenv/config';const model = new ChatOpenAI({
modelName: 'deepseek-v4-flash',apiKey: process.env.DEEPSEEK_API_KEY。temperature:0,configuration:{ baseURL:'https://api.deepseek.com/v1' },});const tools=;const modelWithTools=model.bindTools;老实说,
*请先确保已安装 Node.js 和 LangChain SDK。并配置 DeepSeek API Key.
import { SystemMessage,HumanMessage,AIMessage,ToolMessage } from '@langchain/core/messages';// 构造程序指令
const systemMsg = new SystemMessage(`
你是一个代码助手,具备读取文件和解释代码的能力。工作流程这方面,1️⃣ 使用者请求读取文件 -> 调用 read_file 工具
2️⃣ 等待工具返回内容 -> 基于内容分析一下和解释
`);// 使用者请求
const humanMsg = new HumanMessage;// 对话历史
let messages=;// 调用模型
let response=await modelWithTools.invoke;
messages.push;// 若出现 tool_calls,则执行对应工具
if {
const results=await Promise.all(
response.tool_calls.map(async tc=>{
const args=JSON.parse;不过,const result=await tools.find.invoke;return new ToolMessage,tool_call_id:tc.id});})
),messages.push;//
询问模型获取最终答案
const finalResp=await modelWithTools.invoke;console.log,}
else{
console.log;// 已经给出答案
}
注意这方面,若多个 tool_calls 并无依赖。可使用 `Promise.all` 并发执行,大幅降低等待时间。老实说,
至于深入并发调整。Promise.all 与 Agent 性能提高
再看串行调用示例,js
const data1 = await getWear;//2000ms
const data2 = await getTweets;//500ms
再看而并行调用。js
const = await Promise.all,getTweets]);其实,多文件读取、批量 API 请求一样可通过并发实现数量级提高。其实,但需注意依赖关系,若后续步骤依赖前一步结果,则必须串行或使用更高级的拓扑调度。
从 Demo 到真实 Agent:规划与执行循环
A simpler abstraction of ReAct loop:
async function runAgent{
const msgs=;let maxIter=5;while{
const resp=await modelWithTools.invoke;msgs.push,
if return resp.content;// 并发执行无依赖的所有工具调用
const toolMsgs=await Promise.all(
resp.tool_calls.map(async tc=>{
const args=JSON.parse;const res=await tools.find.invoke;return new ToolMessage,tool_call_id:tc.id});})
),msgs.push;
}
return "Max iterations reached – task incomplete.";}
该函数可直接用于处理任意多步骤任务。如 “创建 React+Vite TodoList”,其中包含写文件、安装依赖和启动开发服务器。
& 思考
Llama?A brain with limbs—LLM + Memory + Tools + RAG + MCP + Skills,让它从嘴炮变实干家。怎么说呢,主要不在模型本身,而在工程化组织记忆、工具及规划流程上。ReAct 模式是落地关键,剩下的是编码实现。
LangChain 带来的价值?
-
🔧统一接口——轻松切换 OpenAI/DeepSeek/其它兼容模型;🧐 工具抽象——标准化 `tool` 与 `bindTools`;🗅 消息管理——System/Human/AI/Tool 消息清晰;🧩 丰富环境——内置 Memory/RAG/Chain 等模块,减少重复造轮子。}
-
⏩ 性能关注——合理利用 `Promise.all` 并发 I/O,提高响应速度;↪ 流式反馈—实时展示工具调用状态,让使用者感知进度;♻ 灵活
—通过 MCP 与 Skill 建立插件化环境。}
未来展望
-
MCP 将简化第三方 SaaS 集成,实现即插即用能力;怎么说呢,
-
Skills 模块让高频任务模板化。减少规划成本,
-
多智能体协作 能拆分极其复杂任务。各司其职,高效完成大型项目。}
作为专业的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