96SEO 2026-07-23 09:08 0
上一篇我们论证了 AI 产品为什么需要内置本地 Agent!怎么说呢,
现在我们来聚焦"怎么做" —— 从架构设计到代码接入。输出我们的落地方案,说起来,

五层职责这方面。
| 层级 | 技术选择 | 职责 |
|---|---|---|
| UI 交互层 | React + 流式 Hook对话界面、审批卡片、结果展示基础 |
| 层级 | 技术选择 | 职责 |
|---|---|---|
| Agent 层 | LangChain createAgent |
| 层级 | 技术选择 | 职责 |
|---|---|---|
| 工作流编排层 | LangGraph StateGraph | 复杂任务、检查点、中断恢复 |
| 工具接入层 | 自研 Tool Adapter | 屏蔽数据源、本地命令、第三方差异宿主层 |
|---|---|---|
| Electron Main + Local Service密钥安全、进程管理、随包发布 |
新建 ai-agent-server/workspace,基于 Hono 框架提供 HTTP 服务:
// apps/ai-agent-server/src/server.ts
import { Hono } from 'hono';import { serve } from '@hono/node-server';export const createAiAgentServer = async => {
const app = new Hono;// 健康检查
app.get => c.json);// 问答接口
registerChatRoutes;const server = serve;return {
origin的观点是,`http://${config.host}:${server.address.port}`。close: => /* ... */
};},
关键点:
.:,只监听本地。最小 Agent 接入——先做普通问答。工具后续再加:
// apps/ai-agent-server/src/agent/createHomeAiQaAgent.ts
import { createAgent } from 'langchain';import { ChatOpenAI } from '@langchain/openai';export const createHomeAiQaAgent = => {
const model = new ChatOpenAI({
从apiKey来看。config.apiKey,model: config.model,temperature:,configuration: { baseURL: config.baseUrl },});return createAgent({
model,tools:,//先不加工具。二期再
systemPrompt: '你是本地 AI 助手...',name: 'home_qa_agent',});},
SSE 流式接口:
// apps/ai-agent-server/src/routes/chat.ts
export const registerChatRoutes = => {
const agent = createHomeAiQaAgent;app.post => {
const body = await c.req.json;const stream = await agent.stream(
{ messages: body.messages }。{
encoding:'text/event-stream',streamMode:,}
);return new Response(stream,{
headers:{
'Content-Type':'text/event-stream'。'Cache-Control':'no-cache'
}
});}),};
Lets let Agent 服务随应用自动启动。态用 ,打包态用 fork:
// electron/src/main/processManager/aiAgentProcess/index.ts
export const startAiAgentProcess==>{
if{
说到//打包态。fork 打包后的 js 文件
aiAgentProcess=childProcess.fork,);}else{
//开发态这方面,pnpm 启动 dev server
aiAgentProcess=childProcess.spawn;}
}
# 前端通过 LinkService 获取运行时状态:
// 前端调用const runtime=await window.LinkService.request;//runtime={ready:true,status:'ready',baseUrl:'http://.'}
#右侧副面板使用 LangGraph SDK 的 useStream Hook:
// apps/src/features/home/components/AiQaPanel/index.tsx
import { FetchStreamTransport。useStream}from '@langchain/langgraph-sdk/react';const AiQaPanel==>{
const transport=useMemo=>new FetchStreamTransport({
从apiUrl来看。`${runtime.baseUrl}/api/agent`,}),);const stream=useStream;return (
AI 问答
{stream.messages.map}
setInput} />
);
},
Step :权限审批机制
# Agent 一旦能执行本地命令,就必须有权限审批。推荐三层模型这方面,
风险等级 典型操作 默认策略
low 读笔记、读线程上下文自动执行
medium 新建文档、导出 PDF首次确认。可记住
high Shell 命令、发消息必须逐次审批
critical 删除文件、批量外发默认拒绝
使用 LangGraph 的 interrupt 实现审批中断:
arduino
// Agent 调用高风险工具时interrupt 等待使用者审批// 使用者点击"允许"后resume继续执行
前端渲染审批卡片:
ts
AiAgentApis.approveRequest} onDeny={=>AiAgentApis.denyRequest}/>
不是所有工具都该暴露给模型,Tool Registry 是能力全集,Agent 每次可见的是权限过滤后的子集。
三、记忆管理:短期和长期必须分开
-
短期记忆 : 基于 thread_id 的状态持久化。保存当前会话的:
-
消息历史;
-
任务计划;
-
已调用工具结果;
-
中断点;老实说,
使用 LangGraph 的 checkpointer 实现。阶段用 MemorySaver。生产用 PostgresSaver。按理说,
Short-term memory保留过程;long-term memory保留结论.
短期记忆保留过程
长期记忆保留结论。
三、短期记忆
-
基于 thread_id 的状态持久化;保存当前会话的:
-
消息历史;
-
任务计划;
-
已调用工具结果;
-
中断点;
使用 LangGraph 的 checkpointer 实现;阶段用 MemorySaver;生产用 PostgresSaver。不过,**
跨会话持久保存:
-
使用者偏好;
-
授权偏好;
-
常用操作模板;
"关键判断": "不是所有内容都该记住";只保存三类:使用者显式要求记住的、高频重复出现对后续有帮助的、权限与偏好类配置。**
四、任务编排:简单 vs复杂 *
简单任务 →直接用 Agent ReAct 循环。*
复杂任务 → 用 LangGraph StateGraph 显式编排。不过,*
推荐的任务编排层次:
Intent Classifier识别意图:问答 / 查询 /生成 / 执行 / 工作流Planner拆解目标为可执行步骤Supervisor调度子代理 、 审批 、 重试Executor执行工具或子图Verifier检查结果是否完整.
简单问题让 Agent 自由思考。复杂任务让 Graph 显式编排。
五 错误处理与并发 *
错误分类
错误类型;
示例;说起来,
处理;
|model_error | 超时,429 自动重试 / 模型降级 | |
|tool_error | 参数错误让 Agent 自修复 | |
|permission_error | 审批被拒中断提示使用者 | |
|sandbox_error | 方法非法终止并诊断 | |
重试原则
• 幂等是重试前提 : 涉及副作用的动作必须带幂等键;
• 非幂等动作绝不重试 : 已发送的消息已执行的外发动作;其实,
• LLM 用指数退避+ 模型降级.
六
从业务角度看。需要:
① 分离架构 : UI 、 Agent 、 编排 、 工具 、 宿主各司其职。
② 分步接入 : 开启服务 → 创建 Agent →进程托管 → UI 面板 → 权限审批。
③ 权限,内存,沙箱
更主要的是 : “代理”只是框架而已。要让大模型更好工作,还得靠工程化 :
• prompt 调优;
• RAG 向量工程;
• 模型微调;
• 数据集评测人工复核指标;
这些,将是更深远课题!
作为专业的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