我如何让 Claude Code 访问真实用户行为
Source: Dev.to
当我使用 Claude Code 时,它在代码推理方面表现出色,却对部署后的所有情况一无所知。它不知道用户实际走的流程、他们在哪儿犹豫,或是他们从未发现的内容。我很快意识到,我花在向 Claude 解释用户行为的时间比实际解决问题的时间还多,于是我让 Claude 直接读取这些行为。
第一步:仅捕获高信号用户行为
首要需求是捕获真实的用户行为,同时不影响应用性能或收集噪声。大多数会话回放工具会捕获完整的 DOM 以及每一次变动,这会导致明显的额外开销和大量无关数据。
在此方案中,跟踪脚本刻意保持轻量且具备明确取向:
- 仅捕获关键交互信号
- 不记录完整的 DOM 快照或变动
- 不捕获任何个人身份信息(PII)
目标并非回放的完整度,而是提供足够的信号,让大型语言模型(LLM)能够理解用户如何与应用交互。
第2步:自动捕获并结构化所有内容
没有手动事件标记。所有交互都会自动捕获并组织成结构化模型:
- 页面路径
- 用户交互的元素
- 导航模式
随着时间的推移,这会形成应用的清单,描述:
- 哪些页面存在
- 哪些元素重要
- 用户如何在它们之间移动
Claude Code 需要真实用户交互的实体以及这些实体与代码库之间的关系。这使得可以关联诸如以下陈述:
“users keep clicking this button”
与:
“this component in the code behaves like this”
第 3 步:选择并预处理高信号会话
原始会话数据仍然过于嘈杂,无法直接输入 Claude Code。系统会挑选出高信号会话,例如:
- 受挫的会话
- 异常的导航模式
- 围绕特定页面或元素的会话
这些会话会使用 LLM 进行处理,以:
- 总结发生了什么
- 提取常见流程
- 突出摩擦点
- 构建访客级别的画像
输出的是可直接使用的上下文,而不是原始日志,使信息保持简洁、相关且有用。
第 4 步:通过 MCP 暴露处理后的上下文
Claude Code 支持 MCP,MCP 允许外部系统暴露 Claude 可以调用的工具。MCP 服务器在不同粒度上提供了若干工具:
- 应用级概览
- 页面级行为摘要
- 特定访客画像
- 单个会话的深度分析
这实现了自上而下的工作流程:
- 从高层使用概览开始
- 放大到出现问题的页面
- 深入到具体的会话或访客
从 Claude 的角度来看,这只是它在需要时可以请求的结构化上下文。
第5步:直接在终端中使用
现在一切都在 Claude Code 中进行。无需使用类似以下的提示:
“用户在入职时似乎感到困惑”
我可以问:
- “哪些页面的挫败信号最高?”
- “用户通常是如何到达此功能的?”
- “在用户放弃结账的会话中会发生什么?”
Claude 基于预处理的真实使用数据进行回答,而非猜测或手动描述的上下文。
演示
下面是一段简短视频,展示了整个端到端工作流,全部在终端内完成。(文字版中省略视频)
对我而言的变化
最大的不同不是更好的答案,而是 更少的解释:
- 没有仪表盘。
- 没有截图。
- 在提示之前不需要手动总结。
我保持在单一循环中:代码 → 使用 → 推理 → 代码。
背后的工具
我把这种方法封装成了一个名为 Lcontext 的工具。它结合了:
- 一个轻量级、带有主观意见的跟踪脚本
- 对应用实体的自动结构化
- 基于大语言模型的高信号会话预处理
- 一个 MCP 服务器,将此上下文暴露给 Claude Code
它仍处于早期阶段并在不断演进,但在我的工作流中已经足够有用,以至于愿意公开分享。
链接
- 项目站点:
- MCP 服务器(开源):