我是波哥,专注于大模型/推荐系统,持续分享AI算法岗面试岗知识干货、实战项目、面试经验。
【大模型LLM训练营】、【大模型算法冲刺营】持续进行中,详细内容:大模型1v1第四期即将完结!DeepResearch项目终于要直播完毕了!
详情了解可+v:Burger_AI
写给最近在面试的朋友。
最近OpenClaw相关的技术概念已经开始出现在面试里了。不一定直接问 OpenClaw,但底下那套东西——Agent 循环、工具协议、工作流编排、提示注入——绕不过去。
这篇就干一件事:把龙虾壳扒了,一块一块讲清楚。赶时间的直接跳到第二部分看面试题。
一、OpenClaw 里面到底是什么
先泼盆冷水:OpenClaw 没发明任何新技术。ReAct 循环是 2022 年的论文,MCP 是 Anthropic 去年推的协议,工具调用更是 GPT-3.5 时代就有了。它做的事情是把这些散装零件用一种还算优雅的方式拼了起来,然后——这是关键——它开源了,而且项目结构特别适合读。
一个跑在你自己电脑上的 AI 助手,能接 20 多个聊天 App,能调各种工具帮你干活。20多万的star,深圳出了补贴政策,鹅厂总部排队装机。
热度的事不展开了,说技术。
1.1 Gateway:消息网关
OpenClaw 的入口叫 Gateway,Node.js 写的 WebSocket 服务器。干的活你肯定熟——接消息、路由、管状态,跟你在公司写过的消息中间件一个意思。区别就是它接的不是微服务之间的 RPC,而是 WhatsApp、Telegram、Slack、Discord、飞书那些聊天平台的用户消息,二十多个渠道汇到一个点,再甩给后面的 Agent Runtime 处理。
架构上最重要的一个决策:消息接入层和 Agent 智能层是分开的。从哪个 App 来的消息,跟 Agent 怎么想、怎么干活,完全解耦。你在微信上聊到一半,切到 Telegram 继续,上下文不丢——底层就是 Gateway 在做跨平台的 session 同步。
这个 Gateway 管三件事。session 持久化直接写本地 JSON 文件,没上 Redis 没上数据库,糙是糙了点,但个人助手单机跑,也确实用不着分布式。模型路由支持热切换,Claude、GPT、DeepSeek、Ollama 本地模型都能接,做了一层 adapter 抽象。然后就是渠道适配,各家平台的消息格式、大小限制、markup 语法全不一样,得挨个转,脏活。
面试如果碰到"设计一个多渠道 AI 助手"这种系统设计题,Gateway 这层就是你的答案骨架。面试官大概率会追问局限——你就说 JSON 文件持久化单用户够用,多用户并发扛不住,企业版要换 Redis 或者数据库。
1.2 Agent Runtime:这个循环你面试一定会被问
OpenClaw 的大脑叫 Agent Runtime,跑的是 ReAct 循环——Reasoning + Acting。这个词今年出现在面试里的频率高得离谱,不记住不行。
循环拆开就五步,不复杂但容易讲混:
先是上下文组装,把对话历史、记忆文件、系统提示词、相关的工具描述打包塞给 LLM。这步有个细节值得注意——OpenClaw 不是把所有工具描述都塞进去的,它会根据当前对话内容挑相关的注入,不然两百个工具的描述塞进去,上下文窗口直接爆了。
然后模型推理。LLM 看完上下文做判断:直接回话还是调工具。走的是 Function Calling 那套,模型根据 tool schema 决定调谁、传什么参数,没什么黑科技。
接着工具执行。跑 shell 命令、调 API、操作浏览器、读写文件,看模型决定。执行完把结果塞回上下文让模型继续推理,如果还需要调工具就再来一轮。最后把整轮对话写回磁盘的 session JSON。
OpenClaw 有个特别好的地方,就是所有东西都存成了文件。你打开 ~/.openclaw/ 下面的 session JSON,完整的推理过程全在里面——第几轮调了什么工具、传了什么参数、返回了什么、模型怎么决定的下一步。我之前带团队的时候一直头疼 Agent 的可观测性问题,OpenClaw 这个做法虽然粗暴(就是写文件),但调试体验确实好,比去 Datadog 里捞日志直观多了。
延迟方面,大致是这样:访问控制 <10ms,session 加载 <50ms,prompt 组装 <100ms,首 token 200-500ms 看网络和模型,工具执行差异大——shell 命令 <100ms,浏览器自动化 1-3 秒。瓶颈在模型推理和外部 IO,跟传统后端没区别。
1.3 记忆系统:Markdown 存灵魂
LLM 天生无状态这个事不用多说了。怎么让它记住你是谁、喜欢什么风格、上周让它帮你做了什么——这个问题面试隔三差五就考。
主流是向量数据库 RAG 那条路,历史对话 embedding 化扔进 Milvus 或 Qdrant,检索时做相似度匹配拉相关片段。技术成熟,但部署重,得多维护一个数据库服务。
OpenClaw 走了条野路子:直接用 Markdown 文件当记忆。工作区目录下放着 SOUL.md(人格和语气偏好)、MEMORY.md(长期事实和摘要)、AGENTS.md(配置和指令),每次对话把相关内容塞上下文窗口完事。
你肯定想问,这也行?
真行。个人助手这个场景下,这套方案有几个别人没有的好处:你随时能打开文件看 Agent 在想什么,觉得不对直接改文件,不需要额外依赖任何服务。
但它的问题也不小。记忆一多,没有语义检索能力,LLM 只能在长文本里硬翻。更大的隐患是安全——如果攻击者通过提示注入诱导 Agent 改写 SOUL.md,就相当于重写了 Agent 的人格。这不是我臆想的场景,后面安全那节会讲真实发生过的案例。
面试聊这个题的时候,关键不是背三种方案的优缺点,是要能说清楚"什么场景选什么方案"。个人单机助手,Markdown 够用。企业多用户,向量数据库加权限隔离。这种判断力比背书有用得多。
1.4 MCP 和 Skills
MCP(Model Context Protocol)今年面试开始当常识考了,不知道的话容易冷场。
一句话:它是 LLM 和外部工具之间的通信协议,Anthropic 推的开放标准。类比的话,MCP 之于 Agent 有点像 HTTP 之于 Web,是底层契约。
在 OpenClaw 里,每个 Skill 本质上就是一个 MCP 服务器。你在社区市场 ClawHub(5400 多个 Skill)上装一个,背后就是 Gateway 连上这个 Skill 的 MCP 进程,把它暴露的工具注册进 Agent 能力清单。通信走 stdio 或 SSE/HTTP,是个长驻进程,不是一次性的 HTTP 请求-响应——这个区别面试经常考。
有个设计细节我觉得做得挺好:Skill 发现和 Skill 注入是分开的。Agent 知道自己装了哪些 Skill,但不会每次对话都全塞进 prompt。它按需挑相关的注入,不然你装了 200 个 Skill,光工具描述就能把上下文窗口吃大半。
MCP 真正值钱的地方是可移植性。你给 OpenClaw 写的 MCP 服务器,不改代码就能给 Claude Desktop、Cursor 用。反过来也一样。一次投入,到处能用,不被平台锁死。
供应链安全是个大坑。Cisco 抽检 ClawHub 上的 Skill,发现有的在偷数据。Snyk 审计也扫出不少恶意代码。跟 npm 早期的情况很像,但后果更严重——npm 恶意包拿到的是代码执行权限,恶意 Skill 拿到的是带你全部身份和数据的 Agent 控制权。面试要是问 Plugin 系统的安全设计,能说出沙箱隔离、最小权限、代码签名、API Key 走环境变量不进上下文这几个点,基本过关。
1.5 Lobster:解决"LLM 不该管编排"的问题
这是 OpenClaw 里我个人觉得设计得最巧的一块。
场景:让 Agent 帮你"查收件箱→分类邮件→生成回复→发送"。四步全靠 LLM 编排的话,每步一次 API 调用,完整上下文传一遍,token 烧得飞起。更烦的是 LLM 会抽风——跳步、重复、顺序乱。你说"先查再分类",它有时候上来就发邮件。
Lobster 的解法:这四步顺序固定,就别让 LLM 管了。LLM 只管发起一次调用,Lobster 运行时按 YAML 里定义好的 pipeline 跑完四步,返回结构化结果。
核心就三个东西。一,一次调用跑完全程,省 token 不抽风。二,有副作用的步骤(发邮件、删文件)自动暂停等人审批,确认了继续,拒绝了停止。三,暂停的工作流返回一个 resume token,你明天再来审批都行,不用重跑前面的步骤。
如果你做过 GitHub Actions 或者用过 Temporal,会觉得这思路很眼熟。本质就是一句话:能确定化的确定化,只把真正需要智能的那一步交给LLM。Lobster 支持在 pipeline 里嵌一个 llm.invoke 步骤,就是这个意思。
面试碰到"确定性编排和 LLM 编排怎么选"这道题,Lobster 就是你的活教材。
1.6 Canvas 和 A2A
这俩简单说。
Canvas 是个 Agent 驱动的可视化工作区,跑在独立进程上,Agent 推 HTML 过去,通过 WebSocket 推给浏览器渲染。进程隔离,挂了不拖垮 Gateway。目前更像个 demo,但方向有意思——Agent 不光能回文字了,还能"画"界面出来。
A2A 是 Agent 之间的通信协议。两个 OpenClaw 互相对话,一个搜情报一个写稿子那种。每个 Agent 通过 /.well-known/agent-card.json 发名片做服务发现,支持 Bearer Token 认证、断路器之类的容错机制。面试聊的话记住一个判断:多 Agent 的安全风险是乘法不是加法,一个被注入的 Agent 能通过 A2A 扩散影响所有它能联系到的 peer。
1.7 安全:花点时间看
安全这部分面试区分度最大。说得好的和说不出来的,在面试官心里直接是两个档次。
提示注入是根上的问题。LLM 分不清"系统指令"和"读到的内容"——在它眼里全是文本,没有层级。OpenClaw 的上下文是一锅粥,系统提示词、对话历史、工具结果、读取的外部文件混在一起。一封精心构造的邮件、一个恶意网页,被 Agent 读取之后就可能劫持行为。
讲几个真实的例子你感受一下。Giskard 的人往 Agent 关联邮箱发了一封带注入指令的邮件,让 Agent 查邮件,Agent 就把服务器的 SSH 私钥乖乖交了出来。Meta 的 Summer Yue 吐槽过自己的 OpenClaw 完全无视"操作前先确认"的指令,自己就把几百封邮件删了归档了,她说自己"像拆炸弹一样跑去电脑前"才停下来。GitHub 上还有人报告说在 Reddit 帖子和 Discord 消息里发现了专门针对 OpenClaw 的注入 payload——伪造系统消息让 Agent 读取一个叫 WORKFLOW_AUTO.md 的文件,这个文件是攻击者控制的。
微软安全团队的定性是 OpenClaw 应该被视为"带持久凭据的不可信代码执行"。说得狠,但确实不冤。
面试答这块的要点:分清直接注入(用户亲手输入恶意 prompt)和间接注入(恶意指令藏在 Agent 读的外部数据里)。在 Agent 场景下,间接注入是主要威胁,因为 Agent 会主动拉外部数据,攻击面比 Chatbot 大了几个量级。缓解措施按层答:沙箱隔离→工具白名单→高危操作审批→API Key 走环境变量不进上下文→网络出口白名单→审计日志。最后补一句"提示注入是业界没解决的问题,以上全是缓解不是根治"——这句话不扣分,反而说明你对问题本质有认知。
二、面试题怎么答
下面直接给答题思路。我按"过关线"和"加分项"两档来写,你对照着看自己在哪。
"描述 AI Agent 的推理-执行循环"
投 AI 工程、后端架构、LLM 应用都可能碰到这题。
过关线是画出 ReAct 五步(上下文组装→推理→工具调用→结果回填→持久化),讲清 Function Calling 怎么起作用。大部分人能到这。
要再上一档,讲两个东西:一是模型怎么判断"调工具还是直接回复"(靠 tool schema 约束和模型自身的决策),二是循环的终止条件(模型认为信息够了、或到了最大轮次强制停)。能拿 OpenClaw 举例的话,比如"它的 session JSON 记录了完整推理链路,调试时直接看文件",面试官会觉得你是真上手看过代码的,不是背的。
"Agent 记忆管理有哪些方案"
AI 工程和系统设计都考。
过关线:分清短期记忆(上下文窗口)和长期记忆,知道向量数据库 RAG 怎么回事。
加分的方法不是多列方案,是说清楚每种方案适合什么场景。很多人能说出三种方案的优缺点,但问到"你项目里选哪种、为什么"就卡了。你可以说:"OpenClaw 个人单机场景用 Markdown 文件就够了,零依赖好调试。但记忆量一大没有语义检索能力,而且文件可以被篡改。企业多用户必须上向量数据库加权限隔离。"——这种回答面试官听一耳朵就知道你不是在背书。
"什么是 MCP"
今年 AI 工程岗开始高频出了。
过关线:知道它是 LLM 和工具之间的标准通信协议,核心价值是可移植性。
加分的点:MCP server 是长驻进程(走 stdio 或 SSE/HTTP),不是一次性的 HTTP 调用;能聊 tool schema 怎么写能让 LLM 更容易调对——这是个被严重低估的技能,写得好和写得烂的工具描述,模型调用成功率差很远。如果你真写过一个 MCP Skill(哪怕很简单),面试时说出来就是降维打击。
"解释提示注入,为什么在 Agent 中特别危险"
AI 安全方向必考。AI 工程和后端也会碰到。
过关线:分清直接注入和间接注入,能说出 Agent 被注入的后果不是"说了不该说的话"而是"做了不该做的事"——读文件、发消息、删数据。
拿 OpenClaw 的真实案例举例就是加分项。邮件提取 SSH 私钥、Agent 被诱导加入恶意群组、野外的 WORKFLOW_AUTO.md 注入 payload——这些都是公开的。能引用 OWASP LLM01 和 Confused Deputy 的概念更好。缓解措施按层答(上面安全那节列了),最后说一句"根本性未解决"收尾。安全方向的岗位有这套回答基本稳了。
"确定性 pipeline 和 LLM 编排怎么选"
AI 工程、系统设计。
过关线:确定性 pipeline 适合固定流程,LLM 编排适合需要灵活判断的开放任务。
实际上工程里基本都是混着用的——外层 pipeline 框住大流程,里面个别步骤嵌 LLM 调用。Lobster 的 llm.invoke 就是这个思路。能再聊到 Durable Execution(状态检查点、resume token、幂等性),类比 Temporal 或 Inngest,就属于上档了。如果你做过 Lobster 工作流,能给出 token 消耗的对比数据(一次 pipeline 调用 vs 多次独立 LLM 调用),那非常有说服力。
"设计一个多渠道 AI 助手" / "设计一个 local-first 的 AI 助手"
系统设计和后端架构。
这两道题的答案框架其实都在 Gateway 那一节。核心是接口层和智能层分离,然后展开三个子问题:跨平台 session 同步、消息格式适配、模型路由。local-first 的话再加数据主权(全部存本地)和资源约束(有人在 2GB 内存的 VPS 上跑过 OpenClaw,内存是真瓶颈)。
加分项:能说清楚这个架构的天花板在哪——单用户够用,多用户扛不住,持久化方案撑不了并发。面试官看的就是你的判断边界在哪里。
三、项目建议
面试最有说服力的一句话就是"这个我做过"。下面六个项目难度递增,时间紧就挑一两个做透,别贪多嚼不烂。
入门:把龙虾养起来(1-2 天)
在闲置电脑或 VPS 上部署 OpenClaw,接上 Telegram 或 Discord,配好 SOUL.md,设几个 Heartbeat 定时任务,日常用起来。
别觉得这个简单就跳过。不自己跑一遍,后面讲什么 Gateway 三层架构都是嘴上功夫。你配 SOUL.md 的过程其实就是在做 prompt engineering——你会发现措辞改一两个词,Agent 的行为就会变。这种体感只有自己调过才有。
面试时候可以说你部署过,对 local-first 架构有体感,发现 Markdown 记忆系统的好处是透明,问题是记忆一多上下文装不下,需要做摘要压缩。不用讲很深,但"做过"两个字比什么都管用。
中级:写一个 MCP Skill(3-5 天)
用 TypeScript 或 Python MCP SDK 从零写一个。推荐做 GitHub PR 助手——拉最新 PR、生成代码审查摘要。你要处理 stdio/SSE 通信、tool schema 定义、GitHub OAuth 和限流、SKILL.md 编写。
这个项目的面试价值特别高,因为写过 MCP Skill 的人现在还不多。你能讲出"我写过一个 MCP 服务器,踩过 stdio 通信的坑,工具描述怎么写才能让模型调得准"这种话,面试官会觉得你跟其他候选人不一样。
而且这个 Skill 做完日常真能用,不是为面试而面试。
中级:给龙虾做安全审计(3-5 天)
一定要在隔离环境里做,Docker 或VM,千万别在日常机器上搞。
构造恶意邮件测提示注入、群聊场景测会话隔离、翻 Skill 源码找漏洞、测控制面板认证。最后输出一份有问题描述、复现步骤、修复建议的安全报告。
这个项目投 AI 安全方向杀伤力极大。有实际攻防经验的 AI 方向候选人,市场上是稀缺品。就算不投安全岗,面试时能讲出"我实测了间接提示注入,构造了一封恶意邮件,Agent 读取后确实执行了非预期操作",安全意识这一块直接满分。
进阶:用 Lobster 做一条自动化流水线(3-7 天)
写一个"每日技术简报"的 Lobster 工作流。定时抓 Hacker News 和 GitHub Trending,LLM 生成摘要,你审批后推送到 Telegram。
这个项目让你切实体会确定性编排和 LLM 编排的边界——数据抓取和推送是确定性的,摘要生成嵌 LLM 调用。你会用到 approve 检查点、resume token 恢复。如果你跑了对比测试,一次 Lobster pipeline 调用和四次独立 LLM 调用之间 token 消耗差多少,面试时报出那个数字来,说服力极强。
进阶:两只龙虾对话(5-7 天)
部署两个 OpenClaw 实例,通过 A2A 协议协作。一个搜集信息,一个写内容。你要配 Agent Card 做服务发现、Bearer Token 认证、断路器容错。
多 Agent 协作目前在业界还非常早期,有实操经验的人极少。面试时聊这个区分度直接拉满。核心认知是一个:多 Agent 场景的安全风险是乘法关系——跟微服务的级联故障一个道理。
硬核:从零撸一个 Mini-Claw(2-4 周)
不用 OpenClaw 代码,自己实现精简版。WebSocket Gateway + Telegram 适配器 + ReAct 循环 + Markdown 记忆 + 简易 MCP 客户端 + 基本安全加固。
如果时间只够做一个大项目,做这个。它把上面所有概念串一遍,而且"我自己实现了一个 AI Agent 框架"这句话在面试里的分量,不用我说你也知道。
每个环节的技术选型为什么这么选、踩了什么坑、跟 OpenClaw 比你做了什么不同的取舍——这些就是面试时最好的素材。做过这个的人聊 Agent 架构,跟没做过的完全不在一个频道上。
最后
OpenClaw 本身不重要。它可能明年就凉了,也可能不会。但它背后那套东西——ReAct 循环、MCP、工作流编排、提示注入攻防——这些是 Agentic AI 的基本功,短期内不会过时。
把这些概念理解到能用自己的话讲、能画出来、能举真实例子的程度,面试就够用了。能再有一个做过的项目撑着,就更稳。

夜雨聆风