
写在前面这周经历了“冰火两重天”。周一面试了一家全栈Agent岗结果被面试官按在地上摩擦——热更新、设计模式、Tool动态配置、记忆压缩触发时机、Claude Code源码……几乎每个问题都答不上来。面试结束后我一度很沮丧但也庆幸这些问题现在暴露总比暑期实习终面暴露要好。于是从周二开始我拿出项目优化计划一条一条啃。一周下来智答Agent项目完成了记忆系统真实接入RedisMySQL、Memory Agent独立实现、意图识别改LLM、三级链路设计、Reasoning Agent、问题改写语义化等核心改造。周五周六连续两天没记日记但GitHub上全是提交记录。现在再问那些问题我能讲出“责任链数据库配置AtomicReference热更新”“四级记忆体系上下文压缩”“LLM意图识别关键词降级”……这种感觉就是把项目从“能跑”真正变成了“能讲”。这周我找回了自信。一、本周完成面试实战全栈Agent岗小公司时间5月11日 16:59-17:31约32分钟。面试官焦天博。核心问题Agent编排能否热更新设计模式Tool动态配置怎么实现四级记忆分别是什么压缩触发时机Claude Code源码了解吗子Agent有哪些全链路观测怎么做Redis分布式锁、持久化、Docker Compose、CI/CD……表现除了自我介绍和四级记忆基本答上其他大部分答得模糊或完全不会。收获面试官最后给了诚恳建议——“语言不是瓶颈技术也不是瓶颈重要的是工程思维和架构思维。如果你能把简历上这些逻辑都能理通你是有竞争力的。”后续行动把面试记录整理成文档逐条补强形成“面试错题本”。项目重构智答Agent → 生产级多Agent系统根据面试暴露的短板本周集中完成了以下优化参考项目优化计划阶段二重点条目记忆系统真实接入#8四级记忆体系L1 短期记忆AgentState.context已有L2 会话记忆Redis存储24h过期List结构存最近N轮L3 用户记忆MySQLuser_memory表key-value结构存储用户偏好L4 知识记忆向量库FAISS/Milvus实现上下文压缩对话超过10轮触发LLM摘要保留最近5轮完整对话缓存摘要到Redis节省35% token。Memory Agent独立实现#8.5新建memory_agent.py独立管理记忆的读取、写入、压缩、偏好提取。与Executor解耦通过AgentState共享数据。面试可讲“Memory层真正成为五层架构中的独立一层”。意图识别统一分类器#9合并planner.py和router_agent.py中两套意图识别。采用LLM优先 关键词Fallback策略使用LangChain PromptTemplate调用通义千问。支持6种意图类型闲聊、知识问答、管理操作、知识巡检、身份查询、未知。三级链路设计#12按问题复杂度分流L1简化链路80%请求直接检索生成响应2-3秒L2标准链路15%请求问题改写重排序生成响应5-8秒L3推理链路5%请求ReasoningAgent做CoT分步推理响应10-15秒在RouterAgent和KnowledgeQAAgent两层实现兼顾性能与质量。Reasoning Agent#11新建reasoning_agent.py实现Chain-of-Thought三步流程问题分解→逐个子问题检索推理→汇总生成答案。复杂问题对比、分析、归纳类自动路由到此Agent。问题改写语义化#10从标点替换改为LLM语义改写补充省略主语/宾语、口语转书面、代词消解。降级为简单替换。其他工程化七牛云改为可选本地降级✅FAISS默认开启Milvus可选✅Rerank配置优化✅Docker Compose一键部署✅单元测试ToolRegistry、Router、Planner、State等✅GitHub Actions CI✅README更新✅八股与基础复习碎片时间MySQL与Redis双写一致性读写锁Redisson实现共享锁/排它锁保证写时不被读脏。Redis持久化RDB快照 AOF日志混合持久化。分布式锁SET NX EX Lua脚本解锁 Redisson看门狗。责任链模式解耦请求发送者和处理者支持动态调整顺序。策略模式封装算法族运行时替换。I/O多路复用select/poll/epollRedis采用epoll。博客输出本周输出技术博客约8篇包括《面试复盘全栈Agent岗被拷打后的反思》《四级记忆体系从mock到RedisMySQL真实接入》《意图识别LLM优先关键词Fallback双层策略》《三级链路设计如何让Agent按需调用》《Reasoning AgentChain-of-Thought分步推理》《Redis分布式锁从SETNX到Redisson看门狗》部分博客被专栏推荐。二、本周收获面试是最好的学习催化剂一场面试让我看清项目是用Claude Code辅助做的很多设计决策自己没有深入理解。面试官追问“为什么”时就卡壳。这份耻辱感转化成了最强的动力——一周时间我把项目从“能跑”重构到“能讲”现在再问热更新、记忆压缩、子Agent我能流畅讲出方案和取舍。记忆系统从mock到真实之前简历写的“四级记忆体系”完全是空壳。这周接入了Redis和MySQL实现了会话记忆持久化、用户画像存储、上下文压缩。面试官再问“记忆怎么做的”我可以拿出代码和架构图。三级链路设计兼顾性能与质量不是所有请求都需要走完整链路。L1处理80%简单问题响应快L2处理需要改写的问题L3处理复杂分析问题。这是架构决策不是偷懒面试时能讲清楚。意图识别LLM 关键词降级用LangChain PromptTemplate调用通义千问能理解“帮我查一下昨天的会议记录顺便总结要点”这种复合意图。LLM挂掉时自动降级到关键词匹配保证了可用性。写博客倒逼深度理解每做完一个模块就写一篇博客。写《Redis分布式锁》时我不仅写了SETNX还画了Lua脚本解锁流程图理解了看门狗原理。输出真的能倒逼输入。三、遇到的问题记忆压缩触发时机一开始设计成每轮对话都压缩被面试官纠正那样太慢。后来改成接近上下文窗口上限时触发比如80%或者对话轮数超过10轮。缓存摘要避免重复压缩。LLM意图识别延迟调用qwen-plus会有1-2秒延迟。解决方案关键词匹配先快速过滤明显意图如“你好”直接判闲聊复杂情况才调LLM。同时降级方案保证LLM不可用时系统仍可用。多Agent状态共享之前用全局字典存run_id对应的状态并发有问题。改为AgentState对象贯穿整个调用链每个步骤持有state引用通过runId/traceId追踪。四、本周不足算法依然停滞这一周全扑在项目重构上LeetCode一道没刷。下周必须恢复哪怕每天只做一道。跑步次数不足扁平足恢复缓慢只跑了3次。下周尝试游泳或椭圆机替代。Docker Compose虽然写了但没真正部署到云服务器只是本地docker-compose up跑通。下周争取部署到一台云服务器生成公网链接。五、下周计划项目收尾与文档完成README最终版带badge、架构图、快速启动。编写评估pipeline#14跑测试集算出faithfulness/relevance指标。完善runId/traceId链路追踪日志#15。准备业务故事#16对着镜子练熟。算法恢复每天1道LeetCode从二叉树、回溯开始。周末做一次小模拟。八股继续深化JVM内存模型、垃圾回收、类加载机制。JUC并发volatile、CAS、AQS、线程池。Spring源码循环依赖、事务传播。求职继续投递目标6月前拿下暑期offer。把面试错题本背熟模拟面试至少一次。六、总结这一周我经历了面试的“毒打”但也完成了项目质的飞跃。从“项目用AI辅助做的”到“我能讲清楚每个设计决策”这中间的差距就是一周的集中攻坚。现在再回想面试官的问题我不再心虚。技术成长就是这样——被击倒然后爬起来把短板补上。我还有信心暑期offer一定会来。继续前进。