文章目录
- [1 面试题](#1 面试题)
-
- [1 如何确认检索结果是否可靠\](#1 如何确认检索结果是否可靠)
- [2 如何保证大模型输出json可靠](#2 如何保证大模型输出json可靠)
- [3 单agent 和 multi-agent系统有什么区别,分别适合什么场景](#3 单agent 和 multi-agent系统有什么区别,分别适合什么场景)
1 面试题
1 如何确认检索结果是否可靠\
不可靠分为: 1 召回不相关。2 关键信息漏掉 top-k没命中 3 来源过时 4 多源矛盾
1 离线评估
2 多来源一致性 交叉验证,不符合就降权
3 来源信任度
4 不可靠怎么救:1 rerank重盘 ,cross-encoder重新打分 ,2 query改写+二次检索, LLM改写query 再查一次,3 兜底,让模型说不会,转人工
5 用户透明: 把命中来源,置信度,是否多元交叉都暴露在前端,再加反馈按钮收点踩做闭环
2 如何保证大模型输出json可靠
- Tool Calling 协议(主力)------bind_tools 把 Pydantic schema 转成 function schema,API 层强制 LLM 只能产合规 tool_calls,框架返回已解析对象,根本不经过"写字符串再 parse"
- Pydantic schema 校验------参数灌进 BaseModel,类型/必填/长度/enum 不符即 ValidationError
- schema 适配 + 入参清洗------_GeminiToolSchemaFixer 补 Gemini array items;_coerce_json_string 自动还原字符串化 JSON
- 校验失败 → ReAct 回环------VALIDATION_FAILED 回给 LLM 自我修正,不致命终止
- 文本场景多级降级------分析报告 XML 主 + JSON 兜底(正则抠 {...});轻量分词固定行格式 + 失败 fallback
3 单agent 和 multi-agent系统有什么区别,分别适合什么场景
单agent 是一个大模型挂一套工具,自己规划自己执行;multi-agnet是多个角色分工,外加一个协调者。
通信是关键差异,单agent不存在通信问题lmulit-agent必须设计共享memory,消息总线,还有调度中 心。
还有状态问题,单agent自己一条线写;mult-agent多个角色同时改,必须做版本隔离,冲突合并。
任务分配也分两套,单agent时react串行循环;multi-agentyaoyou planner拆任务,router决定派给谁,aggregator收结果
任务垂直,链路清晰,上下文补偿,延迟敏感的场景,用单agent。
任务可拆,需要跨域专家,能容忍更高延迟,比如代码生成里,写测试和改代码 分两个agent跑
可观测也是分水岭:单agent顺一条trace就能排查清楚;multi-agent要追每个agent,加上他们质检所有通信日志才行。