我把小H挂到不同页面后,才发现 Agent 最难的是上下文

0 阅读10分钟

这是“我开发了一个新的简历网站”系列的第 4 篇。

前三篇分别讲了 AI 求职工作流、简历创建意图识别,以及简历编辑器里模板、预览和 PDF 导出的取舍。这篇继续聊小H Agent:为什么把一个 AI 助手放到不同页面后,真正难的不是聊天,而是上下文。

小H智能体工作台

智能体.jpg 图:小H不是单个页面里的聊天框,而是要穿过简历、校招、面经、模板等多个求职场景。


1. 最开始我以为,只要放一个悬浮按钮就够了

做小H的时候,我最开始的想法很直接:

页面右下角放一个入口
  ↓
用户点开
  ↓
进入 AI 对话
  ↓
用户问什么,AI 答什么

这个方案很容易做出第一版。

但很快问题就来了:用户在不同页面点小H,期待并不一样。

在首页,他可能想知道“我该从哪里开始”。
在简历编辑器,他可能想问“这段经历怎么改”。
在校招页面,他可能想知道“这个岗位适不适合我”。
在面经页面,他可能想继续准备“类似问题怎么答”。
在模板页面,他可能只想找“适合应届生的版式”。

如果小H每次都只打开一个空聊天框,用户还要重新解释自己在哪里、想做什么、当前页面有什么内容。

这就很割裂。

所以我后来越来越觉得:

Agent 的入口可以很轻,但它背后的上下文不能是空的。


2. 同一句话,在不同页面里意思不一样

比如用户说:

帮我看看这个适不适合

这句话如果出现在不同页面,含义完全不同。

当前页面“这个”可能指什么更合理的动作
简历编辑器当前简历诊断简历结构和表达
校招详情页当前岗位对照简历做匹配分析
面经详情页当前面经/问题生成回答思路或追问
模板列表页当前模板判断是否适合当前简历内容
首页整个求职准备引导创建简历或选择目标

所以 Agent 不能只看用户输入,还要看用户在哪里。

这也是我后来把小H拆成几类上下文的原因:

页面上下文:用户当前在哪个页面
内容上下文:页面里有哪些岗位、面经、模板或简历
用户上下文:用户是否已有简历、目标岗位是什么
对话上下文:刚才聊到哪一步
动作上下文:下一步应该打开哪个工作区

这几类信息加在一起,Agent 才能少问废话。


3. 页面上下文不是 URL,而是用户任务

一个很容易犯的错误是:把页面上下文理解成 URL。

比如:

/xiaozhao
/mianjing
/templates
/agent

但 URL 只是位置,不等于任务。

同样在校招列表页,用户可能有几种状态:

  • 只是随便看看岗位。
  • 已经筛选了城市和行业。
  • 正准备投某家公司。
  • 想知道自己的简历是否匹配。
  • 想把岗位要求拆成简历修改点。

同样在面经页面,用户也不一定只想“看面经”。

他可能想:

  • 总结这篇面经的高频考点。
  • 让小H围绕这些问题模拟面试。
  • 把面试问题和自己的项目经历对应起来。
  • 找同类公司、同类岗位的更多面经。

所以页面上下文要继续抽象成任务上下文。

我更倾向于这样理解:

用户当前页面
  ↓
页面内容类型
  ↓
用户可能正在完成的任务
  ↓
给出更合适的快捷建议

这样小H就不是“每页都一样的助手”,而是不同页面有不同开场白和建议。

校招岗位列表

图:在校招页面,小H更应该围绕岗位筛选、匹配分析和投递准备,而不是泛泛回答简历问题。


4. 快捷建议不是按钮,而是上下文翻译器

我之前写过,Agent 的快捷按钮不是装饰。

做到多页面以后,这个感受更明显。

一个空输入框会把表达压力丢给用户。用户经常不知道怎么问,尤其是在求职这种信息密度很高的场景。

所以我希望小H在不同页面给出不同的建议:

页面更合适的建议
首页创建简历、简历诊断、校招推荐、面试准备
简历编辑器优化这段经历、生成修改方案、推荐模板
校招列表根据我的简历推荐岗位、筛选适合方向
校招详情分析岗位匹配度、生成投递版修改建议
面经列表找同岗位面经、整理高频题
面经详情生成回答思路、开始模拟面试
模板页推荐适合我的模板、判断 ATS 友好度

快捷建议的作用不是“让界面丰富一点”。

它本质上是在帮用户把当前页面翻译成可执行动作。

用户看到页面
  ↓
系统推测当前任务
  ↓
展示 2-3 个高频下一步
  ↓
用户点击
  ↓
Agent 进入对应工作区

这比让用户每次都从零组织一句完整提问更稳定。


5. 意图识别不能只靠大模型

用户点了快捷建议之后,系统知道他想做什么。

但用户也会直接输入自然语言,比如:

帮我优化一下
帮我看看匹配不匹配
这个岗位能投吗
我想准备一下面试
有没有适合我的模板

这些话都很短,如果完全交给大模型判断,有时会不稳定。

所以我更愿意先做一层轻量意图识别:

读取用户输入
  ↓
匹配高置信关键词和句式
  ↓
判断是诊断、改写、岗位推荐、匹配分析、模拟面试还是模板推荐
  ↓
打开对应工作区
  ↓
再让模型处理具体内容

这个逻辑并不复杂,但很重要。

因为 Agent 不是只要“答得像人”。

它还要决定下一步打开什么:

  • 简历诊断卡片
  • 修改方案
  • 岗位推荐
  • 匹配分析
  • 模拟面试
  • 模板推荐
  • 求职攻略

如果意图识别错了,后面的工作区就会错。

比如用户说“这个岗位适合我吗”,系统应该优先进入岗位匹配,而不是直接润色简历。


6. Agent 工作区比聊天框更适合求职场景

求职场景里,纯聊天框有一个问题:信息很快就会散。

用户问一句,AI 回一段。再问一句,又回一段。

但简历、岗位、面试准备都不是一次性问答。

它们更像一组可操作结果:

  • 诊断分数
  • 问题列表
  • 修改建议
  • 岗位匹配维度
  • 缺失关键词
  • 模拟面试问题
  • 下一步动作

所以我把小H往“工作区”方向做。

左侧:对话
右侧:结果卡片
顶部/侧边:当前任务标签
底部:下一步建议

这样做有两个好处。

第一,结果更可扫读。用户不需要在长对话里找重点。

第二,动作更明确。比如诊断结束后,可以继续生成修改方案;岗位匹配后,可以进入投递版简历;模拟面试后,可以复盘回答问题。

我现在更认可的 Agent 形态不是:

用户问
  ↓
AI 答

而是:

用户表达目标
  ↓
Agent 判断任务
  ↓
打开对应工作区
  ↓
生成可操作结果
  ↓
引导下一步

面经与高频面试题

图:面经不是孤立内容,进入 Agent 后可以继续变成模拟面试、回答拆解和项目追问。


7. 最近页面记录也有用,但不能喧宾夺主

小H挂到多个页面后,我还做了一个很轻的设计:记录用户最近访问过的一些页面信息。

它不是为了“监控用户”,而是为了减少上下文丢失。

比如用户刚看完一个校招岗位,又回到首页问:

刚才那个岗位我能投吗?

如果系统完全不知道“刚才那个岗位”是什么,就只能反问。

但如果能保留最近页面的类型和标题,就可以更自然地接住。

不过这里也要克制。

最近页面记录只能作为辅助上下文,不能替代用户确认。

尤其是涉及简历修改、岗位匹配、投递判断时,不能因为用户最近看过某个岗位,就默认他一定要分析那个岗位。

我的原则是:

可以用最近上下文减少重复输入,但关键动作前要让用户知道系统正在基于什么内容判断。

这也是求职产品里很重要的一点:不要让 AI 显得“神神秘秘地知道很多”,而是要让用户知道依据是什么。


8. 没有简历时,很多上下文都不完整

求职 Agent 有一个绕不开的问题:很多任务都依赖简历。

比如:

  • 诊断简历
  • 推荐岗位
  • 分析岗位匹配度
  • 生成投递版修改方案
  • 模拟面试追问
  • 推荐模板

如果用户没有简历,上面这些任务就只能做成非常泛的建议。

所以我在设计小H时,一直尽量避免这种情况:

没有简历上下文
  ↓
不要假装已经分析过
  ↓
先引导创建、导入或选择简历
  ↓
再进入诊断、匹配、面试等任务

这看起来会多一步,但能避免很多“看起来很智能,实际没依据”的回答。

比如用户问“我适合投这个岗位吗”,如果系统没有简历,只能回答一些通用判断:

  • 看专业是否匹配
  • 看项目经历是否相关
  • 看技能关键词是否覆盖

这些话没错,但它们不是“基于你的简历”的分析。

所以我更愿意让小H先补齐上下文。


9. 多页面 Agent 最难的是保持边界

当小H可以出现在首页、简历、校招、面经、模板等页面后,很容易越做越大。

什么都想接,什么都想回答。

但 Agent 的能力边界必须清楚。

比如:

  • 在岗位页面,可以分析匹配度,但不能承诺录取概率。
  • 在面经页面,可以生成练习问题,但不能保证真实面试一定出现。
  • 在简历诊断里,可以指出问题,但不能编造经历。
  • 在模板推荐里,可以推荐版式,但不能替用户决定职业方向。
  • 在投递建议里,可以给准备路径,但不能替用户做高风险选择。

越是 AI 产品,越要把边界写进流程里。

否则用户会误以为系统比它实际知道得更多。

我现在做小H时会反复提醒自己:

Agent 可以帮用户缩短准备路径,但不能替用户承担事实、经历和决策责任。


10. 总结

这篇想表达的观点是:

把 Agent 放到页面上不难,难的是让它知道用户现在处在哪个任务里。

做完多页面小H之后,我对求职 Agent 有几个更明确的判断:

  • 入口可以统一,但不同页面的开场和建议不能完全一样。
  • 页面上下文不是 URL,而是用户当前任务。
  • 快捷建议不是装饰,而是在把页面内容翻译成下一步动作。
  • 意图识别要稳定,不能每一步都赌模型自由发挥。
  • 求职场景更适合“聊天 + 工作区”,而不是纯聊天。
  • 最近页面上下文有用,但关键动作前要让用户知道依据。
  • 没有简历上下文时,不要生成伪分析。
  • Agent 必须保持边界,不替用户编造事实或承诺结果。

所以我现在越来越觉得,小H真正要做的不是“更会聊天”,而是“更知道用户此刻该往哪一步走”。

下一篇我准备写:为什么简历网站里要做校招和面经,内容不是流量,而是上下文。