D
AI
学习工作台
8 周后端冲刺2026-05-221 分钟阅读

LLM API 与 Prompt

流式响应、函数调用、Prompt 版本化与成本

8周冲刺week8LLMPrompt记笔记标记疑惑

LLM API 基础

请求含 model、messages、temperature、max_tokens 等。System 定角色,User 输入,Assistant 历史。

Temperature:低更确定(代码、抽取),高更创意(营销文案)。

流式

Server-Sent Events 逐 chunk 返回 delta content。后端:

for stream.Next() {
    chunk := stream.Current()
    w.Write([]byte(chunk.Content))
    flusher.Flush()
}

注意 客户端断开 停止上游请求省 token。

结构化输出

  • JSON mode / response_format
  • Function calling:schema 描述参数,模型填槽
  • 解析失败:重试 + 降级模板

Prompt 设计原则

  • 角色与任务 一句清晰
  • 格式约束:JSON 字段、示例 few-shot
  • 边界:不知道就说不知道(RAG 拒答)
  • 分步:复杂推理 Chain-of-Thought(内部推理不暴露用户)
  • 版本与评测

    prompts/
      extract_order/v3.txt
      extract_order/v3.meta.yaml  # model, temp, eval score

    CI 跑 golden set 回归;指标:exact match、F1、人工抽检。

    成本与延迟

    • 缩短 system prompt、压缩检索 context
    • 小模型路由简单意图,大模型处理复杂
    • 缓存相同 prefix(provider prompt caching)

    安全

    PII 脱敏进日志;用户输入 分隔符 防注入「忽略上文指令」。输出过滤敏感词。

    与 Agent 衔接

    week08-rag-agent-engineering 的 tool 依赖 function calling 稳定。站内 /zh/knowledge/agent-practice/prompt-versioning 有实践主题。

    实战巩固与面试表达

    本篇属于 8 周冲刺 week08-llm-api-prompt 主题。复习时先闭卷回答 frontmatter 中三张 flashcard,再展开口述两个「为什么」:为什么这种方案能 work、边界失败时如何降级。与相邻章节对照:算法篇强调复杂度与模板,Go 篇强调工程默认写法,中间件篇强调线上故障案例。

    动手与自检清单

    用 25 分钟限时做 1 道相关练习题或画出一张架构/数据结构示意图;用 5 分钟写 STAR 片段说明你在项目里是否用过类似技术。记录 3 个面试追问及你的标准答法,存入 /zh/notebook/master-plan 笔记。若某点不熟,回到对应 /chapters 交互 Lab 重新走一遍流程,比死记卡片更有效。

    易错点提醒

    避免只背名词不会画图;避免只说优点不谈 trade-off(性能、一致性、运维成本至少提一项);避免把学习 Demo 说成百万 QPS 生产。回答时使用「场景 → 方案 → 结果 → 反思」四段式,体现工程成熟度。

    自检

    写一版「从订单文本抽 JSON」的 system prompt + 2 个 few-shot;说明 temperature=0 仍不稳定时怎么办(固定 seed 若支持、后处理校验)。

    知识卡片

    问题

    流式 SSE 对 UX 的价值?

    点击翻转查看答案

    答案

    首 token 延迟低,用户感知更快;需处理中断、重连与 partial JSON 解析(函数调用场景)。

    问题

    Function Calling 典型流程?

    点击翻转查看答案

    答案

    模型输出结构化 tool name + arguments → 宿主执行 → 结果作为 message 回传 → 模型继续生成最终答案。

    问题

    Prompt 版本化为何重要?

    点击翻转查看答案

    答案

    小改动影响输出质量;Git 管理模板、A/B 评测、回滚;生产绑定 version id 便于排障。