Skip to content
🔗 分享本题
查看我的学习进度 →

确定性程序用断点和单测验证固定路径,概率性 Agent 需用结构约束统计评测观测恢复和人工把关工程化

🧠 记忆锚点:概率能力不能靠一次调通;用结构约束、统计评测、观测与兜底把它工程化。

💡 答案要点

核心认知(面试必答):

转 Agent 开发最大的挑战不是学新技术,而是思维方式转变:从"确定性编程"到"概率性编程"

两种思维对比(面试核心):

维度传统开发(确定性)Agent 开发(概率性)
核心逻辑if-else / 算法Prompt + 模型推理
问题定位断点调试统计评估(跑 100 次看成功率)
输出特征确定性(输入A→输出B)概率性(同样输入可能不同输出)
质量保证单元测试评估数据集 + 回归测试
失败处理try-catch降级 + 重试 + 兜底

概率性输出的真实例子(面试可讲):

同样输入"北京天气怎么样?",多次调用:
第1次:"北京晴天25度,非常适合户外运动!" ✅
第2次:"...推荐去公园跑步"(自己加戏)
第3次:"应该可以户外运动吧?"(语气不确定)
第4次:{"suitable": true}(格式跑偏,下游解析报错)
→ 这不是代码 bug,无法断点调试,是模型行为特性

应对不确定性的三件套(面试加分):

  1. 结构化输出:要求 JSON 格式 + 解析失败重试/降级
  2. 评估而非调试:跑 N 次统计成功率,而不是找断点
  3. 防御性编程:解析失败给兜底回复,保证系统不崩

Agent 工程化五要素(进阶必答):

1. 可靠性:指数退避重试(1s→2s→4s)+输入校验+Token预算+输出校验+兜底
2. 可观测性:轨迹日志+调用追踪(LangSmith/Phoenix)+结构化日志
3. 成本控制:模型路由(简单任务小模型省17倍)+Token统计+缓存压缩
4. 评估体系:评估数据集(50-100条)+工具准确率+关键词召回率,数据驱动迭代
5. Multi-Agent编排:复杂任务拆多个Agent协作,注意延迟成本

渐进式复杂度黄金判断(面试高光):

一个 Prompt 能解决的不用 Chain,一个 Chain 能解决的不用 Agent,一个 Agent 能解决的不用 Multi-Agent——每加一层复杂度,延迟和成本都增加。

面试话术:

"转 Agent 开发最大的坎是思维转变:传统代码是确定性的,断点调试就能定位;Agent 是概率性的,同样输入可能输出不同,没法调试只能评估。我的三件套是结构化输出保证格式、跑统计评估代替调试、防御性编程兜底。工程化上我按五要素做:指数退避重试、全链路追踪、模型路由控成本、评估数据集驱动迭代、按需上 Multi-Agent——能不用就不用,复杂度是最后的手段。"


版本: v3.0 | 更新: 2026-07-02 | 补充全网最新高频面试题