langchain
运用systemMessage/humanMessage统一了一个标准化的对话模式。
在langchain中实现ReAct设计模式,会一直是一个while循环,程序员看不见里面的运行。
用了LangGraph后,将think-act-observer变成了一个个结点。程序员更好观察。
ReAct
cline和LLM直接交流,使用的格式是json,也可以是xml。
思想是 - 三部曲 think act observe
将LLM给的复杂问题拆分一个个,一轮轮解决。
Plan-Exe
使用LangGraph,将plan,exe,replan的结点挂在langgraph上。
先制定总计划-执行一步-再查询计划
RAG
分块,embeding,存储到数据库中
- 先分块chunk,按行分的chunk。
- 调用 LangChain 的 Embeddings 模型,向量化。
- 然后将其存储到chorma中。
embeding,召回,重排
- 将查询文本向量化
- 再相似度查询召回top-5
- 再从5条中重排top-3
- 最后查询文本+重排后的top-3都成
prompt
对话agent
多轮对话,工具调用,
用ReAct设计模式
运维Agent
点击一下右上角的AI Ops,我的这个项目会根据MCP Server中的【监控工具】,自动模拟出一个性能错误(如cpu_high)。然后agent查【知识库cpu_high_usage】,根据里面的步骤查MCP Server中日志工具,找到问题。
用的Plan-Execute-Replan设计模式。
因为运维会有一套自己固定的找根因的流程。

SSE技术,为什么不用websocket?
websocket适合s和c,双向实时交互,⽐如在线聊天
SSE会⼀段⼀段地向客户端推送数据
SSE怎么实现的?
将HTTP头部的Content-Type改成text/event-stream
MCP

原理:如果没有MCP,不同的大模型,工具适配非常麻烦。
引入了MCP(MCP SERVER,MCPhost),这些工具写在MCP中,方便。
这样回答面试官:MCP制定了一套协议,通过MCP host和MCP server使得不同的LLM和不同的tool间适配。
MCP Host-------------------------------MCP Server
- 在我们用户没用问问题前,就握手了。MCP Server把工具告诉MCP Host。
- 问问题后,MCP Host带着参数去找MCP Server。
什么机制可以保持上下文?
第一层,保留最近5轮对话的完整内容,这部分会直接放入prompt中,
第二层,摘要记忆,当对话轮数超过5轮时,会把第5轮之前的对话进行摘要压缩。5轮对话压缩成2-3句话。
在LangGraph框架中,1句话实现。
你的工具集有哪些Tool,分别有什么功能?
- 是知识库召回工具,从向量数据库中召回最相关的3份片段
- 监控工具
- 日志工具。