循环工程 Loop Engineering 指南:一个 Skill 解决终止条件设计难题
拆解 136 个开源循环,发现 85% 只适用于代码类任务、失败原因都是终止条件缺失。本文讲清循环工程的本质,并提供一个四步循环设计 Skill,复制即用。
Claude Code 的配置不是几个文件,而是你的 AI 编程工作台。本文拆解翔宇用 Syncthing 做四机 Mesh 同步的方案、排除规则和新设备接入流程。
周三晚上,翔宇在 Mac mini 上调通了一个新 Skill。第二天出门带 MacBook,打开 Claude Code——Skill 不在。CLAUDE.md 还是上周的版本。知识库少了一半。
Synology Drive 用了半年,翔宇受够了。Claude Code 一次编辑动辄处理上百个文件,Synology Drive 稍有网络迟疑,整个文件体系就断了——不是丢一个文件,是一整片目录状态对不上。新设备打开,动不动因为网络问题不同步,翔宇在这上面纠结了不少时间。更要命的是 ~/.claude 是隐藏目录,Synology Drive 压根不支持同步隐藏文件夹,翔宇只能自己写脚本绕过去。
一气之下,全换 syncthing。为什么是它?因为 syncthing 的安装、配置、排错,Claude Code 可以全权负责。这个时代,能交给 Agent 的事,就别自己干。
这篇把翔宇四台 Mac 的同步架构一次性讲透——从选型、架构到踩坑,一篇到底。
读完这篇,你将获得:
目录
你用 Claude Code 越深,~/.claude 目录就越值钱。
翔宇的 ~/.claude 里有什么?知识库 11 个平台工具脚本、50+ 个 Skills、自定义命令、Hooks 脚本、Agent 配置、全局 CLAUDE.md 记忆……这些东西加起来,是翔宇大半年的沉淀。
💡 说人话
~/.claude就是你的 AI 编程工作台。桌面上的工具、笔记、配方,你不会每次换个房间工作就重新摆一遍。同步工具干的就是这件事——你在任何房间坐下,桌面都是最新的。
纳瓦尔说过一个概念叫「特定知识」——那些不能被培训、只能通过亲身实践积累的独特能力。你的 ~/.claude 配置就是你的特定知识。 它不是几个文件,它是你和 AI 协作半年的所有认知沉淀。丢了,重来一遍?不可能。
你有没有算过,你的 ~/.claude 目录凝聚了多少小时的打磨?
问题来了:翔宇有四台 Mac。
四台机器,一份配置。怎么办?
syncthing 是一个开源的、去中心化的文件同步工具。GitHub 上 70000+ Star,Go 语言编写,完全免费。
一句话定位:设备之间直接同步文件,不经过任何云服务器。
和 Dropbox、icloud Drive、Google Drive 这些云同步的本质区别——你的数据只在你的设备之间流转,不会上传到任何第三方服务器。
开源免费——完全开源,社区驱动,没有「免费版限 5GB,Pro 版每月 9.99 美金」的套路。
点对点架构——每台设备既是客户端也是服务端,没有中心节点。
端到端加密——所有传输走加密通道,设备之间通过唯一 ID 互相认证。
实时同步——文件变更后 5 秒内自动触发同步,比定时轮询高效得多。
版本控制——内建简单版本控制,翔宇的配置是保留 5 个历史版本。
🎯 打个比方
Dropbox 像快递公司——你把文件寄到仓库,另一台设备再从仓库取。syncthing 像邻居之间直接递东西——不经过任何中间人,速度更快,也更私密。

翔宇也不是一开始就用 syncthing。最早用的是 Synology Drive——家里有 NAS,装个客户端就能双向同步,看起来挺完美。
用了半年,翔宇换了。
说实话,那半年翔宇没少被 Synology Drive 折腾。
Synology Drive 本质是中心化架构——NAS 是中心节点。两台 Mac 之间的文件同步,要先上传到 NAS,再从 NAS 下载。
NAS 是瓶颈。 翔宇的 NAS 是机械硬盘,知识库里有大量小文件——几千个脚本、文档、配置。机械硬盘的随机读写对小文件极不友好,每次全量同步像在等老爷爷上楼梯。
NAS 离线即全停。 NAS 重启、硬盘休眠、网络抖动——同步直接中断。两台 Mac 都在线,但就是不能同步,因为中间人不在。
隐藏目录不支持。 ~/.claude 是以点开头的隐藏目录,Synology Drive 不支持同步隐藏文件夹。翔宇只能自己写脚本把隐藏目录「搬」到普通目录再同步,维护成本越来越高。
工作目录污染。 Synology Drive 会在同步目录里创建隐藏的工作目录,包含大量临时文件。这些文件混在 ~/.claude 里,Claude Code 可能会错误地索引它们。
那一刻翔宇才意识到:同步工具的选择不是功能问题,是架构问题。中心化方案天然有单点故障,去中心化才是正道。
🏗️ 设计洞见
翔宇选 syncthing 不是因为它功能最多,而是因为它最简单、最可靠、最干净。同步工具的核心价值就一条——你改了文件,别的设备能看到。其他花哨功能都是噪音。
翔宇的四台 Mac 采用全互连 Mesh topology——每台设备都和其他三台直连,总共 6 条连接。
容错极高——任意一台离线,剩下三台仍有 3 条连接互相同步。就算两台同时离线,剩下的两台之间还有直连。
速度极快——变更从最近的节点获取。翔宇在 MacBook 上改了文件,Mac mini 不需要等服务器中转,直接从 MacBook 拉取。
代价很小——每台维护 3 条连接,局域网内完全无感。翔宇实测 CPU 占用小于 1%,内存约 30MB。
⚡ 三秒版
四台电脑全互连,任何一台改了文件,5 秒内其他三台自动更新。任何一台关机不影响其余的同步。
塔勒布有个概念叫「反脆弱」——系统在压力和冲击下不仅不崩溃,反而变得更强。Mesh 拓扑就是反脆弱的。 星型拓扑的中心挂了全完;Mesh 拓扑每断一条线,其余线路照常工作。节点越多,冗余越强。

macOS 上用 Homebrew 一行命令装完,自动后台运行、开机自启,不用操心。
装完打开浏览器管理界面,第一件事:设密码。 默认没有密码,局域网内谁都能访问你的管理页面。
翔宇的四台设备都在同一个局域网内,所以关闭了所有外网功能——全球设备发现、中继服务器、NAT 穿透全部关掉,只保留局域网自动发现。这不只是省流量——关闭后 syncthing 不会尝试连接外网服务器,启动更快,日志更干净。
文件监控方面,翔宇开启了实时监控,设置 5 秒缓冲加 60 秒兜底全量扫描。
翔宇的经验是——参数调对了你就再也不用碰它了。 这几个值翔宇从配好到现在一次都没改过。好的配置就像好的规则,设定一次,受益永远。
📝 记住这个
具体的安装命令和参数配置,flowus 课程里有完整的一键部署步骤,复制提示词给 Claude Code 就能全自动完成。
到这里,暂停一下。前 5 章完成了什么?选型讲完了,架构搭好了,安装配好了。但真正决定这套系统是「配完就忘」还是「天天救火」的,是接下来这一章。
syncthing 有一个排除规则文件,决定哪些文件同步、哪些不同步。写错这个文件,后果很严重。
翔宇的血泪教训:第一次配 syncthing 的时候没写排除规则,~/.claude 里 36 万个运行时文件——对话日志、调试数据、终端快照——全部开始同步。四台设备同时扫描 36 万个文件,CPU 全部飙到 100%,风扇呼呼响,扫了快 50 分钟,管理界面完全卡死。
那段时间翔宇真的有点崩溃。
策略很简单:默认同步所有文件,只排除不需要的。
排除规则有几个容易踩的坑。比如路径前缀写法不同,会影响排除的范围——可能只排除根目录的某个文件夹,也可能误杀所有层级的同名文件夹。翔宇第一版就写错了,Skills 里有用的数据被意外排除,全丢了。
还有一个常见问题:两台机器的排除规则不一致。A 忽略的文件 B 不忽略,就会出现「一边删了另一边又传回来」的死循环。所有机器必须使用完全相同的排除规则。
同步的内容:知识库、Skills 源码、全局 CLAUDE.md、设置文件、Hooks、Agent 配置、自定义命令。
不同步的内容:运行时会话数据、对话历史、缓存文件、项目级记忆、虚拟环境、编译产物。
同步少比同步多更难——排除的艺术,才是这套系统的核心技能。
你的排除规则写了多少行?翔宇的是 30 行,管住了 36 万个不该同步的文件。

日常使用双向同步——任何一台设备的变更都会传播到其他设备。
但有个场景需要切换:大规模重构后。 比方说翔宇在服务器上把知识库目录结构大改了一遍——几十个文件移动、重命名、删除。如果此时四台设备都是双向同步,服务器删了文件,Mac mini 的旧版本又传回来。
解决方案:临时切换为单向推送。服务器设为仅发送,其他设备设为仅接收。推完再恢复双向。
★ 翔宇的建议
日常改几个文件,双向同步完全没问题。但大规模重构(移动目录、重命名大量文件),先切成单向推送。syncthing 不支持原子移动——移动操作等于新建加删除。双向同步时,旧目录可能被其他设备「救回来」。
🎯 打个比方
新设备接入就像新员工入职——先从一个人那里完整交接所有资料(单向推送),交接完了再加入日常协作(双向同步)。不要让三个人同时给他讲不同版本的工作内容。
坑 1:没写排除规则直接同步。 36 万个运行时文件扩散到四台设备。四台机器同时扫描,CPU 全满,管理界面完全卡死。解决:先停掉所有设备的 syncthing,在主力机上写好排除规则,再逐台重启。
坑 2:Synology Drive 和 syncthing 同时跑。 翔宇从 Synology Drive 迁移时忘了关旧客户端。两个同步工具对同一个目录互相打架——一个写入文件,另一个检测到变更立刻同步,第一个又检测到变更再同步回来……无限循环。
坑 3:移动目录后旧目录残留。 翔宇把知识库里一个子目录换了位置,其他设备上旧目录里的虚拟环境被排除规则忽略,syncthing 无法删除整个目录。解决:调整排除规则的删除策略。
坑 4:冲突文件残留。 新设备接入后产生大量冲突备份文件。解决:一行命令批量清理。
每一个坑都是真金白银的时间换来的。翔宇把它们写下来,就是为了让你少走弯路。
你踩过类似的坑吗?
这套同步方案用到现在,翔宇最大的感受是三个字:没感觉。
对,没感觉。配完之后,翔宇几个月没打开过 syncthing 的管理界面。在 Mac mini 上新写了一个 Skill,MacBook 上 5 秒后自动出现。备用 MacBook 跑着测试任务,用的是和主力机一模一样的知识库和 Skills。四台机器,一份配置,实时同步。
同步工具理想的状态就是你完全感知不到它的存在。 就像翔宇常说的——用系统打败重复劳动。 花 2 小时配一次 syncthing,省的是未来几百次手动复制文件的时间。这就是一次性投入和永久复利的区别。
三个核心洞见:
如果你也是那种有两台以上电脑、每台都在跑 Claude Code 的人——这套方案就是为你准备的。
觉得有用,点个「在看」让更多人看到。你的 Claude Code 配置是怎么跨设备管理的?留言区聊聊。
这套同步方案只是「AI 编程实操课」的一个实用工具。flowus 课程中有完整的安装命令、参数配置、排除规则模板和一键复刻提示词。在课程中,你还会学到 Claude Code 完整安装配置指南、CLAUDE.md 进阶指南、Hooks 配置指南、MCP 快速部署指南、知识库管理。如果你想系统学习 AI Agent 自动化工作流,欢迎加入翔宇工作流:AI 编程实操课。
每周精选 AI 编程与自动化实战内容,直达你的邮箱