Day13
Day13
手撕
LRU 缓存(LeetCode 146)
JS高级
AI 相关
LLM (Large Language Model) 是基于 Transformer 架构的大规模预训练语言模型,通过海量文本数据学习语言规律和世界知识。
Prompt Engineering 是通过设计和优化输入提示词,引导 LLM 生成高质量输出的技术。
Token 是 LLM 处理文本的最小单位,可以是单词、子词或字符
Hallucination(幻觉) 指 LLM 生成看似合理但实际错误或无依据的内容。
用户输入
|
v
Agent (规划与决策)
|
+---> RAG (知识检索)
|
+---> Skills (能力调用)
|
+---> Function Call (函数调用)
|
+---> MCP (协议通信)
|
+---> 外部工具/API
Transformer 是 2017 年 Google 提出的基于注意力机制的神经网络架构,完全摒弃了 RNN/CNN,成为现代 LLM 的基础。
Self-Attention 计算流程:
-
线性变换:输入 X 分别乘以 WQ、WK、WV 得到 Q、K、V
-
计算注意力分数:Attention(Q, K, V) = softmax(QK^T / sqrt(d_k)) * V
Q / K / V 含义:
RAG (Retrieval-Augmented Generation) 是将外部知识检索与大语言模型生成相结合的技术框架。
为什么 RAG 能减少幻觉:
-
将检索到的真实文档作为上下文
-
限制模型基于提供的证据生成
-
支持引用溯源
RAG 全流程是怎样的?
标准 Pipeline:
文档加载 → 文本分割 → Embedding → 向量存储 → 检索 → 重排序 → 生成
各环节详解:
前端如何实现知识库问答?
系统架构:
前端 (React/Vue)
|
+---> 文件上传 → 后端解析
|
+---> 问答界面 → SSE 流式输出
|
+---> 引用展示 → 来源高亮
核心功能:
-
文档上传与预览
-
对话式问答界面
-
引用溯源(Citation)
-
历史记录管理
什么是 Agent?和普通 LLM 的区别?
Agent 是能够感知环境、自主决策、执行动作并完成目标的智能系统。
与 LLM 区别:
Agent 核心能力:
-
规划 (Planning):分解任务、制定策略
-
记忆 (Memory):短期记忆 + 长期记忆
-
工具使用 (Tool Use):调用外部 API、函数
ReAct 是什么?ReAct (Reasoning + Acting) 是 Agent 的核心范式,将推理和行动交替进行
循环流程:
Thought(思考)→ Action(行动)→ Observation(观察)→ ...
Plan & Execute 模式?
两阶段模式:
-
Plan 阶段:LLM 制定完整执行计划
-
Execute 阶段:按步骤执行,可并行
与 ReAct 区别:
优化:
-
计划可重排:根据执行反馈调整
-
子任务并行:无依赖的步骤并行执行
多 Agent 如何协作?
协作模式:
Function Calling 原理是什么?原理: LLM 根据用户输入和可用函数定义,输出结构化 JSON 表示要调用的函数及参数。
流程:
用户输入 + 函数定义 → LLM → 函数调用 JSON → 执行函数 → 结果返回 LLM
上下文窗口限制怎么解决?
解决方案:
MCP 是怎么用的(模型上下文协议
MCP 我主要是把它当作“模型与外部工具/数据的标准化通信协议”来用。核心思路是把外部能力(比如数据库、文件系统、API 服务)通过 MCP Server 暴露出来,前端或 Agent 通过 MCP Client 统一调用,这样模型就可以在推理过程中动态获取上下文或执行动作。实际落地时,我会把 RAG 检索、业务 API、甚至一些内部工具都封装成 MCP 能力节点,然后在 Agent 或编排层做调用决策,实现类似“函数调用 + 上下文注入”的效果。这样做的好处是解耦模型和具体实现,提升系统的可扩展性和可维护性。
MCP 是什么?解决了什么问题?
MCP (Model Context Protocol) 是 Anthropic 提出的开放协议,标准化 AI 模型与外部工具/数据源的连接方式。
解决的问题:
-
工具接入碎片化:每个工具不同接口
-
上下文传递困难:模型与工具数据格式不统一
-
生态封闭:各平台工具不互通
核心价值:
-
一次接入,多处使用
-
标准化工具描述
-
安全可控的权限管理
MCP 和传统 API 调用有什么区别?
MCP vs Function Call?
关系: MCP 是更高层的协议,Function Call 可以是 MCP 的实现方式之一。
什么是 Skill?和 Tool / Function Call 有什么区别?跟 mcp 什么区别
定义:
-
Skill:对"能力"的封装,比 Tool 更高一层抽象
-
Tool:单一可调用的接口
-
Function Call:模型输出调用意图的机制
层级关系:
区别:
-
Tool 是"单一动作"
-
Skill 是"可复用能力单元",可包含多个 Tool 的组合逻辑
kill 应该如何设计?
设计原则:
-
输入/输出明确定义(Schema)
-
单一职责:一个 Skill 解决一类问题
-
可组合性:支持 Skill 嵌套调用
-
可发现性:描述清晰,便于 Agent 选择
MCP 和 Skill 的关系?
关系:
-
MCP 是 Skill 的通信载体之一
-
Skill 可以通过 MCP 暴露能力
-
两者是正交关系