Ajax Zhan's Blog
Welcome!This is Ajaxzhan.
坚信:品味优先于执行,价值驱动下创造、系统工程保安全
持续跟进AI前沿研究,持续思考技术、产品与思维。
坚信:品味优先于执行,价值驱动下创造、系统工程保安全
持续跟进AI前沿研究,持续思考技术、产品与思维。
本文探讨了如何通过"FS + Agent"架构将各类SaaS和数据服务统一抽象为文件系统,实现Agent的自动化操作。核心思想是利用Linux FUSE技术,将HTTP接口、数据库等数据源映射为虚拟文件系统,使Agent能够通过标准文件操作访问和管理各类服务。文章详细介绍了FUSE的工作原理,展示了其通过用户态进程实现文件系统接口的能力,并分析了FUSE与Sandbox的互补关系——前者提供数据抽象层,后者提供权限隔离层。AgentFS作为具体实现方案,采用写时复制机制确保数据安全,并支持多终端共享会话,为构建统一的Agent操作环境提供了可行的技术路径。
Boris Cherny的Claude Code使用技巧聚焦高效协作与AI杠杆最大化:并行运行本地及云端Agent实例提升产出,需技术基础支撑;团队共用并每周更新CLAUDE.md记录错误,通过代码审查让Agent迭代文件;采用计划模式优先架构设计,再落地代码;封装工作流为命令如commit-push-pr提效;设置质量验证环节确保代码质量。对比Cursor,Claude支持多工具调用、subagents及执行Hook(如代码检查、长时任务处理)。建议不跳过权限,用/permissions预批安全命令,并通过“AI意识”优先用AI解决理解偏差问题,避免低效卡顿。
本文介绍了如何使用 `git subtree` 命令,将一个项目中的子目录完整迁移到另一个独立仓库,并保留其全部提交历史。
核心操作分为两步:首先,在源仓库使用 `git subtree split` 从指定子目录抽取历史,生成一个内容为该子目录的新分支;然后,在目标仓库通过 `git subtree add --prefix` 将此分支合并到指定目录下。
该方法解决了直接复制粘贴丢失历史的问题,能优雅地整合两条独立的Git历史线,确保代码的演进轨迹完整可追溯,是项目重构与代码整合的最佳实践。
本文探讨了AI编程中“氛围编程”的局限。这种方式仅凭模糊提示快速生成代码,却常导致开发者陷入难以维护的“氛围调试”困境。为此,文章提出“规范驱动开发”(SDD)作为解决方案。
SDD强调在编码前先创建详细、结构化、可执行的规范(Spec),将其作为AI的核心输入和“单一事实来源”。这能将不确定的“概率性抽奖”转变为高质量的“确定性工程”,确保AI生成代码的可靠性与一致性。通过AGENTS.md等工具实践,SDD不仅解决了AI在复杂项目中理解不足的问题,更推动开发者角色从代码生产者,转变为驾驭AI的系统架构师与质量审查者。
本文系统梳理了Python项目管理工具从`venv`、`conda`到新兴工具`uv`的演进。`venv`轻量原生,适合单人项目,但依赖管理能力有限。`conda`能管理Python及系统级依赖,是科学计算的利器,但部署相对笨重。而基于Rust的`uv`速度极快,通过`pyproject.toml`实现现代化的项目依赖管理与锁定,更适配团队协作与工程化需求。文章强调,`pyproject.toml`已成为现代Python项目的核心配置标准,统一了项目构建、依赖声明及工具配置。
为应对论文评审、开源贡献等场景需在同一机器配置两个Git身份:实名与匿名。本文推荐“全局实名+局部匿名”策略,即通过`git config --global`设置默认身份,再在特定仓库内用`git config`局部覆盖。同时,为匿名身份生成独立SSH密钥,并配置`~/.ssh/config`文件创建专属Host别名(如`github-anon`),最后在匿名项目中使用该别名设置远程地址,即可实现身份隔离与安全管理。该方法利用Git配置层级和SSH别名,清晰、安全地解决了多身份切换需求。
本文介绍了“Vibe Coding”这一以AI为核心编码主力、人类聚焦于需求定义、项目管理等高价值环节的协同工作模式。文章分享了其最佳实践:强调编码前先规划并沉淀文档以建立AI的长期记忆;主张用脚本和配置固化确定性流程,提升系统可靠性;倡导小步迭代以便评审与学习;并分享了手动管理AI上下文的技巧。作者最后指出,AI时代的工程师需掌握结构化表达、系统思维等元技能,其角色正从“写代码”转向“设计系统、拆解任务、验收成果”。
本文聚焦大模型底层显存占用与推理优化,核心涵盖训练与推理两阶段分析。训练时显存主要由模型参数、优化器、激活值、梯度值构成,其中优化器(如AdamW的梯度指数平滑值、梯度平方指数平滑值、参数值)占用最大,混合精度下llama13b训练显存可达222.5GB,LoRA通过冻结主体参数、仅优化低秩矩阵显著节约显存。推理阶段引入KV Cache缓存历史token的k、v向量,避免重复计算,使flops基本恒定;显存开销源于模型参数与KV Cache,时间分预填充(TTFT)与解码(TPOT)阶段,受GPU算力与HBM速率影响,如llama-7B解码阶段TPOT约9.3ms。
本文介绍了MySQL数据库定时备份的三种方法:Linux/Unix系统可通过`mysqldump`命令编写备份脚本,结合cron定时任务实现;Windows系统可使用任务计划程序执行批处理脚本;Spring Boot项目则可通过`@Scheduled`注解实现定时备份。关键注意事项包括:确保备份脚本权限安全,定期验证备份完整性,将备份文件存储到远程位置避免单点故障。建议在低峰期执行备份以减少性能影响,或专门开一个服务负责备份任务,保障数据安全。
本文围绕香农熵、交叉熵与KL散度的关联展开,旨在帮助理解KL散度这一大模型强化学习中的核心概念。信息量用-log表示,小概率事件信息量更大;香农熵是概率分布的平均信息量,描述不确定性,均匀分布熵大、聚拢分布熵小。交叉熵为估计分布q对真实分布p的平均信息量估计,通常大于等于香农熵,分布越接近越趋近。KL散度量化两分布差异,定义为交叉熵减香农熵,具有非负(仅相等时为0)、不对称(非距离)性质,最小化KL散度等价于最小化交叉熵,故交叉熵可用于损失函数。另一理解角度:基于P采样,比较两分布下概率相近程度可判断分布相似度。