聊天窗口里光标还在闪,字也一个不落地打进去了,回车一按——没有任何反应;或者更气人的情况,发送按钮直接变成灰色,连点都点不动;再或者消息发出去了,转了半天圈,最后一句话没回上来,输入框里的内容还消失了。这几年陆陆续续帮不少人看过这类问题,ChatGPT 无法发送消息这个现象,表面上看都是"发不出去",但底层原因能差出十万八千里——有的是浏览器本地缓存烂了,有的是会话上下文已经撑爆,有的是网络链路只通了"半条",还有的纯粹是那段文字本身就过不了内容校验。这篇就把我实际排障时用的整套思路完整摊开,从症状分类、本地环境、账号与会话、网络链路、内容与附件五个方向逐层往下剥,每一层都给到可以直接抄的步骤和判断依据。不管你是刚接触这类对话工具的新手,还是已经在日常工作中重度依赖它的老用户,看完至少能做到一件事:下次再遇到发不出消息,不用瞎点刷新,能按顺序把问题定位到具体那一层。
1. 先分清是哪一种"发不出去":五类故障的症状对照
排障最忌讳的就是"一上来就清缓存"。我见过太多人遇到问题第一反应是清缓存、换浏览器、重启电脑,折腾半小时,结果问题根本不在本地。真正省时间的做法是先看症状,把故障归到某一层,再针对性下手。
1.1 症状对照表:从输入框的状态反推故障层
症状是故障层最直接的指纹。输入框能不能打字、按钮是什么状态、有没有报错提示,这三件事基本就能把范围缩到一两个方向。下面这张表是我自己排障时用的对照表,你可以直接照着对号入座。
| 症状表现 | 最可能所在层 | 首选排查动作 | 典型耗时 |
|---|---|---|---|
| 能打字,回车无反应,按钮可点但点了没动静 | 本地前端(脚本未加载完) | 无痕窗口复现 | 2 分钟 |
| 发送按钮灰掉、不可点击 | 内容侧(空消息、超长、附件上传中) | 检查输入框是否真有内容、附件是否还在传 | 1 分钟 |
| 消息发出后转圈,长时间无响应,最后失败 | 网络链路(长连接中断) | 切换网络重新发送 | 3 分钟 |
| 发送后立刻提示错误、要求重新登录 | 账号与会话(登录态失效) | 重新登录、检查安全校验 | 5 分钟 |
| 前几句正常,聊到某一轮突然卡死或回复被截断 | 会话上下文(超出长度限制) | 新建会话,重发关键信息 | 2 分钟 |
| 特定某段文字/某个文件发不出去,其他内容正常 | 内容侧(触发校验) | 拆分、改写、去掉附件重试 | 5 分钟 |
表格里"典型耗时"那一列不是随便写的,是我按经验给的预期值。如果你在某一层排查超过这个时间还没进展,说明方向大概率选错了,应该退回上一层重新判断,而不是在原地死磕。这一点很多人做不到,一旦陷进去就容易变成"玄学排障"——最后问题解决了,但根本不知道是哪一步起的作用,下次照样抓瞎。
另外有个容易被忽略的细节:同一台设备上,不同浏览器、不同客户端、网页版和移动端的表现可能完全不同。如果网页版发不出去但手机端正常,那基本可以锁定是本地浏览器环境的问题,跟账号、网络关系不大。这个交叉验证只要三十秒,却是最高效的一刀。
1.2 为什么分类比动手更重要
我举个真实遇到过的例子。有位做数据分析的朋友,某天下午突然发不出消息,他的处理方式是:清缓存、换浏览器、重启路由、重装系统输入法,前后折腾了一个多小时,最后发现问题是他那段时间在批量整理一批表格,单个会话里连续粘贴了十几张大表,上下文早就撑到上限了。这种情况下你换十台电脑都没用,因为问题在会话本身。
反过来说,如果一上来就判断"肯定是上下文太长",直接新建会话,结果发现新建的会话也发不出去,那就说明判断错了,应该往网络或账号方向走。分类的价值不在于一次猜对,而在于让你有一个可以快速否证的路径。每一步排查都应该是一个可验证的假设,验完就往前走,不要在同一层反复打转。
这里还有个心态问题值得说:很多人遇到故障会本能地焦虑,尤其是正在赶工的时候,越急越容易乱试。我的建议是把排障当成一个固定流程走,就像医生问诊一样,先问症状再开检查单,情绪上反而会平静很多。流程化最大的好处是把"运气"从解题过程里剔出去。
1.3 三分钟自检流程:把范围砍到最小
我给身边人总结了一个三步自检,正常情况三分钟内能砍掉大半可能性:
- 开一个无痕/隐私窗口,重新登录,随便发一句"你好"。能发出去,问题在本地缓存或扩展;发不出去,往下走。
- 换一台设备或换一个网络,比如从电脑换到手机、从公司网换到手机热点。能发出去,问题在网络链路;发不出去,往下走。
- 新建一个空会话,只发一句话。能发出去,问题是上下文太长;发不出去,问题基本落在账号状态或服务端临时异常上。
这三步的逻辑是"从最容易复原的环境开始试",每一步都在缩小范围。做完这三步,你已经能把问题锁定到五个层里的一个,后面的章节就对应着往下看。记住一个原则:任何一步验证成功,都立刻停下来,不要再继续做后面的清理动作,否则你永远不知道自己刚才做的哪一步起了作用。
2. 本地环境排查:从无痕窗口开始往下剥
如果自检流程把问题指向了本地,那就进入这一层。本地环境的问题占比其实相当高,因为这类网页应用重度依赖浏览器端的脚本执行,任何一个扩展、一段残留缓存、一个异常的输入法状态,都可能让发送动作失效。
2.1 无痕窗口法:三分钟定位是不是本地环境问题
无痕窗口之所以好用,是因为它默认不加载大部分扩展、不使用已有的缓存和部分本地存储。打开方式各浏览器都差不多,快捷键一般是 Ctrl+Shift+N 或者 Ctrl+Shift+P,Mac 上把 Ctrl 换成 Cmd。
打开之后你需要做两件事:一是完整登录一次(无痕窗口是不共享登录态的),二是发一条最简短的测试消息,比如"测试"两个字。这里有个小细节,测试消息一定要短、纯文本、不带任何格式,因为我们要排除的变量越少越好。你贴一大段带表格的 Markdown 进去测,就算失败了也说明不了什么。
结果怎么读:
- 无痕能发,正常窗口不能发:九成是缓存、Cookie 或者扩展插件的问题,直接看 2.2 节。
- 无痕也发不出去,但手机端正常:可能是这个浏览器本身的问题,试试换一个内核不同的浏览器(比如从 Chromium 系换到 Firefox)。
- 无痕和正常窗口都发不出去,所有浏览器都不行:本地环境基本排除,往第 3、4 章走。
注意:无痕窗口里不要顺手装扩展或者登录一堆账号,那等于把它变成了普通窗口,验证就失去意义了。
2.2 缓存与扩展的清理顺序:别一次全清
很多人清理的时候习惯"一键清除所有数据",包括密码、表单记录、书签全清了,结果问题没解决还丢了一堆东西。正确的顺序应该是由轻到重,一层一层来。
第一步,先禁用扩展而不是卸载。大部分浏览器都有扩展管理页,把所有扩展的开关先关掉,刷新页面重试。这一步能解决相当一部分问题,因为有些翻译类、划词类、脚本注入类的扩展会往页面里插入自己的 DOM 节点和事件监听,跟网页本身的输入框抢事件,表现出来就是"字能打进去但回车没反应"。如果禁用扩展后恢复了,再一个一个开回来,开到哪个坏掉就是它——这个过程大概五分钟,比盲猜靠谱得多。
第二步,只清当前站点的缓存和 Cookie,不要全清。Chrome 系可以在地址栏左侧的小锁图标里找到"网站设置",里面有清除数据的入口;Firefox 类似。只清这一个站点的好处是其他网站的登录态不受影响。
第三步,如果还不行,再考虑强制刷新。快捷键 Ctrl+F5 或者 Ctrl+Shift+R,会跳过缓存重新拉取资源。有些资源更新后本地还留着旧版本,强制刷新能解决一类"页面加载一半"的怪问题。
第四步才是全量清除。到这一步还没解决,说明问题多半不在本地,可以直接跳到第 3 章,别在这里继续消耗时间。
2.3 输入框本身的坑:快捷键、输入法、粘贴格式
这一类问题特别隐蔽,因为它看起来完全不像故障——你打的字明明在框里,可就是发不出去。我遇到过至少三种情况:
第一种是输入法还在组词状态。中文输入法在拼音还没上屏的时候,字符其实是"半成品",此时回车键的作用是"确认候选词"而不是"发送"。有些人打字快,拼音还没选字就敲回车,结果只是把拼音变成了汉字,消息根本没发出去,还以为卡了。判断方法很简单:看输入框里的文字是不是已经变成最终字符,光标是不是在正常闪烁位置。养成打完字先看一眼再回车的习惯,能省掉很多误会。
第二种是快捷键冲突。发送消息在网页端一般是回车直接发,Shift+回车是换行。但如果你装了某些效率工具或者键盘映射软件,回车可能被劫持成了别的动作。测试方法是换个发送方式——点界面上的发送按钮(那个小箭头图标),如果能发出去,说明就是键盘事件的问题。
第三种是粘贴了富文本。从 Word、网页或者某些笔记软件里直接复制内容粘贴进来,会带上一堆不可见的样式标记和零宽字符。这些字符在输入框里看不见,但可能触发表单校验失败,或者让内容长度计算异常。处理办法是先粘贴到纯文本编辑器里过一道,比如系统自带的记事本、文本编辑,再从那里复制过来。这一步看着麻烦,但对处理长文档特别有效。
提示:如果你经常需要往里粘贴大段内容,养成"先过纯文本"的习惯,能规避掉相当一部分莫名其妙的发送失败。
2.4 系统时间与安全证书:一个反直觉的故障源
这个坑比较小众,但确实存在:系统时间偏差过大会导致安全连接建立失败。原理不复杂,网页和服务端之间的加密连接依赖证书有效期校验,如果你的电脑时间偏离真实时间太多(比如差了几个小时甚至几天,常见于长期不用突然开机的老笔记本、或者主板电池没电的台式机),证书校验就会失败,表现出来就是页面能打开但部分请求一直失败,发送消息自然也就发不出去。
自查方法很直接:看一眼任务栏右下角的时间,跟你手机上的时间对一下,差超过几分钟就值得怀疑。Windows 上可以在设置里找到"时间和语言",打开自动同步;Mac 在"通用"里的日期与时间,勾选自动设置。
另外一个相关的问题是浏览器版本过旧。老版本浏览器可能不支持某些新的传输协议或加密套件,导致请求被服务端拒绝。这个不用天天更新,但如果你已经两三年没升级过浏览器,遇到这种"打不开又没报错"的问题,升级一下是值得的。升级前记得把标签页存一下,别把正在做的事弄丢。
3. 账号与会话层:额度、上下文与登录状态
排除了本地环境,接下来看账号和会话。这一层的特点是:问题往往不是"坏了",而是"到边界了"。就像水杯装满水,你再往里倒不是杯子有问题,是容量到了。
3.1 会话上下文撑爆:最常见的"聊到一半发不出去"
这是我在实际使用中遇到频率最高的一类。一个会话聊得越久,累积的上下文越多,服务端需要处理的内容就越长。当长度逼近上限时,典型表现是:前面几轮还好好的,某一轮开始回复变慢、变短、被截断,再往后直接发不出去或者报错。
为什么会长得这么快?几个容易被低估的消耗源:
- 粘贴的大段文档。一份几十页的 PDF 内容贴进去,一次就能吃掉大量额度。
- 上传的表格和图片。图片虽然是按图像处理的,但长对话里反复引用同一批图片,累积开销不小。
- 代码块。代码的字符密度很高,同样长度的代码比自然语言消耗更多。
- 反复的长回复。模型每次的回复也会计入上下文,聊得越久,历史越长。
判断方法很简单:新建一个会话,把最关键的信息重新贴进去,看能不能发出去。能发出去就基本确诊。确诊之后不要急着继续在老会话里硬撑,正确的做法是把还在用的信息整理出来迁移到新会话。
迁移有个小技巧:不要原样复制整个历史对话,那样新会话很快也会撑爆。正确做法是先让模型帮你总结——在旧会话里发一句"把上面讨论的结论和还没解决的问题整理成条目"。如果旧会话已经完全发不出消息,那就手动整理三五行要点,比什么都强。
3.2 订阅状态与配额:别忽略"用完了"这个简单原因
有些发送失败纯粹是配额到顶了。表现通常是:能正常打开界面、能打字,但发送后立刻被拒,或者提示当前不可用。这种情况下换浏览器、清缓存、重启路由全都是无用功。
自查路径很直接:找到账号设置里的用量或订阅信息页,看一眼当前周期内的使用情况和重置时间。如果你的使用强度比较高,建议养成定期看一眼的习惯,特别是临近月底或者周期末的时候。
还有一种情况是临时性的服务端限流。高峰期请求量大,服务端可能会对部分请求做排队或拒绝处理,表现出来就是间歇性的发送失败——这次不行,过十分钟再试又好了。这种你没有任何办法,只能等。我一般的处理方式是:遇到间歇性失败,先在本地把要问的内容写好存着,隔十几分钟再发一次,别在失败的那一刻反复猛点,那只会让情况更糟。
3.3 多端登录与安全校验:登录态失效的隐蔽表现
很多人不知道的是,在多台设备上同时登录同一个账号,可能触发安全校验。表现不一定是明确的"异常登录"提示,有时候就是悄无声息的:消息发出去没反应,刷新后要重新登录,或者部分功能灰掉。
这种情况的处理原则是收敛登录设备。把不用的设备主动退出登录,只保留当前正在用的那一两台。同时检查一下账号设置里的登录设备列表,如果有不认识的设备,及时移除并修改密码。
另外,长时间不操作后回来继续用,也可能遇到登录态过期。这种倒是好判断,一般会直接跳登录页。麻烦的是那种"看着还是登录状态,但所有请求都失败"的情况——这时候手动退出再重新登录一次,往往比各种排查都管用。我现在的习惯是,遇到"页面正常但什么都点不动"的怪状态,第一件事就是退出重登,三十秒的事。
3.4 账号异常的稳妥处理姿势
如果怀疑是账号本身的状态问题(比如被临时限制、需要额外验证),处理原则是走正规渠道,别乱试。有些人在这种情况下会去搜各种"偏方",试一些来路不明的第三方工具,结果账号安全反而更没保障。这类工具往往要求你提供登录凭据,风险极高。
正规做法就两条:一是在应用内的帮助中心或反馈入口提交问题,说明具体现象和时间;二是检查注册邮箱,看有没有收到相关的通知邮件。提交反馈时把信息写全——什么时候开始的、什么设备、什么网络、具体报什么错——描述越具体,处理效率越高。干等不如把信息准备齐。
4. 网络链路:能打开网页不等于能发出消息
这是最容易被误判的一层。很多人觉得"网页都打开了,网络肯定没问题",但打开页面和发送消息对网络的要求完全不是一个量级。
4.1 长连接与流式响应:为什么"能看不能发"
打开页面加载的是静态资源和一次性的接口请求,特点是短、快、可以重试。而发送消息并接收回复,走的是持续时间更长的连接,而且回复往往是流式返回的——也就是一个字一个字往外吐,连接要一直保持到回复结束。这种长连接对网络稳定性的要求高得多:中间只要有一次明显的抖动或者中断,整个请求就废了。
这就解释了那个经典现象:网页秒开,图片也能加载,但一发消息就转圈然后失败。不是"没网",是"网不稳"。判断方法很简单,同一时间用其他需要持续连接的应用测一下(比如在线会议、实时协作文档),如果那些也卡,基本可以确认是链路质量问题。
4.2 DNS 与 MTU:两个值得亲手验证的参数
DNS 解析异常是"能打开部分页面但部分服务不可用"的常见原因。自查方法:打开终端或命令提示符,用解析命令查一下目标域名,看返回的地址是否正常、耗时是否过长。
# Windows / macOS / Linux 通用,把域名换成你正在访问的服务域名 nslookup 目标域名 # 或者用 dig(macOS / Linux) dig 目标域名 +short正常情况下几毫秒到几十毫秒就返回。如果反复超时或者返回的地址明显不对,可以尝试把 DNS 换成公共解析服务(比如常见的 8.8.8.8、1.1.1.1 或者国内的 114.114.114.114),在系统网络设置里改,改完记得刷新一下 DNS 缓存。
MTU 是个更冷门但确实存在的坑。MTU 是单个数据包的最大传输单元,如果你的网络环境(尤其是某些类型的接入方式)MTU 设置偏大,大数据包会被丢弃,表现出来就是"小请求正常、大请求失败"——而发送带长文本或附件的消息恰好就是大请求。自查可以用 ping 加不分片参数逐步试探:
# Windows:测试 1472 字节负载,看是否返回"需要拆分数据包" ping -f -l 1472 目标域名 # macOS / Linux:-M do 表示不允许分片,-s 指定负载大小 ping -M do -s 1472 目标域名如果提示需要分片或者直接超时,就把数字往下降(1400、1300 这样试),找到能通过的最大值,加上 28 字节的头部开销就是合适的 MTU。这个操作不是每个人都需要做,但如果你反复遇到"长消息发不出去、短消息正常",值得花五分钟测一下。
4.3 重试节奏:别在失败的一瞬间连续猛点
这一点很多人做错。消息发不出去的时候,本能反应是连点几次发送,或者疯狂刷新。这样做有两个坏处:一是可能重复提交,二是会让服务端把你的请求判定为异常行为,反而延长恢复时间。
我自己的重试节奏是这样的:第一次失败后等 10 到 15 秒,刷新页面重发一次;还失败就等 1 到 2 分钟,换一个网络环境再试;连续失败三次以上,就停手,去做别的事,半小时后再回来。这个节奏是我踩了很多次坑之后总结的,核心思路是给链路和服务端留恢复的余地,而不是用人肉方式硬顶。
注意:重试之前先把输入框里的内容复制出来存到本地。有些情况下刷新会导致草稿丢失,辛苦写的一大段直接没了,那才叫真崩溃。
4.4 公司网络与公共 WiFi:两类受限最严重的环境
公司网络和公共 WiFi 是发送失败的高发区,但原因不同。
公司网络的问题通常出在出口策略和深度检测上。有些企业的网络会对长连接、大流量上传做限制,或者对部分协议做拦截。表现是:家里好好的,一到公司就发不出去。这种你个人基本没办法解决,正确的做法是找 IT 部门说明需求,走正规的申请流程。别自己想办法折腾,一来效率低,二来也容易违反公司的网络使用规定。
公共 WiFi 的问题更多是质量差和需要认证。很多公共场所的 WiFi 需要网页认证,认证没完成之前,部分请求会被劫持到认证页,表现出来就是各种奇怪的失败。另外这类网络人多的时候带宽被摊薄,长连接很容易断。我的建议是:在外面处理重要事情,优先用手机热点,虽然费点流量,但稳定性完全不在一个档次。
5. 内容与附件:为什么偏偏这段文字发不出去
前面四层都排除了,那基本可以确定问题在内容本身。这一类最让人困惑,因为"换一段话就能发出去"这件事非常反直觉。
5.1 触发校验的常见写法特征
内容侧的限制一般来自两个方向:一是服务本身的使用规则,二是技术层面的输入处理限制。前者表现为请求被拒绝,后者表现为请求压根发不出去或者卡在上传阶段。
从经验看,容易触发问题的情况有几类:极长的单条消息(一次贴几万字)、大量重复字符(比如为了测试刷了一屏的同一个字)、包含大量特殊符号或控制字符的文本、格式严重错乱的粘贴内容。这些情况的共同点是:文本在传输或解析阶段就可能出问题,轮不到内容层面的判断。
处理思路很朴素:拆。一次发不完的内容分三次发,先发第一段,等回复了再发第二段,让模型知道你是在连续补充。如果内容是表格或结构化数据,能转成附件就转成附件,比直接粘贴在正文里稳得多。
5.2 附件与图片上传卡住:看进度条而不是看按钮
发送带附件的消息时,真正的耗时在上传,而不是在发送。如果附件还在上传,发送按钮通常会是禁用状态或者点了没反应。这时候你要看的不是发送按钮,是附件旁边那个上传进度。
几个实操要点:
| 附件类型 | 常见卡点 | 处理办法 |
|---|---|---|
| 大尺寸图片 | 单张几十 MB,上传超时 | 先压缩到合理尺寸再上传 |
| 多页 PDF | 页数过多,解析时间长 | 拆分,只传需要的那几页 |
| 表格文件 | 行列数巨大,解析失败 | 先精简列、去掉空行再传 |
| 压缩包 | 格式不支持 | 解压后按支持的格式单独上传 |
有个细节值得提:上传失败之后,附件可能还挂在输入框里但状态是坏的,这时候你再点发送,表现就是一直转圈。正确做法是把附件删掉重新选一次,别在失败的状态上继续操作。
5.3 代码块与特殊字符:技术内容的高发坑
如果你经常发代码,这个问题一定遇到过。代码里有大量特殊符号,比如反引号、反斜杠、尖括号,这些字符在某些输入处理环节会被当作标记语言的语法。三个反引号包裹的代码块如果没有正确闭合,后面的内容就会被当成代码的一部分,整条消息的解析可能出问题。
实操建议:
- 代码块一定要成对闭合,开头三个反引号,结尾也要有三个。
- 超长代码优先用附件,比如存成 .txt 或 .py 文件上传,比直接粘贴稳。
- 混合内容分开。一段说明加一段代码,可以先发说明,再发代码,别塞在一条里。
- 日志类内容先裁剪。几千行的日志直接贴进去,几乎必挂,截取关键的那几十行就够了。
另外提醒一句,某些不可见的控制字符(从终端复制内容时经常带进来)在输入框里完全看不见,但会影响发送。如果某段内容反复发不出去又看不出问题,把它粘到纯文本编辑器里,全选看一下有没有异常的空行或者乱码。
5.4 改写与拆分的具体手法
遇到内容发不出去,与其纠结"到底哪个词有问题",不如直接换一种表达方式。我常用的三个手法:
手法一,换说法不改意思。同一件事可以用很多种方式描述,换一个角度说,往往就通了。
手法二,拆成多轮。长内容不要一次说完。第一轮交代背景和目标,第二轮给具体材料,第三轮问具体问题。这种分轮的方式不仅更容易发出去,模型的回答质量往往也更高,因为每一轮的信息密度更合理。
手法三,把材料变成附件,把问题留在正文。这是我最推荐的方式。正文只写"我上传了一份文件,请帮我看看其中的第三部分",材料放附件里。这样正文短、干净、稳定,还方便后续追溯。
6. 速查表与避坑清单
前面五章按故障层级拆了一遍,实际排障的时候不一定按顺序走,更多是凭经验直接跳到最可能的那一层。下面收一份速查表和几条实打实的经验,遇到问题直接翻这里。
6.1 一分钟速查表
| 现象 | 首选动作 | 备选动作 |
|---|---|---|
| 回车没反应 | 换无痕窗口 | 禁用扩展后重试 |
| 发送按钮灰掉 | 检查附件是否在传、输入框是否为空 | 删掉附件重新选择 |
| 转圈后失败 | 换网络(切热点) | 等两分钟再试一次 |
| 特定内容发不出 | 拆成多段 | 改成附件上传 |
| 聊到一半卡死 | 新建会话,只带关键信息 | 让模型先总结再迁移 |
| 提示重新登录 | 手动退出重登 | 清理该站点 Cookie |
| 全平台都不行 | 查服务状态、查账号配额 | 提交反馈,等待恢复 |
| 只有公司网不行 | 找 IT 走正规流程 | 换网络环境处理 |
这张表不要死记,理解它的逻辑就够了:从上往下的顺序,基本就是"成本由低到高"的顺序。先用三十秒的无痕窗口试一下,比花二十分钟重装浏览器划算得多。
6.2 踩过的三个坑,都是真金白银换的
第一个坑:把"配额用完"当成了"网络故障"。有一次连着几天高强度使用,某天下午突然发不出去,我第一反应是网络问题,换了三个网络环境折腾半天。最后随手点进账号设置才看到,当期的使用额度早就到顶了。从此我养成一个习惯:任何发送失败,先花十秒看一眼账号状态,这十秒能省掉后面半小时。
第二个坑:以为清缓存是万能的。早期遇到问题就全套清理,清完还得重新登录一堆网站,非常烦。后来发现绝大多数本地问题用无痕窗口就能定位,需要全量清理的场景其实很少。现在的顺序固定是:无痕验证、禁扩展、清单站点数据、强制刷新、换浏览器,一层层来,很少需要走到最后一步。
第三个坑:内容发不出去的时候死磕原文。有一段从终端复制的日志,怎么都发不出去,我盯着看了十几分钟,逐字检查也没发现异常。后来粘到纯文本编辑器里一看,中间夹着几个不可见的控制字符。从那以后我处理任何从终端、从网页复制的长内容,都先过一道纯文本编辑器,这个动作后来救了我无数次。
6.3 长期稳定使用的几个习惯
排障是补救,习惯才是预防。这几年下来,我固定了几个习惯,明显降低了遇到问题的频率。
一是会话定期分仓。不要把所有事情都堆在一个会话里。按主题分会话——写代码一个、写文档一个、查资料一个。单个会话保持在合理的长度,聊到明显变慢就主动新建,把要点带过去。这样既避免了上下文撑爆,回头找内容也方便。
二是长内容先落本地。写重要内容的时候,先在本地编辑器里写好,再复制过去。这样即使发送失败、页面刷新、浏览器崩了,东西还在。我见过太多人在网页输入框里直接写几百字,一次刷新全没了,那个心情确实很难平复。
三是关键结论随手存。对话里有价值的结论,当时就复制出来存到笔记里。不要指望以后回来翻历史记录,会话一多,找起来非常痛苦,而且有些会话过一段时间可能就访问不了了。
四是遇到问题先记录现象。每次出问题,我会在备忘录里记一行:什么时间、什么设备、什么网络、什么症状、怎么解决的。记录十来次之后,你会发现自己的问题其实高度集中在两三个类型上,后面再遇到,一眼就能认出来。这个习惯看着笨,但确实是最省时间的。
最后分享一个我自己的判断标准:如果一个问题你排查超过二十分钟还没找到方向,那就不是排查问题了,是信息不够。这时候正确做法不是继续试,而是停下来,去查一下服务当前是否正常、账号状态是否正常,或者干脆问一下身边的人有没有遇到同样的情况。单打独斗地硬啃,性价比往往是最低的。