AI相关面试题

function call

定义(并不是真的写程序去定义一个函数,而仅仅是用文字来描述一个函数)一些function(需要指定函数名,函数用途的描述,参数名,参数描述),传给LLM

当用户输入一个问题时,LLM通过文本分析是否需要调用某一个function,

如果需要调用,那么LLM返回一个json,

json包括需要调用的function名,需要输入到function的参数名,以及参数值。

总而言之,function call帮我们做了两件事情:

1.判断是否要调用某个预定义的函数。

2.如果要调用,从用户输入的文本里提取出函数所需要的参数值。

function call 平台依赖性强,不同 LLM 平台的 function call API 实现差异较大。例如,OpenAI 的函数调用方式与 Google 的不兼容,开发者在切换模型时需要重写代码,增加了适配成本。

MCP

模型上下文协议

定义了应用程序和 AI 模型之间交换上下文信息的方式。

这使得开发者能够以一致的方式将各种数据源、工具和功能连接到 AI 模型(一个中间协议层),就像 USB-C 让不同设备能够通过相同的接口连接一样。

MCP 就是以更标准的方式让 LLM Chat 使用不同工具

官方也提供了非常多现成的 MCP Servers,你只需要选择你希望接入的工具,然后接入即可。

模型是通过 prompt engineering,即提供所有工具的结构化描述和 few-shot 的 example 来确定该使用哪些工具。

MCP servers 可以提供三种主要类型的功能:

Resources(资源):类似文件的数据,可以被客户端读取(如 API 响应或文件内容)

Tools(工具):可以被 LLM 调用的函数(需要用户批准)

Prompts(提示):预先编写的模板,帮助用户完成特定任务

Skills

封装了专业支持和操作流程的prompt

文本形式

封装好的workflow或者sop

rag

检索增强生成

知识的静态性与过时性 : LLM的知识被"冻结"在其训练数据截止的那个时间点。RAG通过连接一个可以随时更新的外部知识库,使得LLM能够获取和利用最新的信息,解决了知识过时的问题。
幻觉 (Hallucination): LLM在回答其知识范围外或不确定的问题时,倾向于捏造事实。RAG通过提供具体的、相关的上下文,将LLM的回答"锚定"在这些事实依据上,显著降低了幻觉的产生。
缺乏专业领域知识与私有知识: 对LLM进行微调来注入特定领域的知识成本高昂且效果有限。RAG可以轻松地将模型与任何私有数据集(如公司内部文档、个人笔记)连接起来,使其成为一个领域专家。

流程

  1. 数据准备
  2. 索引构建
  3. 检索知识
  4. 生成答案

文档加载(PDF/Word/Excel/ 网页)

文档分片(Chunk)

文本向量化(Embedding)

存入向量数据库,向量数据库(Vector Database),如FAISS, ChromaDB, Pinecone

用户问题 → 向量化

向量检索(相似度匹配)余弦相似度或点积

把相关片段拼进 Prompt

大模型生成回答

怎么分片的,有长度要求吗

按段落切

按固定字符 / Token 切

按语义切(语义分块)

递归切分(先大后小)

中间重叠一部分,防止上下文语义出问题

必须小于 Embedding 模型最大长度(通常 512/1024 token)

必须小于 大模型上下文窗口

太短:信息碎片化;太长:语义丢失、检索不准

对于结构化的、段落分明的文档 (如论文、报告),可以采用语义切块 ,即按段落、标题或句子来切分,这样能最大程度地保留语义完整性。

对于非结构化的长文本 ,则更多地依赖固定长度切块 +重叠。10%-20%

对于代码,应该按函数或类来切块,而不是简单地按行数。

向量化

把文本变成高维稠密向量,语义相近的文本向量距离近。作用:实现语义检索,而不是关键词匹配。

优化

混合索引(向量+关键词)

重排序(Cross-Encoder可以直接比较查询和文档的文本,捕捉更细粒度的相关性,精度远高于单纯的向量相似度)

直接把"用户查询+单篇文档"拼接在一起,作为一个整体输入模型,让模型在编码过程中,直接对比两者的文本内容、语义关联,相当于"把查询和文档放在一起逐字逐句比对

部署Cross-Encoder预训练模型(常用开源模型:cross-encoder/ms-marco-MiniLM-L-6-v2,轻量且适配RAG场景)

agent

不仅会回答问题

还会主动思考、规划任务、执行

多agent交互

controller更新当前环境的状态,选择下一时刻行动的agentA。

agentA t与环境交互,更新自身的memory信息。

agentA调用LLM,基于指令执行动作,获取输出message。

将输出message更新到公共环境中。

memory

短期记忆:对话历史

长期记忆:用户偏好、历史文档

you might also need:向量记忆、总结记忆

设置记忆阈值,定期整理总结

区分长期记忆,短期记忆。

思维链CoT

Chain-of-Thought

Zero-shot、One-shot、Few-shot 三种不同的 prompt (提示词中给不给例子)

让模型 "把思考过程说出来",而不是直接给答案。

请一步步思考,详细写出推理过程。

Few-shot CoT(少样本思维链)

给 2~3 个带步骤的例子,模型跟着学。

相关推荐
m0_528174452 小时前
多平台UI框架C++开发
开发语言·c++·算法
池央2 小时前
在鸿蒙上跑 AI Agent:JiuwenClaw-on-OpenHarmony 完整实战
人工智能·华为·harmonyos
jing-ya2 小时前
day 53 图论part5
java·数据结构·算法·图论
laozhao4322 小时前
浪潮中标沂源县智慧水务平台项目
人工智能·科技·智慧城市
Flying pigs~~2 小时前
深入浅出RNN及其变体:从传统RNN到LSTM、GRU
人工智能·rnn·深度学习·gru·nlp·lstm·循环神经网络
I_LPL2 小时前
hot100 图论专题
算法·图论·dfs·bfs·拓扑排序
2501_941982052 小时前
私域自动回复机器人:构建 7×24 小时在线的智能客户服务体系
人工智能
召田最帅boy2 小时前
博客文章AI对话机器人整合实践
人工智能·机器人
草莓熊Lotso2 小时前
MySQL CRUD 核心指南:查询、插入、更新、删除全实战
android·开发语言·数据库·c++·人工智能·mysql