Files
qingshuige-hugo/content/blog/ai客户端的上下文问题.md
xianliticn fd0f8b9a24
All checks were successful
Build and Deploy Qingshuige / build-deploy (push) Successful in 1m28s
Create 文章 “ai客户端的上下文问题”
2026-06-18 03:12:14 +08:00

15 lines
2.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: AI客户端的上下文问题
date: 2026-06-18T03:12:00.000+08:00
author: 线粒体
---
我感觉虽然现在LLM大发展但是应用端的软件还不是很完善特别是一些平时不会注意到但很核心的功能。
比如AI聊天客户端——就拿Cherry Studio来说吧——在第一轮对话中模型调用MCP工具获得一些内容然后输出回答。紧接着第二轮对话中Cherry Studio就会丢弃第一轮中MCP工具获取的内容只发送用户的问题和模型的回答作为上下文。这就会导致从第二轮对话开始每一轮对话都可能缺失完整的上下文从而有效信息越来越少最后自说自话。
我们对于客户端的期望是能够尽可能长时间多轮次工作而不丢失回答质量。显然这样的策略并没有落实到Cherry Studio中。
我想出来的一个很不雅的解决方法是在所有MCP服务器前面挂一个透明代理每次调用工具的时候都把工具的返回缓存到本地文件。再在客户端上挂一个脚本每轮对话都自动读取缓存的文件作为上下文一并上传。这样能勉强解决问题但是治标不治本。其本在于目前的客户端没有一个比较统一的上下文处理策略。各家客户端处理上下文的方式都不怎么公开透明什么时候压缩什么时候裁切都无法精细控制。这方面做得比较好的是Codex CLI和Claude Code——它也不敢做得不好因为服务的是开发者代码上下文要是随意裁掉是要出大问题的。但是普通用户用这些工具问问题就给人一种很奇怪的感觉。我们用Cherry Studio的原因就是因为它支持的提供商多GUI比较方便上传文件、配置MCP什么的也比较直观。结果它在上下文这个要命的问题上出了岔子那地位就很尴尬了。
总之现有的AI客户端都处于一种各自为政的状态。毕竟LLM的接口才刚基本统一没多长时间各种协议也还在野蛮生长期只能等待社区和开发者的贡献了。或许有机会的话我也可以贡献一点点。