
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Agent 的上下文管理不是"把所有信息塞给 LLM"那么简单。有限的预算迫使你做出取舍:什么信息对当前决策最重要?什么信息可以安全地省略或截断?轻量记忆和预算装配是 Interview Agent 项目对这个问题的回答——只存信号,不存载荷;按优先级裁剪,不随机丢弃;共享装配结果,不各自为政。如果你也在做 Agent 工程,建议从一开始就设计好上下文管理策略。等到 memory 膨胀到塞不进 p
这个项目做到现在,我觉得最大的收获不是某个具体技术,而是对"Agent 工程化"有了真实感受。大模型调 API 很容易,但“让 Agent 行为可解释、可约束、可调试、可演进”,才是真正难的地方。Turn、Trace、Memory、Guardrail、Approval——每一个模块单独看都不复杂,但它们组合在一起,才让 Agent 从一个"聊天页"变成了一个有执行状态、有安全边界、可以持续迭代的系
Agent 工程不只是"接上 LLM + 工具调用"。当 Agent 面向真实用户、处理真实数据时,安全性和可靠性是和功能同等重要的工程问题。三层 Guardrail 和审批恢复机制是 Interview Agent 项目对这个问题的回答——它不完美(正则检测有局限、BLOCK_REPLAY 策略偏保守),但它是根据实际踩坑经验迭代出来的,比从零设计一个"完美"方案更务实。如果你也在做 Agent
│ │ │:Agent 系统的瓶颈是 I/O 等待——等 LLM 响应、等向量搜索、等文件解析。Virtual Threads 让每个请求可以阻塞等待而不占用平台线程,对于 SSE 长连接和并发 LLM 调用的场景非常合适。:不是直接调 OpenAI SDK,而是用 Spring AI 做抽象层。好处是 LLM Provider 可以动态切换——项目刚实现了多 Provider 动态注册,可以在
那篇文章里的公司之所以敢这样做,是因为他们把“项目”当成了“一次性消费品”。停止低水平的重复劳动: 如果你的工作内容是可以被 Agent 轻易模拟的“CRUD”或“模式化编码”,那么你现在就处在淘汰的边缘。转向“系统架构防御”: 未来的开发,不再是构建系统,而是管理系统。你需要学习如何设计能够对抗 AI 幻觉的架构,学习如何构建可观测性(Observability)体系,确保 AI 在瞎搞的时候,
Channel 经常翻译为通道,类似 IO 中的流,用于读取和写入。它与前面介绍的 Buffer 打交道,读操作的时候将 Channel 中的数据填充到 Buffer 中,而写操作时将 Buffer 中的数据写入到 Channel 中。至少读者应该记住一点,这两个方法都是 channel 实例的方法。
是 Java 中的一种队列数据结构,被称为。它和普通队列不同,普通队列都是遵循先进先出(FIFO)的原则,即先添加的元素先出队,后添加的元素后出队。而则是按照元素的优先级来决定出队的顺序,默认情况下,优先级越小的元素先出队。而优先队列的逻辑存储结构和普通队列有所不同,以为例,其底层实际上是使用形式的二叉堆,即值最小的元素优先出队。
启动:Netty 很懒,你把任务扔进去它才启动线程。分配:一个线程(EventLoop)像是包工头,手下管着几千个工人(Channel)。每个工人只听这一个包工头的话。异步:包工头接活时,先给你开个收据(Future),然后让你一边玩去。活干完了,他再按收据上的电话通知你。队列:如果你想指挥工人干活,但你不是包工头,你不能直接吼工人。你得写个纸条(Task)塞进包工头的信箱(Queue)。包工头忙
阅读开源项目是程序员进阶最快的方式,没有之一。不要被那些 Star 数过万的项目吓倒。它们也是由一行行普通的if-else和for循环组成的。保持好奇心,善用调试器,先跑通,再拆解,最后重构。源码之前,了无秘密。加油!
普通分页(前几页):直接LIMIT。管理后台深分页(跳页):用延迟关联。App 瀑布流(无限滚动):用游标法 (WHERE id >?







