02

问题定位能力

核心实操 · 故障排查方法论 · 场景模拟演练

目录

  1. 问题定位能力的本质
  2. 用户问题分类体系
  3. 故障排查方法论(LOCATE模型)
  4. 故障树分析法
  5. 信息收集与提问技巧
  6. 常见问题场景库与排查流程
  7. 典型Case复盘分析
  8. 升级判断与边界识别
  9. 工具链与排查辅助
  10. 面试模拟演练题

一、问题定位能力的本质

1.1 为什么这是核心考察点

在Buddy 1.5线岗位中,你每天面对的场景是:用户带着一个"不好用"的描述来找你,你需要快速判断问题属于什么类型、在哪个环节出了问题、怎么解决或引导用户解决。

面试官考察的不是你背了多少错误码,而是你的问题分析思路——面对一个模糊的、混乱的、甚至带情绪的用户描述,你能否系统性地收敛到准确的根因。

1.2 优秀问题定位的特征

1.3 1.5线 vs 1线 vs 2线的定位差异

层级 核心职责 问题处理深度
1线(客服) 接单分流、FAQ回复 标准问题直接回复,非标准问题转派
1.5线(你的目标) 技术支持 + 问题诊断 能独立排查大部分技术问题,复杂bug升级
2线(研发) Bug修复、功能开发 需要改代码才能解决的问题
你的定位:1.5线是技术支持的中坚力量。你不需要改产品代码,但你需要准确判断"这是用户操作问题还是产品Bug"、"这是配置问题还是功能缺失"、"这该引导用户自行解决还是升级给研发"。

二、用户问题分类体系

2.1 问题四象限分类法

按照"原因归属"和"解决方式"两个维度,所有用户问题可以分为四象限:

用户侧解决 产品侧解决
用户原因 操作错误/理解偏差 → 引导教育 UX设计不直观 → 提产品建议
产品原因 已知限制/Workaround → 提供替代方案 Bug/功能缺失 → 升级研发

2.2 问题类型细分

A类:用户操作问题(约40%)

B类:环境/配置问题(约25%)

C类:产品Bug(约20%)

D类:功能边界/需求(约15%)

2.3 快速分类判断标准

判断信号 倾向类型 应对策略
"之前能用现在不行了" Bug或环境变化 确认版本变化、配置变化
"我按照文档做的但不行" 操作遗漏或文档过时 逐步对照操作流程
"AI说了奇怪的话" 模型幻觉或Skill冲突 查看具体输出,判断触发原因
"功能找不到" 操作引导或版本差异 确认版本、引导正确入口
"报错了" 需看错误信息判断 获取完整错误信息再分类

三、故障排查方法论(LOCATE模型)

3.1 LOCATE 六步排查法

我总结了一个适用于Buddy产品技术支持的排查框架:LOCATE

步骤 英文 中文含义 具体动作
L Listen 倾听收集 完整听取用户描述,不打断,提取关键信息
O Observe 观察现象 获取截图/日志/错误信息,观察具体表现
C Classify 分类归因 判断属于哪一类问题(操作/环境/Bug/边界)
A Analyze 分析根因 在确定的分类内深挖根本原因
T Test 验证方案 提出解决方案并验证有效性
E Ensure 确认闭环 确认问题解决,记录知识库,预防复发

3.2 各步骤详细展开

L - Listen(倾听收集)

这一步的关键是不要急于下结论。用户的第一句话往往是模糊的、带情绪的、甚至方向性错误的。你需要:

O - Observe(观察现象)

主动收集客观证据:

C - Classify(分类归因)

根据收集的信息快速分类:

问题 → 是否能复现?
  ├── 能复现 → 是否所有用户都有?
  │     ├── 是 → 产品Bug(升级)
  │     └── 否 → 环境差异(排查配置)
  └── 不能复现 → 是否有规律?
        ├── 有规律 → 条件触发型问题(深挖条件)
        └── 无规律 → 可能是偶发/已修复

A - Analyze(分析根因)

在确定分类后,进行深入分析:

T - Test(验证方案)

E - Ensure(确认闭环)

四、故障树分析法

4.1 WorkBuddy 主要故障分支

WorkBuddy 问题
├── 连接/启动问题
│   ├── 客户端无法启动
│   │   ├── 安装损坏 → 重装
│   │   ├── 系统兼容性 → 检查OS版本
│   │   └── 权限不足 → 管理员权限运行
│   ├── 无法连接服务
│   │   ├── 网络问题 → 检查网络/代理
│   │   ├── 服务端维护 → 查看公告
│   │   └── 账号问题 → 检查登录状态
│   └── 连接器断开
│       ├── OAuth过期 → 重新授权
│       ├── 第三方服务故障 → 等待恢复
│       └── 配置变更 → 重新配置
│
├── AI 响应问题
│   ├── AI 不回复/超时
│   │   ├── 网络延迟 → 检查网络
│   │   ├── 服务负载高 → 稍后重试
│   │   └── 请求过长 → 简化请求
│   ├── AI 回复不准确/幻觉
│   │   ├── 上下文不足 → 提供更多背景
│   │   ├── Skill冲突 → 检查skill配置
│   │   ├── 模型能力边界 → 换个思路提问
│   │   └── 信息过时 → AI知识有截止日期
│   └── AI 拒绝执行
│       ├── 安全策略触发 → 调整请求方式
│       ├── 权限不足 → 检查权限配置
│       └── 工具不可用 → 检查工具状态
│
├── 功能执行问题
│   ├── Skill 不触发
│   │   ├── description不匹配 → 用斜杠命令手动触发
│   │   ├── Skill文件损坏 → 检查SKILL.md格式
│   │   └── 路径/权限问题 → 检查skills目录
│   ├── MCP 连接失败
│   │   ├── 配置格式错误 → 检查mcp.json
│   │   ├── 服务未启动 → 启动MCP server
│   │   ├── 端口冲突 → 换端口
│   │   └── 认证失败 → 检查credentials
│   ├── 文件操作失败
│   │   ├── 路径不存在 → 确认路径
│   │   ├── 权限拒绝 → 检查文件权限
│   │   └── 编码问题 → 检查文件编码
│   └── 自动化不执行
│       ├── 时间设置错误 → 检查rrule/scheduledAt
│       ├── 状态为PAUSED → 改为ACTIVE
│       └── 客户端未运行 → 需保持在线
│
├── 性能问题
│   ├── 响应速度慢
│   │   ├── 任务过于复杂 → 拆分任务
│   │   ├── 上下文过长 → 新建会话
│   │   └── 网络带宽不足 → 优化网络
│   ├── 内存占用高
│   │   ├── 长时间运行 → 重启客户端
│   │   └── 大文件处理 → 分片处理
│   └── 卡顿/无响应
│       ├── 工具执行超时 → 增加timeout
│       └── 死循环 → 取消当前任务
│
└── 数据/记忆问题
    ├── 记忆丢失
    │   ├── 跨任务隔离(设计如此)→ 使用memory文件
    │   ├── memory文件被覆盖 → 恢复备份
    │   └── 上下文超限 → 关键信息写入MEMORY.md
    ├── 历史会话找不到
    │   ├── 未正确保存 → 检查session存储
    │   └── 切换了工作区 → 回到原工作区
    └── 配置丢失
        ├── 重装后丢失 → .workbuddy目录需备份
        └── 多设备同步问题 → 手动同步配置

4.2 如何使用故障树

  1. 从顶部开始:确定问题属于哪个大分支
  2. 逐层缩小:通过提问排除不相关的分支
  3. 到达叶子节点:找到具体原因和对应方案
  4. 验证确认:执行方案后确认问题解决
面试技巧:面试时如果遇到问题定位类场景题,你可以在纸上(或口述中)画出故障树的关键分支,展示你的结构化思维。面试官看重的不是你立刻给出答案,而是你的排查路径是否系统、有逻辑。

五、信息收集与提问技巧

5.1 高效提问模板

作为技术支持,你需要快速、精准地从用户那里获取有效信息。以下是经过验证的提问模板:

开场确认

"您好,我来帮您排查这个问题。能否先告诉我:
1. 您使用的是哪个产品?(WorkBuddy桌面版/小程序/CodeBuddy)
2. 大概什么时候开始出现这个问题的?
3. 方便发一张截图或错误信息给我看吗?"

深入追问

"为了更准确地定位问题,我还需要确认几个信息:
1. 这个问题是每次都出现,还是偶尔出现?
2. 之前正常使用过吗?如果是,最后一次正常是什么时候?
3. 出问题之前,您是否有做过什么改动?(比如更新了版本、修改了配置等)"

环境确认

"麻烦您帮我确认一下环境信息:
1. 操作系统版本是什么?(Windows 10/11/macOS/Linux)
2. 客户端版本号是多少?(可以在设置-关于中查看)
3. 网络环境是怎样的?(公司内网/家庭WiFi/手机热点)"

5.2 提问的原则

5.3 从用户模糊描述中提取关键信息

用户说 你应该追问/理解为
"不好用" 具体是哪个功能?表现是什么?期望是什么?
"出错了" 什么操作触发的?错误信息具体是什么?
"很慢" 大概多少秒?是每次都慢还是偶尔?什么操作时慢?
"AI不听话" 您给AI的指令是什么?AI回复了什么?您期望的是什么?
"功能没了" 之前是怎么用的?现在找不到了还是用不了?版本有变化吗?
"总是断开" 哪个连接断开了?多久断一次?断开时有什么提示?

六、常见问题场景库与排查流程

6.1 场景一:Skill不触发

用户反馈:"我跟它说分析股票,但它没有用我装的那个stock-analyzer技能"

排查流程:

  1. 确认skill是否正确安装:检查~/.workbuddy/skills/下有无对应目录和SKILL.md
  2. 检查SKILL.md的description字段是否包含相关触发词("股票"、"分析"等)
  3. 确认用户的表达是否能语义匹配到该skill的description
  4. 建议用户尝试斜杠命令直接触发:/stock-analyzer
  5. 如果斜杠命令能用但自动触发不行 → description需要优化
  6. 如果斜杠命令也不行 → SKILL.md可能有格式问题

6.2 场景二:MCP连接失败

用户反馈:"我配了playwright MCP但是报错说连不上"

排查流程:

  1. 获取完整错误信息
  2. 检查~/.workbuddy/mcp.json文件格式是否正确(JSON语法)
  3. 确认command指向的工具是否已安装(npx需要Node.js环境)
  4. 确认Node.js版本是否满足要求
  5. 检查是否有端口冲突或防火墙阻止
  6. 尝试在终端手动执行command+args看是否能启动
  7. 如果手动能启动但WorkBuddy内不行 → 可能是路径/环境变量问题

6.3 场景三:AI回复内容不准确

用户反馈:"AI给我的信息是错的,说了一个不存在的API"

排查流程:

  1. 首先确认这是模型幻觉——AI确实会编造不存在的信息
  2. 判断是否是skill指令导致:查看是否有相关skill被触发
  3. 建议用户在提问时提供参考文档/链接,让AI基于已知信息回答
  4. 如果是重要信息,建议用户验证后再使用
  5. 教育用户:AI是工具辅助,关键信息需要人工确认
  6. 记录case,如果某类问题频繁幻觉,可以通过skill来约束AI行为

6.4 场景四:自动化任务不执行

用户反馈:"我设了每天早上8点推送新闻,但一直没执行"

排查流程:

  1. 确认自动化状态是否为ACTIVE(可能被暂停了)
  2. 检查rrule设置是否正确(时区、频率、具体规则)
  3. 确认validFrom/validUntil是否设置了有效期且当前在有效期内
  4. 确认客户端是否在设定时间在运行(自动化需要客户端在线)
  5. 查看automation_runs表中是否有执行记录(可能执行了但结果不符预期)
  6. 如果都正常但就是没执行 → 可能是时区设置问题

6.5 场景五:连接器OAuth失败

用户反馈:"腾讯文档连接器授权后还是显示disconnected"

排查流程:

  1. 确认用户是否完成了完整的OAuth授权流程(可能中途关闭了)
  2. 检查浏览器是否阻止了弹窗
  3. 确认用户的腾讯文档账号状态正常
  4. 尝试断开后重新连接
  5. 检查是否有公司网络/防火墙阻止OAuth回调
  6. 如果以上都正常 → 可能是OAuth token获取异常,建议清除缓存重试

6.6 场景六:记忆系统不工作

用户反馈:"我跟它说了很多次我的名字但它每次都忘"

排查流程:

  1. 确认用户的期望:是同一会话内忘记还是跨会话忘记
  2. 检查.workbuddy/目录结构是否正常存在
  3. 查看USER.md是否有记录用户信息
  4. 检查memory目录下是否有工作日志文件
  5. 如果文件都正常但AI仍不记得 → 可能是上下文读取配置问题
  6. 建议用户手动在USER.md中添加个人信息作为workaround

七、典型Case复盘分析

7.1 Case复盘模板

每个Case复盘应该包含以下要素:

7.2 复盘案例:Skill中工具调用失败

Case: 用户自定义Skill执行时报"Tool not found"

问题现象:用户创建了一个Skill,其中指令要求调用ImageGen工具生成图片,但执行时报错"Tool not found: ImageGen"

根因分析:

解决方案:修改Skill指令,明确说明"先用ToolSearch找到ImageGen工具,然后通过DeferExecuteTool调用"

经验教训:Skill编写时需要区分常驻工具和延迟加载工具,对后者需要写明发现+调用的完整流程

预防建议:维护一份"延迟工具清单",在Skill编写指南中提醒用户

7.3 复盘案例:跨任务数据丢失

Case: 用户在任务A中告诉AI的偏好,在任务B中完全不记得

问题现象:用户在一个任务中设定了"我喜欢简洁风格、不要废话",新建任务后AI又开始啰嗦了

根因分析:

解决方案:

经验教训:需要向用户解释任务隔离的设计逻辑(安全性考虑),同时提供记忆持久化的解决方案

7.4 复盘案例:文件编码导致乱码

Case: 生成的文档中中文全部显示为乱码

问题现象:用户让WorkBuddy生成一份中文报告,保存为.txt文件后用记事本打开全是乱码

根因分析:

解决方案:

经验教训:Windows环境的编码问题是高频问题,需要熟练处理。关键是判断是"生成时编码错误"还是"打开时编码不匹配"

八、升级判断与边界识别

8.1 什么时候该升级

作为1.5线,你的职责是尽可能独立解决问题,但以下情况必须升级:

升级信号 说明 升级对象
确认是产品Bug 能稳定复现的非预期行为 研发团队
数据安全问题 用户数据泄露/丢失/损坏 安全团队 + 研发
服务大面积故障 多用户同时反馈相同问题 运维 + 研发
需要改代码修复 配置层面无法解决 研发团队
涉及账号/权限异常 非正常的权限问题 账号安全团队
用户明确要求升级 多次沟通无法满足用户 主管/升级通道

8.2 升级工单的标准信息

升级时,你的工单应包含:

【问题标题】简明描述问题
【影响范围】单用户/多用户/全量
【问题类型】Bug/性能/安全/功能缺失
【复现步骤】
  1. 环境:OS/版本/网络
  2. 步骤1
  3. 步骤2
  4. ...
【预期结果】应该发生什么
【实际结果】实际发生了什么(附截图/日志)
【已尝试方案】你已经做了哪些排查
【紧急程度】P0/P1/P2/P3

8.3 不该升级的情况

九、工具链与排查辅助

9.1 你可以使用的排查工具

9.2 快速验证清单

检查项 检查方法 常见问题
客户端版本 设置-关于 旧版本缺少功能
网络连通性 ping/访问测试 代理/防火墙阻断
文件权限 ls -la / icacls 只读/无权限
JSON格式 JSON验证器 逗号/引号错误
Node/Python版本 node -v / python --version 版本不兼容
磁盘空间 df -h / 磁盘管理 空间不足写入失败

十、面试模拟演练题

模拟题1

场景:用户说"你们这个AI太蠢了,什么都做不好"

参考应对:

  1. 不要defensive,先共情:"理解您的frustration,我来帮您看看具体是什么情况"
  2. 引导具体化:"能告诉我最近一次让您不满意的是什么任务吗?"
  3. 获取具体信息:指令内容、AI回复、期望结果
  4. 分析原因:是指令不够具体?是AI幻觉?是功能不支持?
  5. 给出针对性解决方案,并教会用户更有效地使用产品

模拟题2

场景:用户说"我装了一个skill但是每次它都不调用"

参考应对:

  1. 确认skill名称和安装位置
  2. 请用户发送SKILL.md文件内容给你查看
  3. 检查description字段是否精准描述了触发场景
  4. 请用户发送他的具体提问内容
  5. 判断提问和description是否有语义匹配
  6. 如果不匹配:建议优化description或添加触发词
  7. 如果匹配:让用户试/skill-name手动触发,如果能触发说明是优先级问题
  8. 检查是否有其他skill抢先匹配了同类请求

模拟题3

场景:用户说"WorkBuddy把我桌面上的文件删了!"

参考应对(高优先级):

  1. 立即安抚用户情绪:"非常理解您的担心,我们先确认一下具体情况"
  2. 紧急确认:文件确实消失了吗?检查回收站
  3. 了解上下文:用户之前给AI下了什么指令?
  4. 检查WorkBuddy的操作日志:是否有文件删除操作记录
  5. 如果确认是WorkBuddy删除的:
    • 这理论上不应该发生(个人文件保护机制)
    • 收集完整信息,立即升级给研发团队
    • 协助用户尝试从回收站恢复
  6. 如果不是WorkBuddy操作的:帮用户排查其他可能原因
  7. 无论哪种情况:将此case标记为高优先级跟进

模拟题4

场景:用户问"为什么WorkBuddy生成的PPT质量那么差?"

参考应对:

  1. 不直接否认问题:"我理解您对质量有更高的期望,我们来看看怎么优化"
  2. 了解"差"的具体表现:是内容质量差?排版不好看?结构不合理?
  3. 查看用户的原始指令:是否给了足够的信息和要求?
  4. 指导更有效的使用方式:
    • 提供详细的大纲和要点
    • 指定风格和色调偏好
    • 分步骤生成(先结构后内容后设计)
    • 使用参考文档或模板
  5. 如果确实是产品能力不足:诚实说明当前限制,收集反馈提交产品改进建议

模拟题5

场景:用户说"我配了mcp.json但工具列表里看不到新的MCP工具"

参考应对:

  1. 请用户分享mcp.json文件内容
  2. 检查JSON格式是否正确(常见:尾逗号、引号不匹配)
  3. 确认配置路径是否正确(~/.workbuddy/mcp.json
  4. 检查MCP server的command是否可执行(路径、权限)
  5. 确认是否需要重启WorkBuddy客户端才能加载新配置
  6. 如果是stdio类型:手动在终端执行command+args测试
  7. 如果是HTTP类型:检查url是否可访问、证书是否有效
  8. 检查是否有环境变量(env字段)需要设置
← 上一篇:产品认知深度 下一篇:技术支撑能力 →