我用 SubAgent 做了一个 AI 自动修复闭环:流式修代码、自动构建、失败重试最近用 AI 零代码项目生成前端页面有时候会出现问题,但是直接把原始报错信息返回给前端,再让用户手动点击按钮才能开始修复,用户体验不是很好,那么如何优化呢?我想到了 SubAgent 来进行修复! 如果把这类修复工作一直交给主 Agent 来做,会带来两个明显问题: 修复过程会不断污染主 Agent 的上下文。 错误日志、修复尝试和中间结果会迅速挤占上下文窗口,影响主 Agent 后续继续处理Mar 30, 2026·4 min read
《Linux是怎样工作的》系统调用执行创建线程和操作硬件的时候依赖于系统调用,想要操作需要提前调用内核发送请求。 系统调用可以分为以下几类 进程控制(创建和删除) 内存管理(分配和释放) 进程间通信 网络管理 文件访问(访问设备) CPU 模式切换 系统会发送特殊的 CPU 命令发起。在进程中的用户模式下,当通过系统调用向内核发送请求,CPU 会发生一个中断事件,这个时候切换为内核状态,根据请求的内容进行处理,当内核请求完之后就会重新回到用户模式。并且这个 CPU 信号不是所有的系统都一样的 注意:用户模式不可能直...Dec 12, 2025·2 min read
系统调用的包装函数《Linux是怎样工作的》 Linux 提供了绝大部分进程都会用到的库,为了编写程序方便。 如果操作系统开发者不给你提供这些封装好的 C 语言库函数(图 2 的包装函数),那你每次想读写文件,都得自己在 C 代码里嵌入一段图 1 那样的汇编代码来告诉内核你要干什么 如果没有 OS 那么程序员就需要编写汇编程序进行系统调用 但是现在有 OS 可以极大的减少程序员的工作量 C 语言标准库 C 语言拥有 ISO 定义的标准库,Linux 也提供了一些 C 语言的标准库。用于 C 语言编写的几乎所...Dec 12, 2025·1 min read
Windows 好用软件音频播放 Potplayer 截图软件:Snipaste PDF 编辑器:PDFgear 管理各个软件的声音:EarTrumpet 电子书:Z-Library epub 格式查看:calibre 直播/录屏:OBS 卸载神器:geek 编辑视频神奇:LossLessCut 文件互传神器:LANDrop,ToDesk 远程桌面神器:RustDesk 垃圾清理神器:Kcleaner markdown: typra、Obsidian LockHunter 文件锁解锁器,删除无...Dec 2, 2025·1 min read
Spring 事务的原理官方文档:https://docs.spring.io/spring-framework/reference/data-access/transaction/declarative/annotations.html#:~:text=The%20%40Transactional%20annotation%20is%20metadata,suspending%20any%20existing%20transaction%22). 推荐阅读:https://www.marcobehler.com/gu...Apr 16, 2024·5 min read
Amqp 发送消息、消费消息、设置消息发送成功回调SpringBoot 版本:3.2.1Java 版本:17rabbitmq 版本: pom 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency> yml 配置 这里要注意是 Spring.username 不是 Spring.stream.username! Spring: rabbitm...Jan 29, 2024·3 min read