调用大模型 API进行多轮对话的注意事项

消息与上下文

  • 按 API 约定传递 system、user、assistant、tool 消息,不要把工具结果伪装成用户输入。
  • 每次请求都要估算输入和输出 Token;上下文超限时优先压缩历史、保留约束和最近工具结果,而不是盲目截断开头。
  • 多轮会话不要把 API key、数据库密码、私钥或完整生产日志原样放入 Prompt;需要脱敏并限制日志留存。

可靠性与成本

  • 为网络请求设置连接、读取和总超时,处理 HTTP 429、5xx、流式中断和模型返回格式错误。
  • 重试只用于幂等请求,并使用指数退避和最大次数;带工具调用或写操作的请求必须使用幂等键,避免重复执行。
  • 记录模型、版本、参数、Token 用量和请求耗时,便于回归比较;不要记录完整敏感 Prompt。

输出与工具调用

  • 需要机器解析时优先使用 JSON Schema/结构化输出,并对模型结果进行服务端校验,不能仅依赖 Prompt 要求。
  • 工具名称、参数和权限采用白名单;在真正执行写入、删除、转账等操作前增加业务校验和人工确认。
  • 流式输出要处理半个 UTF-8 字符、代码围栏未闭合和客户端断线,最终结果仍应在服务端重新校验。

评估

  • 为关键任务准备固定数据集,分别评估正确性、拒答率、延迟、成本和提示注入防护。
  • 模型升级、系统 Prompt 或工具 schema 变化后重新运行回归测试,并保留可追溯的版本号。