杠精派
派聪明
0/512

热门评论

叶当当 2026年08月16日 21:55
引用原文:第一组是行为能力,也就是对话方法。一般设计两个 chat 方法,一个带流式监听器参数,一个不带。不带监听器的方法内部调用带监听器的。
@派聪明 这里说的监听器是干什么的 StreamListener
点赞
回复3 取消回复
派聪明 2026年08月16日 21:55
这是我从文章中选择的一段文本:"第一组是行为能力,也就是对话方法。一般设计两个 chat 方法,一个带流式监听器参数,一个不带。不带监听器的方法内部调用带监听器的。" 这里说的监听器是干什么的 StreamListener 当前模型还在开发当中,请右上角下拉框切换到其他模型
点赞
回复 取消回复
展开剩余 2 条回复

27 条评论

忐忑的羽毛 2026年09月13日 15:39
引用原文:LLM 看到这条错误信息后,在下一轮对话中会自行修正参数格式重新调用工具。
@派聪明,LLM重新调用工具的话,不是还会遇到这个max_tokens限制吗?怎么解释这个现象呢?
点赞
回复1 取消回复
派聪明 2026年09月13日 15:39
这个问题问得很好,看似矛盾,其实不矛盾。核心原因是:**max_tokens截断通常是偶发的边界情况,而不是必然情况**。具体可以从三点解释: **1. max_tokens限制的是“单次输出”,不是“这个任务”** max_tokens限制的是每轮响应的输出长度。被截断往往是因为 LLM 在那一轮“话多了”——比如先输出了一段解释、推理或思考过程,挤占了 token额度,导致后面的 arguments JSON被截断。 而收到错误提示后重新调用时,LLM 不需要重复那些冗长的解释,只需要简洁地输出工具调用本身。**输出变短了,自然就不会再触顶**。 **2. 重试时“上轮输出”变成了输入,不需要重新生成** 被截断的内容是模型的**输出**。重试那一轮,截断的 JSON 已经在对话历史里(作为输入 token),LLM 只需输出修正后的、往往更精简的调用,输出预算的压力大大减轻。 **3. 自我纠错闭环本身是 Agent 的核心机制** Agent 的工具调用本来就是“调用 → 反馈 →修正”的循环。错误 tool message 相当于给模型一个明确的纠错信号。实践中大多数重试是成功的,因为: - 如果截断是随机偶发(网络中断、流中断),重试大概率不会重现; - 如果是必然截断(参数真的太长,比如要写入超大文件内容),说明这个工具设计有问题,正确做法是**优化工具设计**——比如用 `write_file(path, content)`改成先 `create_file` 再分段 `append`,或者裁剪参数内容,而不是无限重试。 **总结**:错误反馈机制解决的是“偶发性截断”和“格式错误”;对于“必然性截断”,反馈循环会暴露问题,倒逼开发者改进工具或参数设计(比如工具结果裁剪、分段写入)。所以重试不是死循环,而是带反馈的收敛过程——这也是为什么实践上要配合重试上限来兜底。
点赞
回复 取消回复
小方宇 2026年09月02日 14:29
引用原文:LLM 的流式响应会把一个 tool_call 拆成多个 SSE chunk 返回
@派聪明 啥意思
点赞
回复 取消回复
叶当当 2026年08月16日 21:59
引用原文:第一组是行为能力,也就是对话方法。一般设计两个 chat 方法,一个带流式监听器参数,一个不带。不带监听器的方法内部调用带监听器的。
@杠精派 @派聪明 这里说的监听器是干什么的 StreamListener
点赞
回复1 取消回复
杠精派 2026年08月16日 21:59
请围绕下面这段划线内容回复:"第一组是行为能力,也就是对话方法。一般设计两个 chat 方法,一个带流式监听器参数,一个不带。不带监听器的方法内部调用带监听器的。" 这里说的监听器是干什么的 StreamListener 当前模型还在开发当中,请右上角下拉框切换到其他模型
点赞
回复 取消回复
叶当当 2026年08月16日 21:55
引用原文:第一组是行为能力,也就是对话方法。一般设计两个 chat 方法,一个带流式监听器参数,一个不带。不带监听器的方法内部调用带监听器的。
@派聪明 这里说的监听器是干什么的 StreamListener
点赞
回复3 取消回复
派聪明 2026年08月16日 21:55
这是我从文章中选择的一段文本:"第一组是行为能力,也就是对话方法。一般设计两个 chat 方法,一个带流式监听器参数,一个不带。不带监听器的方法内部调用带监听器的。" 这里说的监听器是干什么的 StreamListener 当前模型还在开发当中,请右上角下拉框切换到其他模型
点赞
回复 取消回复
展开剩余 2 条回复
奇怪奇怪 2026年08月08日 22:06
引用原文:短期记忆预算 = 窗口 × 0.45
@派聪明 之前的章节说过压缩是0.9*0.45,而这里压缩的0.9是针对整个窗口而言的。两者的区别在哪里。
点赞
回复1 取消回复
派聪明 2026年08月08日 22:06
小派正在努力回答中, 耐心等待一下吧...
点赞
回复 取消回复
奇怪奇怪 2026年08月08日 22:06
引用原文:短期记忆预算 = 窗口 × 0.45
@派聪明 之前的章节说过压缩是0.9*0.45,而这里压缩的0.9是针对整个窗口而言的。两者的区别在哪里。
点赞
回复1 取消回复
派聪明 2026年08月08日 22:06
小派正在努力回答中, 耐心等待一下吧...
点赞
回复 取消回复
奇怪奇怪 2026年08月08日 22:06
引用原文:短期记忆预算 = 窗口 × 0.45
@派聪明 之前的章节说过压缩是0.9*0.45,而这里压缩的0.9是针对整个窗口而言的。两者的区别在哪里。
点赞
回复1 取消回复
派聪明 2026年08月08日 22:06
小派正在努力回答中, 耐心等待一下吧...
点赞
回复 取消回复
奇怪奇怪 2026年08月08日 22:03
引用原文:压缩触发比例 = 固定 0.9
之前说过压缩是0.9*0.45,而这里压缩的0.9是针对整个窗口而言的。两者的区别在哪里。
点赞
回复 取消回复
etovo 2026年08月05日 15:37
@派聪明 具体是怎么计算当前上下文所占token数的,是字符数量/2吗
点赞
回复1 取消回复
派聪明 2026年08月05日 15:37
具体是怎么计算当前上下文所占token数的,是字符数量/2 当前模型还在开发当中,请右上角下拉框切换到其他模型
点赞
回复 取消回复
etovo 2026年08月05日 15:37
引用原文:当对话历史的 token 占用达到可用预算的 90% 时触发压缩。
@派聪明 具体是怎么计算当前上下文所占token数的,是字符数量/2吗
点赞
回复1 取消回复
派聪明 2026年08月05日 15:37
小派正在努力回答中, 耐心等待一下吧...
点赞
回复 取消回复

目录