Agent 应用落地思考——LLM 相关
对于实际的 Agent 开发,LLM 的数学原理之类其实不太重要,但一些参数和工作流水线还是很重要的。
Temperature 的选择
在 Agent 开发中,以下场景 Temperature 必须严格设为 0:
- 路由分发:判断用户的意图属于 A、B 还是 C 分支。
- 信息抽取:从长文本中提取客户姓名、电话、订单号。
- 工具调用:生成供代码执行的 API 参数。
- 严格的代码生成:确保变量名和语法逻辑不跑偏。
产生幻觉的原因
常见原因包括:
- 知识库没有对应知识。
- 上下文过载(Context Window 不足)。
- Prompt 诱导等。
模型的选择
推理模型(Reasoning Model)
适用于:
- 极其复杂的数学计算
- 多文件的核心代码架构设计
- 超长链路的 Debug
- 需要自我反思(CoT)才能绕过陷阱的业务规划
特点:
- 响应延迟较高
- 算力成本昂贵
推理模型更像 Agent 的**"慢思考大脑"**,通常只在流水线中的核心决策节点被激活。
聊天模型(Chat Model)
适用于:
- 高并发
- 低延迟
- 强交互体验
大多数 Agent 节点其实使用聊天模型即可。
Prompt 微调
Prompt 改一点,效果可能就会差很多,这是 Transformer 的 Attention 机制决定的。
Prompt 并不是人类的聊天指令,而是高维向量空间的"导航坐标"。
增加、删除一个形容词,或者调换两句话的顺序,都可能导致整段文本的 Embedding 向量发生偏移,从而激活模型完全不同的推理路径(甚至在 MoE 架构下激活不同的专家)。
因此,在重要业务中,Prompt 的修改不能凭感觉,而应该配合自动化回归测试。
由于大模型本质上仍然是黑盒,我们无法准确预测修改几个词之后模型行为会发生怎样的变化。
建立黄金数据集
可以从真实业务场景中(例如真实客诉、客服对话、外呼录音转写等)挑选 100~200 条具有代表性的边界 Case,建立黄金测试集。
每次修改 Prompt 后,自动运行测试集进行回归测试。
自动化评测
一般采用 LLM + 人工 的混合评测方式。
重点关注以下指标:
- Format Pass Rate(格式遵循率)
- Accuracy / Recall(准确率 / 召回率)
- Hallucination Rate(幻觉率)
Structured Output,而不是 Prompt 约束
对于一些固定功能节点,更推荐使用模型提供的 Structured Output,而不是在 Prompt 中要求"请输出 JSON"。
例如:
response = client.responses.create(
model="gpt-5.5",
input="......",
text={
"format": {
"type": "json_schema",
"name": "user_info",
"strict": True,
"schema": {...}
}
}
)
这种方式由模型服务约束输出格式,可靠性比 Prompt 更高。
Top-p
Top-p 是一种采样策略,用于控制模型输出的随机性。
模型会按照概率从高到低累加,当累计概率达到 top_p 时,后面的候选 Token 将被丢弃,只在保留下来的候选中进行采样。
实际开发中,我基本不会去调整这个参数。
由于 Agent 更追求确定性,因此 Temperature 基本保持为 0,Top-p 通常也保持默认值即可。
KV Cache(Key-Value Cache)
Transformer 在生成每一个 Token 时,都需要利用之前所有 Token 进行 Attention 计算。
为了避免重复计算,推理过程中会把已经计算好的 Key 和 Value 缓存起来,后续生成时直接复用,从而大幅提升生成速度。
实际做 Agent 时一般不会涉及这一层,更多是私有化部署或模型推理框架(如 vLLM)相关工程师需要关注的内容。
Flash Attention
Flash Attention 是一种高性能的 Attention 实现方式。
它能够减少显存占用并提升推理速度,因此目前很多主流大模型都采用了类似优化。
对于 Agent 开发来说基本无需关注,了解它是一种模型底层的推理加速技术即可。