模块 1模型原理与 Agent 基础

Prompt 与消息设计

先划分谁有权下什么指令

System、Developer、User、Assistant 与 Tool

  • 优先级和职责
  • 业务政策与用户偏好分离
  • Tool 返回默认是不可信数据

Prompt 无法替代

  • 身份认证
  • 权限校验
  • 业务不变量
  • 事务和审计

把任务写成可执行契约

  • 目标与完成定义
  • 输入来源和允许使用的数据
  • 可执行动作、禁止动作与风险等级
  • 输出契约和无法完成时的行为
  • 停止、澄清、升级人工的条件

动态上下文必须有来源和边界

稳定层与动态层

  • 基础政策
  • 任务指令
  • 用户输入
  • 检索与工具结果

分隔符解决可读性,不创造安全隔离

  • 明确数据段
  • 避免变量拼接歧义
  • 缺失值和转义规则

Zero-Shot、Few-Shot 与反例

  • 示例应覆盖决策边界
  • 避免示例泄漏真实敏感数据
  • 验证示例是否压制泛化

指导可检查过程,不索取不可验证思维链

  • 要求计划、假设、证据或检查清单
  • 规定何时调用工具、何时复用结果、何时停止
  • 指定权威数据源优先级
  • 让关键中间产物进入 Trace 而非只留最终答案

长 Prompt 的主要风险是冲突和漂移

模块化组合

  • 全局政策
  • 能力说明
  • 任务片段
  • 场景覆盖

上下文预算

  • 删除重复背景
  • 按需加载低频规则
  • 将事实改为检索而非静态复制

冲突审查

  • 同义不同名
  • 正负指令冲突
  • 过时示例
  • 规则优先级不明

Prompt 变更必须像代码一样可回归

  • 版本、变量、模型和工具依赖共同锁定
  • 评测指令遵循、格式、工具选择和拒绝边界
  • 模型升级与 Prompt 变更分开实验
  • 灰度、监控、回滚和变更说明

不要把所有失败都归因于 Prompt

  • 指令含糊、冲突、示例偏置、上下文位置不当
  • 模型能力不足、检索错误、工具契约差、状态错乱、权限策略缺失
  • 先用 Trace 定位失败层,再决定改 Prompt、模型、上下文还是 Runtime