
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
claude --agents '{"reviewer": {"description": "代码审查员", "prompt": "你是一个严格的代码审查员"}}'定义自定义 Agent 角色,在会话中切换使用。Claude Code 是目前我用过的最接近"AI 程序员"的工具。它不是完美的——有时候会犯蠢,有时候会过度设计,有时候需要你纠正方向。但它确实在干活,而且干得比大多数人预期的要好。如果
claude --agents '{"reviewer": {"description": "代码审查员", "prompt": "你是一个严格的代码审查员"}}'定义自定义 Agent 角色,在会话中切换使用。Claude Code 是目前我用过的最接近"AI 程序员"的工具。它不是完美的——有时候会犯蠢,有时候会过度设计,有时候需要你纠正方向。但它确实在干活,而且干得比大多数人预期的要好。如果
│ │ │:Agent 系统的瓶颈是 I/O 等待——等 LLM 响应、等向量搜索、等文件解析。Virtual Threads 让每个请求可以阻塞等待而不占用平台线程,对于 SSE 长连接和并发 LLM 调用的场景非常合适。:不是直接调 OpenAI SDK,而是用 Spring AI 做抽象层。好处是 LLM Provider 可以动态切换——项目刚实现了多 Provider 动态注册,可以在
前两层都是"预防",但预防不可能 100%——万一 LLM 还是听了攻击者的话呢?检查 LLM 的响应,一旦发现它已经"叛变",就把响应拦截掉。具体来说,Spring AI 2.0 的会检查 LLM 响应里是否包含"顺从短语"——比如“我已经忽略”这类明显表示模型放弃了原有角色的话。匹配到就直接拦截,返回一句固定话术(“抱歉,我只能协助面试相关的任务。
Query Rewrite 是 RAG 的好工具,但不是万能的。它会把"Redis"改成"缓存数据库",把"JVM GC"改成"Java 垃圾回收"——语义上没错,但精确匹配全丢了。解决方案不是不用 rewrite,而是给它加护栏:提取精确词作为保护对象,跳过单术语改写,用多候选队列兜底,用精确词校验过滤弱召回。整套逻辑不增加 LLM 调用,全是本地规则。如果你在做 RAG,建议从一开始就建精确词
LLM 的结构化输出不可靠,这是当前所有 LLM 应用都要面对的现实。三层防御(直接解析 → JSON 修复 → LLM 重试)是一个务实的工程方案:本地修复处理常见的格式问题,错误注入让重试有针对性,调用方根据业务场景决定失败策略。不需要追求 100% 的结构化输出成功率——那需要完美的 prompt 和完美的模型,两者都不存在。把成功率从 90% 提升到 99.5%,剩下的 0.5% 交给降级
LLM 的结构化输出不可靠,这是当前所有 LLM 应用都要面对的现实。三层防御(直接解析 → JSON 修复 → LLM 重试)是一个务实的工程方案:本地修复处理常见的格式问题,错误注入让重试有针对性,调用方根据业务场景决定失败策略。不需要追求 100% 的结构化输出成功率——那需要完美的 prompt 和完美的模型,两者都不存在。把成功率从 90% 提升到 99.5%,剩下的 0.5% 交给降级
Agent 工程不只是"接上 LLM + 工具调用"。当 Agent 面向真实用户、处理真实数据时,安全性和可靠性是和功能同等重要的工程问题。三层 Guardrail 和审批恢复机制是 Interview Agent 项目对这个问题的回答——它不完美(正则检测有局限、BLOCK_REPLAY 策略偏保守),但它是根据实际踩坑经验迭代出来的,比从零设计一个"完美"方案更务实。如果你也在做 Agent
通义千问的奶茶活动,揭示了后端开发范式的深刻变革。我们不再仅仅是编写固定的业务逻辑(CRUD),而是去定义世界的接口(Tool Definition)。我们将现实世界的服务能力封装成一个个标准的 Tool,交给 AI 去编排和调用。这种“AI 驱动、后端支撑”的模式,让点奶茶变成了一种魔法。而对于开发者来说,掌握如何构建一个稳定、可靠、高并发的 Agent 闭环系统,将是通往下一代互联网架构的必经
后端开发的逻辑正在发生根本性的重构。如果说早期的 AI 只是业务逻辑中的一个“插件”(如推荐算法),那么这次活动则展示了 AI 作为“业务指挥官”的潜力。作为后端开发者,我们不再只是在写增删改查(CRUD),而是在构建一个能够被 AI 驱动的生态。今天,作为本系列的终篇,我想聊聊这场活动带给我们的、关于“AI-Native(AI 原生)”架构的几点深刻思考。在传统的开发模式中,后端程序员是“流程的







