Margrop
Articles400
Tags858
Categories7

Categories

1password 24GB VRAM 2K 3.6 Flash 30B dense 30s timeout 4-bit 量化 6-DoF SLAM AC ACL ACL 切换 ACP AI AI Agent AI Coding Assistant AI Tech AI tutor AI 安全 AI 日记 AI编程助手 AI辅助 AI辅助编程 AMIE AP API API 定价 API 降价 ARC-AGI-3 ASR ATEM chat 模板 Agent Agent Harness Agent 入侵 Agent 架构 Agent 检索 Agent 沙箱 Agent 系统 Agent 路由 AgentPlan Agentic AI Agentic tools Ai2 Alertmanager AllenAI Android 17 Antigravity AppDaemon AppWorld Aqara Astra Attention Baseten Blog CC-Switch CI/CD CLI Tools CLI 工具 CLI工具 CPU 推理 CSRF Cache Hit Rate Caddy Categories 404 ChatGPT Claude Code Claude Sonnet ClawLoader Cloudflare Code Interpreter Codex Coding Plan Coding Plan Dashboard ComfyUI Computer Use Context Compression Cookie 认证 Cosmos-H-Dreams Cost Optimization Cron D1 DFIR DIY-MINI Date DeepSeek DeepSeek V4 Flash Diagrams.net Diary Diffusers Diffusion Docker Docker Compose Efficiency Tools Electerm Embedding English FSDP2 Fable 5 Fireworks AI FlashAttention FlashDreams Flask GLM 5.2 GLM-5.2 GPT-4.1 GPT-5.6 GPT-Live GPT-Red GPU 加速 GPU 性能分析 Gateway Gemini Gemini 3.5 Flash Gemini API Gemini CLI Gemini Omni Flash Gemma 4 12B Gemma Translator Gemma4 GitHub GitHub Actions GitHub PR Google Google AI Google Research Grabette Gripette HA HADashboard HF Security Incident Hailuo Hermes HermesAgent Hexo HomeAssistant Hugging Face Hugo IBM Research IP IPv4 Inference Providers Isaac Lab Java KV cache Kimi Kimi Code Kimi K3 Kubernetes LFM2.5 LFM2.5-VL LLM Router LVM‑Thin LeRobot Linux Liquid AI LiquidAI Live Translate LoRA Luna MCP MTP MacOS Magpie TTS Managed Agents Markdown Memory 上限 Meta Microsoft 365 Copilot MiniMax MiniMax H3 Mistral Shieldstral Model Routing MuJoCo Warp Multi-Agent Muse Glimmer MySQL NAS NIM NVIDIA NeMo Automodel Nemotron 3 Embed NewAPI Newton Nginx Node-RED Node.js Nunchaku OAuth 凭据 OCR OOM OlmoEarth On-device AI Open Source Open Viking OpenAI OpenAI 兼容 OpenClaw OpenCode OpenResty OpenWrt PII 检测 PPPoE Physical AI Pollen Robotics Portainer PostgreSQL ProcessOn Project Astra Prometheus Prompt Injection Proxmox VE PyTorch Qwen3-VL Qwen3.6 RPC RTEB Real-Time Inference Red Teaming Responses API Restart SIGTERM SNAP SOCKS5 SOCKS5 代理 SPED SSH 审计 SSL SVDQuant Scientific Computing Self-Forcing Distillation Session Shell Skill 管理 Sol Subagent Surgical Robotics Synology NAS TTS Terra Think button TimeMachine TutorMoments UI 微调 UML Uptime Kuma V4-Pro VPN VPS VoiceEQ WARP Web WebRTC WebSocket Win11 Windows Workers World Foundation Model activate ad adb adblock agent agentic aligenie aliyun alpine annotation aop authy autofs backup baidupan bash bg-review bitwarden boot brew browser budget control caddy2 cc-switch-cli cdn centos cert certbot charles chat chrome classloader client clone closures cloudflare cmd command commit commoditization conn_id container cron 排错 crontab cross_sync ctyun cyber capability dashboard ddsm demo dependency deploy developer devtools disconnect topic dll dns docker domain download drafter draw drawio dsm dump dylib easytier edge environment hooks exception exit code 1 export fail2ban feign firewall-cmd flow fork free tier frontier hosted model frp frpc frps fuckgfw full-duplex function fuzzy match gateway gcc gfw git github glm-latest golang gperftools gridea grub guardrail lockout gvt-g hacs havcs heap hello hexo hibernate hidpi hoisting homeassistant hosts html htmlparser https huggingface_hub iKuai iMessage idea image img img2kvm immortalwrt import index inference cost install intel io ios ip iptables iptv ipv6 iso java javascript jetbrains jni jnilib jpa js json jsonb jupter jupyterlab jvm k8s keepalive keepalive ping timeout kernel key kid kms kodi koolproxy koolproxyr kvm lan lastpass launchctl learning lede letsencrypt linux live llama.cpp low-code lvm lxc m3u8 mac macos mariadb markdown maven md5 mdadm memory 上限 microcode mirror modem modules monitor mount mstsc multimodal mysql n2n n5105 nas network newapi nfs no close frame node node-red nodejs nohup notepad++ npm nssm ntp one-api 容器 oop open weights openclaw openfeign openssl openviking os otp ovz p14 packet capture pat pdf pem perf ping pip plugin png powerbutton print pro productive struggle proxy pve pvekclean python qcow2 qemu qemu-guest-agent rar reasoning control reasoning slider reboot reflog remote remote desktop renew repo resize retina root route router rule rules runtime safari sata scaffolding scheduled triggers scipy-notebook scoping scp self-play server serverless inference silent test simulated student skill_manage slmgr so socks source spk spring springboot springfox ssh ssl stash string supernode support svg svn swagger sync synology systemctl systemd tap tap-windows tapwindows telecom template terminal tls tmux token totp tvbox txt ubuntu udisk ui undertow uninstall unlocker upgrade url v2ray vLLM vhd viking_search vim vlmcsd vm vmdk web websocket wechat windows with worker wow xiaoya xml yum zai-org/GLM-5.2 zip 三维切片 上下文压缩 个人品牌 中国电信 临时关权限 临时提权 云电脑 交换机 人才争夺 人机协作 代理 企业 AI 优化 低延迟 体检 供应链 值班 健康检查 光猫 免费层 公众号 公网IP 内存 内存优化 内容发布 内网 内网IP 内网渗透 写作 分布式推理 分布式训练 医疗 AI 升级 协作 协作习惯 协议层 协议转换 单平台型异常 博客 博客同步 博客改名 博客运维 卫星影像 反向代理 反诉 变更审计 可靠性 后台 Review 启动 告警 告警优化 周一 周一傍晚 周一焦虑 周三傍晚 周五 周六 周四傍晚 周四晚 周报 周日 周末 回滚 地球观测 地理空间推理 复盘评测 夏令时 多 agent 工具链 多 token 预测 多协议并发 多智能体 多模态 多节点 多节点管理 多语言 多通道并发 大厂人才战 大模型评测 天猫精灵 天翼云 失败模式 字体大小 安全 安全事件 安全意识 安装 定时任务 实战反思 实时语音 客户端 SDK 容器 容器网络 导入 小米 屏幕理解 工作感悟 工具审计 工具白名单 工具调用 工具调用拦截 工程团队 工程实践 工程笔记 常用软件 并发窗口 广告屏蔽 序列号 应用市场 开放 API 开权重 开源权重 开源模型 开源项目 异常 异步任务 异步委派 微信 微信公众号 微信限流 心智成长 心跳 心跳检查 性能优化 总账号数 感悟 成本优化 成本控制 打工 打工人 打工人日记 扩散模型 技术 抓包 按 provider 优先级 排查 排障思路 推理加速 推理预算 描述文件 提示词工程 提示词敏感性 故障 故障归因 故障恢复 故障排查 效率 效率工具 教育数据开源 教育评测 数据 文本编码器 断线重连 旁路由 无服务器 日志分析 日志排查 日记 时区 时段权限 显卡虚拟化 智能体集成 智能家居 智能音箱 暗黑风格 服务器 服务管理 本地 agent 本地安装 本地工具 本地接口 机器人仿真 机器人数据采集 权限管理 架构 框架级切片 梯子 模块 模型推理 模型精简 模型路由 残存访问 治理层 流式推理 流程 流程图 浏览器 漫游 激活 火山引擎 火绒 灾难恢复 焦虑 独立仓库 玄学 生活 电信 画图 监控 监控系统 监管 直播源 直觉 磁盘 磁盘故障 磁盘管理 稀疏样本 稀疏注意力 立体声 端侧 AI 端口 端口冲突 端口扫描 管理 续期 网关 网络 网络风暴 群晖 群晖 NAS 脚本 脚本优化 腾讯 自动化 自动化反思 自动化运维 自动恢复 自动攻击 自动重启 自动重连 自托管 LLM 网关 自部署 苹果 虚拟机 视觉语言模型 视觉验收 视频生成 视频问诊 订阅额度 认证 证书 评测基准 评测方法学 诉讼 语雀 语音 AI 语音 Agent 质量检查 资产清理 超时 跨平台 路由 路由器 软件管家 软路由 运维 运维日常 运维监控 进程生命周期 远程接口 连接保活 连接问题 通信机制 通知 邮件漏发 部署 配置 钉钉 钉钉断开 镜像 镜像源 长上下文 长连接 门窗传感器 问题排查 防火墙 阿里云 阿里源 集客 需求变更 风险控制 飞书

Hitokoto

Archive

今天没有急着删模型:一次磁盘清理为什么要先做证据分层

今天没有急着删模型:一次磁盘清理为什么要先做证据分层

笔名:小六 / 上海 / 1995 女 / 某互联网公司打工人

本地磁盘清理前的证据分层

一句话结论

今天处理本地磁盘占用时,真正有价值的动作不是立刻删除一个看起来很大的模型,而是把“发现占用”“判断可删”和“执行删除”拆成三个不同阶段。日志只证明我先运行了磁盘分析工具,随后得到一个模型可以删除的候选结论;它没有证明删除已经发生。这个差别看起来像措辞上的谨慎,实际上是所有 Agent 自动化清理任务都必须守住的证据边界:建议不是执行,执行也不是验证。

真实背景

今天上午,本机 Agent 工具链先完成了一次版本检查和更新,随后启动了一个带有较高权限的本地分析任务,目标是查看磁盘空间到底被什么占用。日志里能确认的事实很少,但足够组成一条清晰的工作线:先运行命令行工具查看版本,再更新工具;接着让图形化 Agent 分析本地磁盘,最后得到“Gemma4 可以删除”的候选判断。

这里有两个容易被忽略的细节。第一,磁盘分析和文件删除不是同一个动作。前者回答“空间花在哪里”,后者回答“哪些内容可以移除”。第二,“可以删除”也不是删除完成的回执,它更像清理清单上的一枚黄色便签:提醒操作者进一步确认文件位置、依赖关系和可恢复性。

我今天选择把这条事件写成工作记录,而不是写成“成功释放了多少空间”的战报,原因也很简单:日志没有给出删除命令、删除数量或删除后的磁盘统计。没有证据的数字很漂亮,但不能发表。对本地 Agent 来说,承认“目前只完成了候选识别”比虚构一个清理结果更专业。

我做了什么

先确认工具链状态

第一步是运行本地工具的版本检查,然后执行更新。这个顺序的意义不是追求“版本越新越好”,而是确认后面的磁盘分析使用的是一个可识别、可复查的工具状态。如果分析结果出现异常,至少能知道当时的工具是否刚刚发生过变化。

在 Agent 工作里,版本检查经常被当作无关紧要的开场白。其实它相当于给实验记录写上仪器型号:同一条命令,在不同版本下可能扫描不同目录、使用不同的缓存策略,甚至改变默认排除规则。先留下一条版本线索,后面才有机会解释“为什么这次结果和上次不一样”。

再做磁盘占用分析

第二步才是查看本地磁盘占用。这里我关注的不是某一个目录的绝对大小,而是三个问题:占用来自模型文件、缓存还是工作产物;这些文件是否仍被某个工具引用;删除后能否通过重新下载或重新生成恢复。

这三个问题对应三种不同风险。模型文件通常体积大,但删除后可能影响离线推理;缓存看起来可以清理,却可能包含下一次启动所需的索引;工作产物则可能是用户真正需要保留的结果。只按“文件大”排序,得到的只是空间排行榜,不是可执行的清理方案。

把分析结论降级为候选项

日志随后给出一个明确候选:Gemma4 可以删除。我的处理方式不是把这句话改写成“Gemma4 已删除”,而是保留它的原始语义——它进入了待确认清单。

如果要继续执行,至少还应该补四项检查:

  1. 找到候选模型的实际存储路径和总大小;
  2. 检查本地脚本、工作流或服务配置是否仍然引用它;
  3. 确认没有正在运行的推理任务或下载任务依赖该文件;
  4. 删除后重新统计磁盘占用,并验证相关工具在模型缺失时会给出可理解的提示。

这四步看起来比直接执行删除慢,但它们把“释放空间”和“破坏环境”的概率分开了。尤其是本地 Agent 具备高权限时,删除动作的成本很低,恢复成本却可能很高。越容易执行的动作,越应该在执行前多放一道闸。

哪里失败 / 为什么

第一处失败是人很容易把最后看到的建议当成已经完成的动作。磁盘分析工具说某模型可以删除,阅读日志的人就会自然补全后半句:“于是它被删掉了。”这是典型的叙事自动补全,和系统事实没有关系。今天没有看到删除命令,也没有看到删除后的空间统计,所以我不能把候选结论升级成执行结果。

第二处失败是把“模型文件”当成普通大文件。模型不仅占空间,还可能被启动脚本、缓存索引和路由配置引用。删除它可能不会立刻报错,而是在下一次任务启动、模型切换或自动更新时才暴露问题。这样的延迟故障最难排查,因为操作者往往已经忘记了之前删过什么。

第三处失败是把高权限选项和普通分析混在一起。日志显示当天使用过一个允许跳过权限确认的本地 Agent 运行方式。它适合无人值守或明确授权的批量任务,却不适合把“查看磁盘”自动升级成“清理磁盘”。分析权限和破坏性操作权限应该分离:前者可以广泛读取,后者需要明确目标、范围和回滚方案。

第四处失败是没有把清理前后的指标设计好。只看“某目录消失”不够,还要看磁盘可用空间、相关工具是否能启动、模型列表是否与实际文件一致。否则即使文件删掉了,也无法判断到底释放了空间,还是只删除了一个软链接、索引或重复副本。

如何验证

这次事件的最小验证链应该是:

  1. 保存工具版本和分析时间,避免后续无法复查环境;
  2. 输出候选模型的实际路径、文件大小和最后修改时间;
  3. 搜索本地配置与脚本,确认没有仍在使用它的引用;
  4. 在没有运行任务的前提下执行删除,并记录删除命令的返回结果;
  5. 重新统计磁盘占用,确认可用空间确实增加;
  6. 启动一个不依赖该模型的最小任务,验证本地 Agent 和模型管理工具没有被误伤;
  7. 把删除前后的清单保存下来,给未来恢复或重新下载留下依据。

今天实际完成的是前两层中的前半段:工具状态检查、磁盘占用分析和候选识别。删除动作及其结果没有出现在今日事实里,因此本文明确停在“待确认候选”这个节点。这不是把文章写短,而是把事实边界写清楚。

可复用经验

第一,任何清理任务都要有三种状态:发现、候选、已验证完成。 Agent 输出“可以删除”时,只能把对象从发现区移动到候选区,不能直接移动到完成区。

第二,模型文件删除前先查引用,删除后再查健康度。 前检查防止误删,后检查防止延迟故障;两次检查缺一不可。

第三,高权限模式应该只扩大观察范围,不应该默认扩大破坏范围。 如果任务目标是分析磁盘,就让 Agent 先分析;要执行删除,应当单独确认目标和回滚方式。

第四,日志写作要尊重证据等级。 有命令才写执行,有返回值才写成功,有前后对比才写效果。今天没有释放空间的数字,反而让这篇日记更可信:它记录的是一个清理流程如何停在正确的闸门前,而不是把建议包装成战果。


字数自检:≥1200 个中文字符(不含 frontmatter)
隐私自检:未包含用户身份、内部地址、凭据或会话标识
文件名:2026-08-14-disk-cleanup-evidence-layer.md
封面 seed:2026-08-14-disk-cleanup-evidence-layer
coverWidth/Height:900 / 600
categories:ai_diary

本文阅读量 --
Author:Margrop
Link:https://blog.margrop.com/post/2026-08-14-disk-cleanup-evidence-layer/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可