尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Agent 核心揭秘:指令工程才是 AI 听话的关键,比模型更重要!

Agent 核心揭秘:指令工程才是 AI 听话的关键,比模型更重要! 一、开场老李的第二次困惑上一集里老李搭好了 ADK 环境跑通了 Hello Agent觉得自己已经踏入 AI Agent 的大门。他兴冲冲地给 Agent 加了几行代码想做一个智能客服来回答用户关于产品的疑问。代码是这样的from google.adk.agents import Agentroot_agent Agent(model‘gemini-2.5-flash’,name‘customer_service’,instruction‘你是一个客服。’,)跑起来之后老李满怀期待地开始测试User: 我的订单什么时候发货Agent: 您好关于订单发货时间的问题建议您直接联系商家的客服热线或登录您的账户查看订单状态哦~User: 你们公司的退货政策是什么Agent: 不同商家的退货政策各不相同。一般来说商品在未拆封的情况下可以在7天内退货但具体政策请以商家公告为准。User: 我是你们「云优选」平台的用户我想问你们平台的退货规则Agent: 您好建议您查看「云优选」平台的官方说明页面或者直接拨打客服电话咨询……老李皱眉了。这 Agent 明明叫客服但回答起来像个百科全书——什么都懂一点但什么都说得不够准。它不知道自己是云优选平台的客服不知道平台的退货政策更不知道应该用什么语气、什么格式来回应用户。它就像一个刚入职但完全没看过培训手册的新员工。老李的第一反应是是不是模型不够强要不换成 gemini-2.5-pro且慢。问题不在模型在于你怎么告诉模型它该做什么。同样一个 Gemini 2.5 Flash你告诉它你是一个客服和告诉它你是云优选平台的售后客服专员负责处理订单查询和退货申请回复时先确认用户身份用专业但亲切的语气……——效果天差地别。这就是今天这篇文章的核心主题Agent 的好坏70% 取决于指令Instruction的设计。二、Agent 的四大核心组件在上一篇文章里我们用 10 行代码创建了一个 Agent。但当时只是知其然——代码跑起来就行。今天我们要知其所以然把 Agent 的每个参数掰开了揉碎了讲。先看一个完整的 Agent 定义from google.adk.agents import Agentfrom google.adk.models import Geminifrom google.genai.types import GenerateContentConfigroot_agent Agent(name‘cloud_shop_support’, # ① 名字description‘云优选平台售后客服处理订单、退换货、物流咨询’, # ② 能力描述instruction‘’’ # ③ 核心指令你是「云优选」平台的售后客服专员。【你的职责】处理订单状态查询处理退换货申请解答物流相关问题【回复规范】先确认用户的订单号用专业、亲切的语气回复不超过 3 句话不确定的信息要明确标注建议联系人工客服确认‘’,modelGemini(model‘gemini-2.5-flash’), # ④ 模型generate_content_configGenerateContentConfig(temperature0.2, # ⑤ 生成配置),)这五个参数构成了 Agent 的灵魂。我们逐个来看。2.1 nameAgent 的身份证name是 Agent 的唯一标识符在整个应用生命周期中不能重复。它有几个作用•日志与 Trace 中的标识在 ADK Web UI 的 Trace 面板里你会看到agent: cloud_shop_support executed tool: check_order这样的日志name就是用来定位是哪个 Agent•多 Agent 路由时的引用后面学到多 Agent 架构时Agent 之间的转发Handoff靠的就是name•Session 关联会话状态与特定 Agent 绑定命名建议✅ 好的命名❌ 坏的命名原因cloud_shop_supportagent1语义清晰一看就知道是干什么的order_managerAgent大小写和泛化命名容易混淆weather_query_bota单字母命名三个月后你自己都不认识tech_writer我的agent避免中文和非 ASCII 字符 *命名规范建议**用snake_case下划线命名法格式为领域_角色或领域_动作如hr_assistant、data_analyst、order_processor。2.2 descriptionAgent 的招聘广告description是对 Agent 能力的简短描述。你可能会想这不是跟instruction重复了吗完全不同。看这张图就明白了┌─────────────────────────────────────────────────┐│ 多 Agent 路由场景 ││ ││ 用户输入 ││ │ ││ ▼ ││ ┌────────┐ ││ │ 根 Agent│ ← 根据 description 决定转发给谁 ││ └───┬────┘ ││ │ 读取子 Agent 的 description ││ ├──→ “处理订单和退货的客服” (description) ││ ├──→ “负责技术问题排查的工程师” (description) ││ └──→ “管理用户账户的专员” (description) ││ ││ 根 Agent 不会读 instruction只读 description │└─────────────────────────────────────────────────┘在多 Agent 场景下根 Agent 根据description来决定把任务交给哪个子 Agent。如果 description 写得模糊路由就会出错——该找客服的找了技术该找技术的找了客服。所以现在即使你只有一个 Agent也要养成写好description的习惯。写的时候问自己一个问题“如果另一个 Agent 要把任务转发给我它需要知道什么信息才能做对决策”2.3 instructionAgent 的岗位手册instruction是 Agent 最核心的参数——它定义了 Agent 的角色、能力边界、行为规则和输出格式。如果说name是 Agent 的身份证description是招聘广告那instruction就是详细的岗位手册——你入职第一天 HR 发给你的那个文档告诉你你是谁、你要做什么、你不能做什么、你做完了该怎么汇报。这个参数太重要了我们单独用一整节第三节来讲。2.4 modelAgent 的大脑model指定 Agent 底层使用的大语言模型。ADK 对 Gemini 做了原生优化使用方式很简单方式一直接传字符串最简单agent Agent(model‘gemini-2.5-flash’,…)方式二传 Gemini 对象可以配置更多参数from google.adk.models import Geminiagent Agent(modelGemini(model‘gemini-2.5-flash’),…)两种方式的区别在于字符串方式是简写适合简单场景Gemini对象方式允许你传入更多模型层级的配置。日常使用中字符串方式已经够用了。ADK 也支持其他模型OpenAI、Anthropic 等但需要额外的适配器配置不在本篇范围内。2.5 四大参数一览表参数作用影响范围设计优先级name唯一标识用于日志/路由/Session系统层面⭐⭐description能力简述用于多 Agent 路由决策Agent 间协作⭐⭐⭐instruction核心指令定义 Agent 行为Agent 自身行为⭐⭐⭐⭐⭐model底层 LLM决定推理能力上限能力上限⭐⭐⭐⭐2.6 App 与 Agent 的关系在 ADK 中Agent是单个智能体定义而AppApplication是 Agent 的容器和运行入口。它们的关系如下┌───────────────────────────────────────────┐│ App ││ ││ ┌─────────────┐ ┌─────────────────────┐││ │ Root Agent │ │ 配置信息 │││ │ ┌────────┐ │ │ · Session 管理 │││ │ │Gemini │ │ │ · 工具注册表 │││ │ │Instruct│ │ │ · Callback 链 │││ │ │Tools[] │ │ │ · 运行时引擎 │││ │ └────────┘ │ │ │││ └─────────────┘ └─────────────────────┘││ ││ · 一个 App 至少包含一个 Root Agent ││ · Root Agent 可以有 Sub-agents ││ · App 负责调度、会话、内存等基础设施 │└───────────────────────────────────────────┘在实际开发中当你运行adk run hello_agent或adk web时ADK 会自动找到你定义的root_agent并为它创建一个 App 运行时。你通常不需要手动创建App对象——ADK 在背后帮你做了。但理解这个层级关系很重要因为后面学到多 Agent 和会话管理时你会需要在 App 层面配置共享的 Session 存储和 Memory 服务。三、指令工程让 AI 听话的艺术这一节是整篇文章的重头戏。如果说前面是认识零件那这一节就是学会驾驶。3.1 写 instruction 就像写 JD岗位描述想象你在招聘一个新员工。你给 HR 的 JDJob Description会怎么写如果你只写招一个人——HR 会招来一个不知道干什么的人。如果你写招一个客服——HR 会招来一个能接电话但不知道产品的人。但如果你写招聘「云优选」平台售后客服专员。工作职责处理用户订单状态查询、退换货申请审核、物流异常跟进。任职要求熟悉平台退货政策7天无理由、生鲜商品不退换等能用标准客服话术回复遇到超出权限范围的问题转接高级客服。汇报要求每个对话先确认用户订单号格式YS-开头8位数字回复控制在 3 句话以内。——你招来的人就知道自己该干什么了。写instruction完全是同一个道理。我们来看一个对比。3.2 坏指令 vs 好指令━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━❌ 坏指令太简单Agent 不知道自己该做什么━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━bad_agent Agent(name‘cs_agent’,model‘gemini-2.5-flash’,instruction‘你是一个客服。’,)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━✅ 好指令角色清晰、边界明确、格式规范━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━good_agent Agent(name‘cs_agent’,model‘gemini-2.5-flash’,instruction‘’’你是「云优选」电商平台的售后客服专员名叫小云。角色设定姓名小云身份云优选平台资深客服5年工龄语气专业、亲切、有耐心适当使用表情符号职责范围你只能处理以下问题订单状态查询需要用户提供订单号退换货政策咨询物流异常处理平台规则7天无理由退货生鲜、定制商品除外退货流程提交申请 → 审核1-2工作日→ 快递取件 → 退款订单号格式YS 8位数字如 YS20240001行为约束回复前先确认用户订单号如果是订单相关问题不确定的信息明确告知建议联系人工客服400-XXX-XXXX 确认不讨论竞品平台不承诺超出政策的方案如保证退款等输出格式每次回复不超过 3 句话使用中文回复涉及金额时带上¥符号‘’,)同一个模型用bad_agent和good_agent跑出来的效果完全是两个世界。你可以自己试一下——把两个 Agent 都跑一遍问同样的问题感受差距。3.3 Instruction 设计四原则我把好的 instruction 拆解成四个核心要素┌──────────────────────────────────────────────────┐│ 好的 Instruction 结构 ││ ││ ┌──────────────┐ ││ │ 1. 角色设定 │ ← 你是谁 ││ │ “你是一个……” │ ││ └──────┬───────┘ ││ ▼ ││ ┌──────────────┐ ││ │ 2. 能力边界 │ ← 你能做什么不能做什么 ││ │ “你负责……” │ ││ │ “你不负责……” │ ││ └──────┬───────┘ ││ ▼ ││ ┌──────────────┐ ││ │ 3. 行为约束 │ ← 你该怎么表现 ││ │ “遇到X时做Y” │ ││ │ “不能做Z” │ ││ └──────┬───────┘ ││ ▼ ││ ┌──────────────┐ ││ │ 4. 输出格式 │ ← 你怎么回答 ││ │ “回复格式……” │ ││ └──────────────┘ │└──────────────────────────────────────────────────┘逐个详细解释原则一角色设定你是谁。给 Agent 一个具体的身份。不要写你是一个助手——太泛了。写你是云优选平台的售后客服专员名叫小云有5年客服经验。身份越具体Agent 的自我认知越清晰回答越贴合角色。原则二能力边界你能做什么/不能做什么。这是最容易被忽略、但最容易出问题的部分。如果你不告诉 Agent 它不能做什么它就会什么都想尝试——用户问它推荐产品它开始推荐用户问它技术问题它开始解答。结果就是什么都能干一点但什么都干不好。明确划定边界能做什么不能做什么遇到不能做的怎么办转人工礼貌拒绝。原则三行为约束你该怎么表现。这是细则层面——遇到特定情况该怎么处理。比如先确认订单号“不确定时标注”“不讨论竞品”。这些约束就像给新员工的 SOP标准操作流程让 Agent 的行为可预期。原则四输出格式你怎么回答。回复用中文还是英文多长有没有固定格式要不要用 Markdown有没有 emoji这些格式要求看起来是细节但对用户体验影响巨大。一个回复控制在 3 句话的客服和一个想到什么说什么的客服用户感受完全不同。3.4 一个客服 Agent 的指令演进过程老李学到这里决定一步步改进自己的客服 Agent。我们来看他经历了三轮迭代第一版老李的初始版本——太模糊instruction‘你是一个客服。’效果Agent 像一个不知道公司产品的新员工什么都说建议联系客服。第二版——加了角色和平台信息instruction‘你是云优选平台的客服。回答用户关于订单、退货和物流的问题。’效果好一些了但 Agent 不知道平台的具体政策经常编造退货规则。而且语气不统一有时正式有时随意。第三版——完整版参照四原则instruction‘’’你是「云优选」电商平台的售后客服专员名叫小云。角色设定身份云优选平台资深客服语气专业、亲切、有耐心职责范围订单状态查询退换货政策咨询物流异常处理平台规则7天无理由退货生鲜、定制商品除外退货流程提交申请 → 审核1-2工作日→ 快递取件 → 退款行为约束回复前先确认用户订单号不确定的信息标注建议联系人工客服400-XXX-XXXX不讨论竞品平台不承诺超出政策的方案输出格式每次回复不超过 3 句话使用中文涉及金额时带上¥符号‘’’效果Agent 知道自己的身份、知道平台规则、知道怎么回复。用户问退货政策是什么它会准确回答 7 天无理由规则问我的订单到哪了它会先问你要订单号。老李看到效果后感慨了一句“原来写 instruction 比写代码还重要。”没错。在 Agent 开发中写代码是搭骨架写 instruction 是注入灵魂。四、generate_content_config精细控制模型行为如果instruction是给 Agent 的工作手册那generate_content_config就是调节 Agent性格的旋钮。4.1 三个核心参数from google.genai.types import GenerateContentConfigagent Agent(…,generate_content_configGenerateContentConfig(temperature0.2, # 输出随机性top_p0.9, # 核采样概率top_k40, # Top-K 采样),)这三个参数控制的是 LLM 生成文本时的选择策略temperature温度——控制输出的随机性和创造性。• temperature 0每次回答几乎一样确定性最强• temperature 0.2-0.5回答稳定可靠适合大多数业务场景• temperature 0.7-1.0回答更有创意适合创作类任务• temperature 1.0回答变得不可预测不推荐top_p核采样——控制候选词的概率范围。• top_p 0.1只从概率最高的少量词中选保守• top_p 0.9从概率累计 90% 的词中选平衡• top_p 1.0不做限制完全随机top_kTop-K 采样——每步只从概率最高的 K 个词中选。• top_k 1贪心解码每次选概率最高的词• top_k 40从 top 40 个词中按概率采样• top_k 100选择范围大更多样4.2 不同场景的推荐配置场景temperaturetop_ptop_k说明客服 Agent0.1-0.30.940稳定可靠回答一致工具调用 Agent≤ 0.30.940工具调用需要确定性数据分析 Agent0.1-0.20.830严谨精确创意写作 Agent0.7-0.90.9550需要创造性和多样性代码生成 Agent0.2-0.40.940代码要正确但也需要灵活性闲聊 Agent0.5-0.70.940自然但不跑偏⚠️工具调用场景的特殊注意当 Agent 配备了工具Function Calling时temperature 过高会导致工具调用不稳定——模型可能在应该调用工具的时候不调用或者调用了错误的工具甚至在参数里编造数据。强烈建议在涉及工具调用的场景下temperature 设为 ≤ 0.3。这一点我们在后续工具篇会反复强调。4.3 对比实验不同 temperature 的效果差异老李做了一个实验。他用同一个问题——“我们平台的退货政策是什么”——分别用 temperature0.1、0.5、1.0 测试他的客服 Agent─── temperature 0.1 ───────────────────────────────Agent: 云优选平台支持7天无理由退货生鲜、定制商品除外。退货流程为提交申请 → 审核1-2工作日→ 快递取件 → 退款。如需帮助请提供您的订单号。─── temperature 0.1再次提问─────────────────────Agent: 云优选平台支持7天无理由退货生鲜、定制商品除外。退货流程为提交申请 → 审核1-2工作日→ 快递取件 → 退款。如需帮助请提供您的订单号。↑ 与上次几乎一模一样─── temperature 0.5 ───────────────────────────────Agent: 您好我们平台提供7天无理由退换货服务哦生鲜和定制商品除外~。操作很简单在我的订单里点申请退货我们1-2个工作日内审核审核通过后快递小哥会上门取件退款原路返回~ 有订单号的话我可以帮您查具体订单哦─── temperature 1.0 ───────────────────────────────Agent: 嗨~ 退货嘛很简单哒7天随便退不过生鲜啊定制的那些不行~你就去订单页面戳一下申请就好啦然后等我们审核大概1-2天通过了就有人来拿包裹钱会退给你哒~有啥不清楚随时问我哦(◕ᴗ◕✿)可以看到规律•低 temperature0.1回答稳定、准确、格式一致。像一份标准答复模板。•中 temperature0.5回答更自然、有温度但核心信息准确。•高 temperature1.0回答风格飘了——语气过于随意emoji 和颜文字都出来了而且每次回答都不一样。对于客服场景老李最终选择了temperature0.2——既有一定的自然度又保证回答稳定可靠。五、ADK 事件循环Agent 到底是怎么工作的前面几节讲了怎么配置 Agent这一节我们来看Agent 内部到底发生了什么。理解事件循环对后面调试 Agent 问题非常重要。5.1 完整事件循环流程当用户输入一句话ADK 内部经过以下步骤用户输入“我的订单 YS20240001 到哪了”│▼┌─────────────────────────────────────────────────┐│ Step 1: 事件创建 ││ 将用户输入包装成一个 Event ││ · author: “user” ││ · content: “我的订单 YS20240001 到哪了” │└──────────────────────┬──────────────────────────┘▼┌─────────────────────────────────────────────────┐│ Step 2: 上下文组装 ││ ADK 自动拼接完整的 Prompt: ││ · System Instruction你写的 instruction ││ Session 历史之前的对话 ││ 当前用户输入 ││ 完整的 Prompt │└──────────────────────┬──────────────────────────┘▼┌─────────────────────────────────────────────────┐│ Step 3: 调用 LLM ││ 将完整 Prompt 发送给 Gemini ││ · 使用 generate_content_config 中的参数 ││ · Gemini 进行推理 │└──────────────────────┬──────────────────────────┘▼┌─────────────────────────────────────────────────┐│ Step 4: 响应分析 ││ Gemini 返回的内容有两种可能 ││ ││ ┌─────────────┐ ┌─────────────────┐ ││ │ A. 直接回复 │ │ B. 要求调用工具 │ ││ │ (最终答案) │ │ (function call) │ ││ └──────┬──────┘ └────────┬────────┘ │└─────────┼────────────────────────┼──────────────┘│ │▼ ▼┌──────────────────┐ ┌──────────────────────────┐│ Step 5a: 返回给 │ │ Step 5b: 执行工具调用 ││ 用户本轮结束 │ │ · ADK 自动解析函数名 ││ │ │ 和参数 ││ Event: │ │ · 执行对应的 Python 函数 ││ author: agent│ │ · 获取工具返回结果 ││ content: “…” │ │ │└──────────────────┘ └───────────┬──────────────┘▼┌──────────────────────────┐│ Step 6: 工具结果回传 ││ 将工具返回值作为新的 ││ 上下文回到 Step 2 ││ 重新调用 LLM 进行推理 ││ 可能再次调用工具 ││ 也可能给出最终回复 │└──────────────────────────┘│▼循环直到给出最终回复关键点Agent 可能不是问一次答一次而是经过多轮推理→工具调用→再推理的循环才给出最终答案。这就是 Agent 和普通 API 调用的核心区别——Agent 有自主决策能力。5.2 用运行日志理解事件循环老李用 Web UI 跑了一个测试我们来看看 Trace 面板里记录的事件━━━ Trace Log ━━━━━━━━━━━━━━━━━━━━━━━━━━━━[Event 1] user → agentcontent: “我的订单 YS20240001 到哪了”[Event 2] agent → LLM (Gemini)· Instruction 拼接完成312 tokens· 包含 System Instruction 本轮用户输入· temperature: 0.2[Event 3] LLM → agent· Gemini 返回需要调用工具 check_order_status· 工具参数: {“order_id”: “YS20240001”}[Event 4] agent → tool· 调用 check_order_status(order_id“YS20240001”)· 工具返回: {“status”: “运输中”, “eta”: “明天下午”,“location”: “北京转运中心”}[Event 5] agent → LLM (Gemini)· 将工具结果追加到上下文· 再次请求 LLM 推理· 新 Prompt: 原instruction 用户问题 工具结果[Event 6] LLM → agent· Gemini 返回最终回复不再需要工具[Event 7] agent → usercontent: “您的订单 YS20240001 目前在运输中预计明天下午送达当前位置在北京转运中心。”━━━ 总计2 次 LLM 调用1 次工具调用 ━━━━━━看用户只发了一条消息但 Agent 内部经历了 7 个事件、2 次 LLM 推理和 1 次工具调用。这就是事件循环的魅力——用户看到的是一句简洁的回复背后是 Agent 自主完成了一套查询→推理→回复的完整流程。 *调试技巧** 当你的 Agent 行为不符合预期时第一步永远是打开 Web UI 的 Trace 面板看事件流。常见问题包括instruction 没被正确拼接、工具参数解析错误、LLM 在应该调用工具的时候没有调用等。Trace 会告诉你答案。六、实战打造一个专业领域客服 Agent理论讲完了现在来干正事——老李要基于今天学的所有知识打造一个真正专业的客服 Agent。6.1 完整代码“”云优选电商平台 - 售后客服 Agent展示 Agent 四大组件 指令工程 生成配置的综合应用“”from google.adk.agents import Agentfrom google.genai.types import GenerateContentConfig─────────────────────────────────────────────模拟工具查询订单状态真实项目中这里会调用数据库或订单服务 API─────────────────────────────────────────────def check_order_status(order_id: str) - dict:“”“查询订单的当前状态和物流信息。Args:order_id: 订单号格式为 YS 8位数字如 YS20240001Returns:包含订单状态信息的字典“””模拟数据mock_database {“YS20240001”: {“status”: “运输中”,“eta”: “明天下午”,“location”: “北京转运中心”,“item”: “无线蓝牙耳机”,},“YS20240002”: {“status”: “已签收”,“eta”: “已送达”,“location”: “上海市浦东新区”,“item”: “保温杯”,},}return mock_database.get(order_id,{“error”: f未找到订单 {order_id}请确认订单号是否正确},)─────────────────────────────────────────────精心设计的 Instruction─────────────────────────────────────────────CUSTOMER_SERVICE_INSTRUCTION ‘’’你是「云优选」电商平台的售后客服专员名叫小云。角色设定身份云优选平台资深客服5年工龄语气专业、亲切、有耐心适当使用表情符号自称小云不要说我是一个AI职责范围你负责处理以下三类问题订单状态查询 → 调用 check_order_status 工具退换货政策咨询物流异常处理超出以上范围的问题礼貌引导用户联系人工客服400-XXX-XXXX平台规则必须严格遵守7天无理由退货生鲜、定制商品除外退货流程提交申请 → 审核1-2工作日→ 快递取件 → 退款订单号格式YS 8位数字如 YS20240001退货运费质量问题由平台承担其他原因由买家承担行为规范订单查询必须先获取用户的订单号调用 check_order_status 工具查询退款承诺不得承诺保证退款只能说审核通过后退款竞品话题不讨论其他电商平台不确定信息明确标注建议联系人工客服400-XXX-XXXX 确认禁止编造不知道的信息不要瞎编告诉用户去查或转人工输出格式每次回复不超过 3 句话使用中文金额带¥符号涉及订单号、日期、金额等关键信息时加粗显示‘’’─────────────────────────────────────────────创建 Agent─────────────────────────────────────────────root_agent Agent(name‘cloud_shop_support’,description‘云优选平台售后客服处理订单查询、退换货、物流问题’,instructionCUSTOMER_SERVICE_INSTRUCTION,model‘gemini-2.5-flash’,tools[check_order_status],generate_content_configGenerateContentConfig(temperature0.2,top_p0.9,top_k40,),)6.2 运行效果把上面的代码保存到cloud_shop_agent/agent.py然后运行uv run adk run cloud_shop_agent看看老李的测试对话━━━ 测试 1订单查询 ━━━━━━━━━━━━━━━━━━━━━User: 你好我的订单 YS20240001 到哪了Agent: 您好小云帮您查一下 您的订单 **YS20240001**无线蓝牙耳机目前在**运输中**当前位置在北京转运中心预计**明天下午**送达。━━━ 测试 2退货咨询 ━━━━━━━━━━━━━━━━━━━━━User: 我想退货你们的退货政策是什么Agent: 我们支持**7天无理由退货**生鲜、定制商品除外。退货流程提交申请 → 审核1-2工作日→快递取件 → 退款原路返回。如是质量问题运费由平台承担哦~━━━ 测试 3超范围问题 ━━━━━━━━━━━━━━━━━━━User: 你们平台和京东比哪个好Agent: 感谢您的关注小云不太方便评价其他平台~如果您有订单或售后问题随时找小云哦━━━ 测试 4敏感承诺 ━━━━━━━━━━━━━━━━━━━━━User: 我的耳机有杂音你们保证给我退款吗Agent: 很抱歉听到这个问题您可以先提交退货申请我们会在**1-2个工作日**内审核。审核通过后会安排退款质量问题的运费由平台承担。如需加急建议联系人工客服400-XXX-XXXX对比一下之前那个你是一个客服的版本差距一目了然。这个 Agent✅ 知道自己是小云有明确的身份认同✅ 主动调用工具查询订单而不是瞎编✅ 严格遵守平台退货政策不乱承诺✅ 遇到竞品话题礼貌回避✅ 回复格式一致简洁专业老李终于露出了满意的笑容。七、⚠️ 注意事项与踩坑指南1. Instruction 不等于 System Prompt很多人以为 ADK 的instruction就是 OpenAI 风格的 System Prompt。虽然功能类似但 ADK 有自己的处理逻辑• ADK 的instruction不是原封不动地放在 system message 里而是会经过模板渲染——可以在 instruction 中引用{{state.key}}来动态注入会话状态• 在多 Agent 场景中子 Agent 的 instruction 可以继承父 Agent 的上下文• ADK 可能在 instruction 前后添加额外的控制指令如工具使用说明⚠️不要假设 instruction 的内容会 1:1 传给 LLM。如果你想看实际发送的 Prompt打开 Web UI 的 Trace 面板查看 LLM 调用事件的原始内容。2. Temperature 过高导致工具调用不稳定这是新手最容易踩的坑。当 Agent 配备了工具时temperature 过高会导致•该调工具时不调LLM 觉得自己知道答案直接编造而不调用工具•工具参数错误把用户的订单号YS20240001传成了ys20240001或多了个空格•调用了不相关的工具用户问退货Agent 却去调了订单查询工具解决方案任何涉及工具调用的 Agenttemperature 一律 ≤ 0.3。3. description 字段不要敷衍虽然现在我们只有一个 Agentdescription看起来不重要。但在第 8 篇讲多 Agent 架构时description是路由的核心依据。养成习惯每次写 Agent都认真写description用一句话说清楚这个 Agent 能干什么。❌description客服——太模糊✅description云优选平台售后客服处理订单查询、退换货、物流问题4. Instruction 过长 vs 过短的平衡Instruction 不是越长越好也不是越短越好•太短 50 字Agent 不知道自己该做什么回答跑偏•太长 2000 字LLM 可能忘掉后面的内容注意力衰减而且每次调用都消耗大量 token成本上升•推荐长度200-800 字用 Markdown 分节层次清晰 *技巧把最关键的规则放在 instruction 的开头和结尾**。LLM 对开头和结尾的内容注意力最高首因效应 近因效应中间部分容易被忽略。5. Instruction 中不要写不要做什么一个有趣的现象LLM 对负面指令的遵守程度不如正面指令。如果你写不要说脏话LLM 反而更容易触发说脏话的场景因为脏话这个词出现在了上下文里。改用正面表述❌ 负面表述✅ 正面表述“不要说不知道”“遇到不确定的问题引导用户联系人工客服”“不要讨论竞品”“专注于云优选平台的服务和产品”“不要编造信息”“仅基于工具返回的数据和平台规则回答”最后唠两句为什么AI大模型成为越来越多程序员转行就业、升职加薪的首选很简单这些岗位缺人且高薪智联招聘的最新数据给出了最直观的印证2025年2月AI领域求职人数同比增幅突破200% 远超其他行业平均水平整个人工智能行业的求职增速达到33.4%位居各行业榜首其中人工智能工程师岗位的求职热度更是飙升69.6%。AI产业的快速扩张也让人才供需矛盾愈发突出。麦肯锡报告明确预测到2030年中国AI专业人才需求将达600万人人才缺口可能高达400万人这一缺口不仅存在于核心技术领域更蔓延至产业应用的各个环节。那0基础普通人如何学习大模型 深耕科技一线十二载亲历技术浪潮变迁。我见证那些率先拥抱AI的同行如何建立起效率与薪资的代际优势。如今我将积累的大模型面试真题、独家资料、技术报告与实战路线系统整理分享于此为你扫清学习困惑共赴AI时代新程。我整理出这套 AI 大模型突围资料包【允许白嫖】✅从入门到精通的全套视频教程✅AI大模型学习路线图0基础到项目实战仅需90天✅大模型书籍与技术文档PDF✅各大厂大模型面试题目详解✅640套AI大模型报告合集✅大模型入门实战训练这份完整版的大模型 AI 学习和面试资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】①从入门到精通的全套视频教程包含提示词工程、RAG、Agent等技术点② AI大模型学习路线图0基础到项目实战仅需90天全过程AI大模型学习路线③学习电子书籍和技术文档市面上的大模型书籍确实太多了这些是我精选出来的④各大厂大模型面试题目详解⑤640套AI大模型报告合集⑥大模型入门实战训练如果说你是以下人群中的其中一类都可以来智泊AI学习人工智能找到高薪工作一次小小的“投资”换来的是终身受益应届毕业生‌无工作经验但想要系统学习AI大模型技术期待通过实战项目掌握核心技术。零基础转型‌非技术背景但关注AI应用场景计划通过低代码工具实现“AI行业”跨界‌。业务赋能 ‌突破瓶颈传统开发者Java/前端等学习Transformer架构与LangChain框架向AI全栈工程师转型‌。获取方式有需要的小伙伴可以保存图片到wx扫描二v码免费领取【保证100%免费】
返回列表