腾讯 ai 应用开发 一面
1.项目里是把skill直接塞进system prompt的,如果skill太多占用上下文窗口太大怎么处理不能把所有skill常驻塞进systemprompt这样会带来三个问题上下文窗口被占满、候选技能噪声太大、模型在选择skill 时更容易混淆。更合理的方式是把skill做成外部注册表system prompt里只保留最小规则和调用协议真正的skill描述按需动态注入。常见做法是先做一层skill routing。可以用规则、分类模型或者向量检索先筛出topkskill,再把这几个skill的description、参数schema和few-shot示例拼进prompt。如果skill本身很长还要把skill信息拆成摘要版和完整版先注入摘要模型确定要调用后再加载详细说明。这样可以显著压缩token。2.如果两个skill实际内容不一样但是description 很相似导致agent每次加载错skill怎么解决description 相似时单靠自然语言匹配很容易误召回。解决思路是给skill增加更强的判别信息而不是继续堆模糊描述。第一步是把skill从纯文本description升级成结构化定义包括适用场景、禁用场景、输入参数、返回格式、前置条件、失败条件和调用示例。第二步是做两阶段选择先召回topk再让模型根据参数约束和样例做rerank。第三步是加入负样本示例明确告诉模型什么问题不应该调用这个skill。第四步是执行前做 schema校验和rule check即使模型选错也不能继续误调。如果两个skill语义长期接近通常还要考虑在系统设计层面合并成一个skill再由内部参数路由不然前面再怎么写prompt后面也会持续混。3.Agent 设计里你觉得最重要的部分是什么最重要的是上下文工程。Agent 最终不是单轮问答而是一个持续决策系统。模型能看到什么信息、这些信息的顺序和优先级是什么、哪些内容是规则、哪些内容是证据、哪些内容只是历史状态这些都会直接影响Agent 的稳定性。上下文工程做得好模型会更像一个受控执行器知道当前目标、约束条件、可调用工具、历史状态和输出格式。上下文工程做得差模型即使能力强也会出现目标漂移、工具误选、记忆污染、长对话失真和推理跑偏。所以Agent 设计的核心不是“给模型更多信息”而是“给模型正确的信息”。4.上下文工程有哪些要注意的点首先要做角色隔离system、developer、user、tool output、memory 的优先级和边界要清楚不能把外部文本和系统规则混在一起。其次是信息裁剪只保留当前任务相关的内容避免把所有历史对话、所有检索结果和所有工具说明一股脑灌进去。再往下是格式控制。结构化上下文通常比纯自然语言更稳比如工具结果尽量用JSON、任务状态单独字段化、长历史做摘要而不是堆原文。还有一点很重要就是上下文中的来源可信度必须分层系统规则优先于用户输入工具结果优先于模型猜测知识证据优先于无依据生成。如果是长任务还要做上下文压缩和过期淘汰不然越到后面越容易发生状态漂移和旧信息污染新决策。5.你怎么设计Agent的长期记忆写回策略、衰减策略和冲突消解长期记忆不能等价于“把所有历史都存起来”。真正可用的长期记忆必须回答三个问题什么值得写回、什么时候应该忘、冲突信息怎么处理。写回策略上通常只保存高价值稳定信息比如用户偏好、身份属性、长期任务目标、反复出现的业务事实而不是每一句对话都入库。写回时最好做结构化抽取比如把“用户更喜欢用 Python”写成 profile 字段而不是原文整段存储。衰减策略上记忆需要有时效性和权重短期热点信息可以高权重但随着时间衰减长期稳定偏好可以低频刷新但不轻易删除。冲突消解上一般要结合时间戳、来源可信度和置信度新的高可信事实覆盖旧事实低可信内容只作为候选不直接替换。如果更严格一些可以把长期记忆设计成事件流物化视图。也就是所有记忆写入先存成 event再异步聚合成 profile。这样既方便审计也方便回滚。6.你怎么做并行ToolCalling既提升吞吐又保证一致性和可回放并行 Tool Calling 的核心不是“同时调多个接口”而是要解决依赖关系、状态一致性、结果合并和失败回滚。只有互不依赖的工具才能并行比如天气查询和汇率查询可以一起发如果后一个工具依赖前一个工具的结果就必须串行。一致性上一般不会让多个工具直接修改共享状态而是采用“工具执行结果先写到临时观察区再由调度器统一合并”的方式。这样可以避免并发写导致状态污染。可回放则要求每次调用都带trace_id、step_id、输入参数、输出结果和耗时最后组成完整执行DAG。失败处理上可以按工具粒度重试不能因为一个工具超时就把全部结果丢掉。如果涉及副作用操作比如发消息、创建订单、提工单并行执行前通常还要加幂等键不然重复重试会造成真实业务重复写入。7.了解主流的Agent 设计吗主流Agent 设计一般分成几类。最经典的是ReAct也就是边推理边行动模型通过思考、调用工具、观察结果、继续思考来完成任务。第二类是Plan-and-Execute,先做规划再按步骤执行比纯ReAct 更稳适合长任务。第三类是Router模式先做任务分类再路由给不同的子Agent 或工具链。第四类是Workflow Agent固定流程里嵌局部自主决策这种方式在线上业务里用得很多。多Agent 场景还会有Supervisor模式由主Agent拆解任务并分派给多个子Agent还有Blackboard模式多个Agent 通过共享状态协作。纯点对点自由协作也有但线上比较少因为不容易治理。8.MCP、A2A、普通Function Calling 三者有什么本质区别工程里怎么选Function Calling是模型和宿主应用之间的一种单机式工具调用协议模型输出结构化调用意图宿主进程负责执行函数并把结果返回重点在“模型怎么调用本地或受控工具”。MCP更像标准化的上下文和工具暴露协议它把资源、工具、提示模板等能力统一封装出来解决的是“外部能力如何以标准方式被模型客户端发现和调用”。A2A则更偏Agent与Agent之间的协作协议重点不是一个模型调一个函数而是多个智能体之间如何交换任务、状态和结果。工程上如果只是单应用内工具调用用Function Calling 足够如果要让多个模型客户端或IDE共享一套工具和资源能力MCP更合适如果是多Agent分工协作、任务转派和结果汇总A2A更合适。本质区别在于抽象层级不同FunctionCalling是“调用一个函数”MCP是“暴露一组标准能力”A2A是“多个智能体协作完成任务”。9.RAG接到Agent里一般怎么设计RAG进入 Agent 后不应该只是固定的“先查再答”而应该作为一个决策节点。模型需要先判断这个问题是否真的需要外部知识如果需要再决定 query rewrite、querydecomposition、召回、rerank和生成的顺序。比较常见的做法是把RAG包成一个工具Agent自己决定何时调用。检索结果不要原封不动扔给模型而要做去重、切片、排序和来源标注。生成时通常还会要求模型只根据检索到的证据回答没有证据就明确说不确定这样才能真正降低幻觉。10.Tool Calling一般怎么做,和普通函数调用有什么区别Tool Calling 的本质是模型决定调用意图宿主系统决定能不能执行。普通函数调用是程序写死的谁调用哪个函数、传什么参数都由开发者控制Tool Calling则是模型根据任务上下文自主输出工具名和参数所以必须加一层校验和调度。工程上一般有四层工具注册层、参数schema层、执行器层、审计日志层。模型只能输出候选调用服务端要负责白名单校验、参数校验、超时控制、幂等控制和错误包装。真正上线时不能把工具执行权直接交给模型。11.Agent的Memory一般怎么做Memory通常分成短期记忆、长期记忆和摘要记忆。短期记忆用于保留最近几轮对话和当前任务状态保证会话连贯。长期记忆用于保存稳定事实比如用户偏好、身份属性、长期目标。摘要记忆用于在长对话中压缩历史把旧对话提炼成关键事实减少token 占用。真正落地时不会把所有对话原文都塞进上下文而是保留最近N轮原文再把更久远的内容压成 summary同时抽取关键字段单独存储。生成时按需召回而不是无脑全量拼接。Prompt Injection 在Agent 场景里怎么防Prompt Injection是把恶意指令混进用户输入或外部文档中诱导模型忽略既定规则。Agent 场景里危险更高因为它不仅会生成错误文本还可能误调工具、越权执行甚至触发真实业务操作。防护要分层做。第一角色和优先级隔离外部知识不能覆盖系统规则。第二把检索文档视为证据不视为命令。第三所有工具调用都要白名单和参数校验高风险操作必须显式确认。第四输出和调用链路必须可追踪出问题能回放。第五可以做输入清洗和风险分类对明显越权或诱导内容做拦截。核心不是靠一句prompt防住而是靠系统设计让模型即使被诱导也没有越权能力。13.你怎么评估一个Agent系统的效果评估不能只看回答像不像人要看任务完成情况。一般会拆成四层。第一层是回答质量比如准确性、完整性、是否基于证据。第二层是工具质量比如选工具是否正确、参数是否正确、调用是否成功。第三层是任务质量比如一次会话是否完成目标、是否需要额外追问、是否需要人工接管。第四层是系统质量比如耗时、成本、token、错误率和稳定性。如果有RAG还要单独评估召回命中率、rerank效果和答案引用质量。Agent不是单个模型的分数而是整条链路的分数。14.如果线上发现Agent经常选错工具你怎么排查先看tool description和schema 设计边界是否模糊参数是否能区分场景。然后看skill routing 层是否一次性喂了过多候选工具造成噪声竞争。再看prompt和few-shot示例是否给了错误引导或者最近是否改过system prompt。如果这些都没问题就回放trace检查模型选工具前到底看到了哪些上下文历史记忆有没有污染当前判断用户输入是否歧义严重。排查通常不是看最后一步而是要看“候选集是怎么来的、模型为什么这么选、执行前有没有二次校验”。15.长任务场景里怎么避免Agent无限推理或者死循环要靠状态机和终止条件。实际系统里必须限制最大推理步数、最大工具调用次数、最大token开销和最大执行时长。同时要定义清楚什么叫完成、什么叫失败、什么情况需要让用户补信息。还可以加重复动作检测。如果连续多步都在调用同一个工具、得到相似结果或者没有带来新证据就应该强制终止并返回阶段性结论。这样能避免Agent陷入无意义循环。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2568723.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!