agent开发

  1. 之前有接触过rag么
    有。
    RAG 就是检索增强生成,核心思路是:
  • 先从外部知识库(文档、数据库、向量库)检索相关信息
  • 再把检索到的内容拼进 prompt 送给大模型生成回答
    目的是减少幻觉、增强专业性、保证知识时效性。
    我理解的完整流程:
    文档清洗 → 分块(chunk)→ 向量化 → 存入向量库 → 用户 query 向量化 → 相似度检索 → 重排(rerank)→ 构造上下文 → 大模型生成回答。
  1. 出现幻觉怎么去排查原因和解决
    排查思路
  • 看检索结果有没有相关内容:没检索到 → 必幻觉
  • 看分块是否合理:块太大 / 太小都会导致关键信息丢了
  • 看 prompt 是否约束不足:没强制 “只根据资料回答,不知道就说不知道”
  • 看模型本身能力:小模型天生更容易幻觉

解决方法

  • 加强检索:优化 chunk、换更好 embedding、加 rerank、多召回几条
  • 强 prompt 约束:明确禁止编造、要求引用原文、不知道就说暂无依据
  • 加事实校验环节:用模型二次检查答案是否与资料冲突
  • 用外部工具 / API 做事实核查(比如查数据库、查标准)
  • 必要时换更大 / 更稳的模型

  1. 评估ai应用的指标
    效果指标
  • 准确率 / 事实正确率(有没有幻觉)
  • 召回率、精确率(RAG 检索质量)
  • 相关性、有用性
  • 格式合规率(JSON 是否稳定)
  • 上下文一致性(多轮对话不乱)
    体验与工程指标
  • 响应延迟、吞吐量
  • 稳定性、崩溃率
  • 用户满意度
  • 成本(token 消耗)
  • 安全合规(是否泄露隐私、违规内容)

  1. 如何让agent回复的格式比较稳定,比如json格式很长又比较复杂,存在截断或者回复格式不对的情况
  • 强制格式约束
    • 明确要求:只输出 JSON,不要任何解释、不要前言后语
    • 给 JSON 结构示例(schema)
  • 防止截断
    • 把模型 max_tokens 开够
    • 优化 prompt,减少冗余上下文
    • 复杂结构拆成多次调用:先给结构,再填内容
    • 对超长 JSON 分页 / 分块返回

  1. 有自己开发过ai应用么

  1. 向量相似度,匹配不准,语义上召回比较差,怎么处理
  • 换更好的 embedding 模型:小模型语义理解弱,直接换大厂开源强向量模型。
  • 优化分块策略 chunking:不要固定长度,按段落 / 章节 / 语义切分。
  • 加重排序模型(Rerank):向量召回前 20~50 条,再用 rerank 精排,提升语义相关性非常明显。
  • query 改写:把用户口语化问题转成更适合检索的标准问句。
  • 多维度召回混合:向量检索 + 关键词检索(BM25)加权融合。
  • 补充同义词、专业词典:尤其医疗、法律这类领域词很重要。

  1. 现在有一批体检的数据,让分析异常指标的话,可能要获取某些医学的文献,你怎么获取?既要异常指标又要分析的依据
    1)结构化抽取
    先把体检报告解析成结构化字段:指标名称、结果值、参考范围、是否异常
    输出统一 JSON,方便后续处理
    2)构建专业医学知识库
    来源:
    公开医学指南、教材、权威文献
    行业标准、临床路径
    卫健委 / 权威机构发布的资料
    向量化存入向量库,按 “指标名称 + 异常类型” 建索引
    3)检索依据
    对每个异常指标:
    检索:该指标异常 → 可能原因、临床意义、建议
    要求检索结果必须带文献 / 指南来源
    4)生成带依据的分析报告
    prompt 要求模型:
    列出异常指标
    解释临床意义
    给出可能原因
    明确引用检索到的文献 / 指南作为依据
    禁止编造医学结论
    5)工程保证可靠
    检索不到资料就明确说 “暂无权威依据”
    加医学术语校验
    最终输出结构化报告,方便展示和存档