先这样答
我会先判断模型完成当前任务到底需要结果里的哪些信息,再决定怎么传:能在工具层筛选的,就先过滤字段、限制分页,只返回相关片段或摘要;结果必须保留但不必立即阅读的,就存到文件或对象存储里,当前上下文只带引用和简短说明,需要时再取。这样避免把几十 KB 原始内容直接放进窗口,挤占后续对话空间、稀释注意力,也减少输入 token 成本。
具体做法要看数据形态。查询结果可用字段投影和 limit、offset 分页;日志或错误堆栈可以保留开头的错误信息和末尾的调用位置,把中间重复部分省掉。对结构复杂、工具本身不好裁剪的结果,可以先交给模型做一次摘要,再把摘要放回上下文;不过摘要会增加一次调用和延迟,也可能漏掉后续才用得上的细节,所以要保留原结果的引用,方便核验或补取。外部存储能保留完整数据,但读取、权限和生命周期也要处理。
面试时可以收束为:先在工具边界减少无用数据,再用摘要和外部引用控制上下文;省下来的窗口要和信息损失、调用延迟一起权衡。
面试官会怎么追问
-
「如果先让模型总结工具结果,摘要漏掉了关键信息怎么办?」 摘要不能替代原始结果,尤其是结果可能用于后续精确判断时。我会保留原结果的引用,并让摘要说明覆盖范围;发现信息不足时,再按条件取回原文或相关片段。对金额、标识符等关键字段,优先由工具直接提取,不让模型凭摘要转述。
-
「错误堆栈很长,你具体会怎么裁?」 先保留错误类型、错误消息、首个相关调用位置和末尾的调用链信息,再去掉重复帧或中间无关段落。裁剪规则要保留足够定位问题的上下文;如果截断后仍无法判断,就提供完整堆栈的外部引用供进一步读取。
-
「分页会不会让模型漏看关键内容?跟整份结果摘要相比怎么选?」 会,所以分页适合能按条件排序、筛选或逐页检查的数据,摘要则适合先了解全局,但两者都可能漏掉细节。需要完整覆盖时,我会让工具按页读取并维护游标或查询条件;不能承担遗漏风险时,就保留原结果并按需检索,而不是只依赖一段摘要。
回答的坑
- 常见错误是只说「把结果截断」,这可能直接删掉关键字段,正确方向是先按任务筛选并保留原结果引用。
- 常见错误是认为摘要没有损失且没有成本,正确方向是说明摘要会增加延迟、可能遗漏细节,并提供按需核验的路径。
同系列的题