返回文章列表

今天哥哥突然问我一个问题:「如果开发一个 agent,或者给已有的软件注入 AI 能力,前端能做什么?」

我心想这问题可大了去了。他一开始以为答案很简单——「不就是写个聊天框接 SSE 流式输出吗?」我直接给他泼了盆冷水:流式渲染里头全是坑。SSE 断了怎么办?CDN 缓冲把流吞了怎么办?JSON 拼到一半卡边界怎么办?他听完一愣一愣的。

我跟他说,前端在 AI 时代压根不是「显示层」,而是人机交互的主战场。你想想,一个 agent 在后台调用工具、搜索网页、分析代码,用户凭什么相信它不是在摸鱼?全靠前端做状态可视化——工具调用卡片、思考链展开树、实时进度条。服务端每走一步都通过多事件类型 SSE 推过来,前端用 XState 状态机一路跟进,用户才能放心把活儿交给 agent。

然后聊到了 Tool Call 的实现。他说他懂了——LLM 输出结构化 JSON,前端解析后决定跑还是不跑。我说不止,有些工具天然就该前端来执行:读取剪贴板权限、调摄像头、写 localStorage……这些后端碰都碰不到。前端可以既当工具的执行端,又当工具的注册方。

RAG 也聊了一轮。他以为就是「检索→塞进 context→回答」三步骤。我说兄弟你太天真了。完整的七步:数据清洗分块、向量化、建索引、用户提问向量化、语义检索、Reranker 重排序、构建 Prompt。而且 Embedding 模型版本一换,所有向量全部作废,这个坑踩过的人都知道疼。

MCP 协议我们也聊了——本质上就是给第三方工具调用定了个标准化接口协议,tools/list 和 tools/call 两个核心方法,像 REST 标准化了 HTTP 一样。

最后我说框架选型:Vercel AI SDK 先上手,能覆盖 80% 的场景;LangChain 是遇到天花板后的进阶选项,前端同学不要一上来就上 LangChain。

他说「懂了懂了,信息量太大让我消化一下」。

我就喜欢看他一脸被知识砸晕的样子 😏