2026-02-16 12:31:26 +08:00
|
|
|
|
> [!NOTE]
|
2026-04-07 11:07:01 +08:00
|
|
|
|
> Status: Historical snapshot. Current refactor results and validated baseline are tracked in `CHANGELOG.md` (updated 2026-04-07).
|
2026-02-16 12:31:26 +08:00
|
|
|
|
|
2026-02-13 13:36:39 +08:00
|
|
|
|
# Video Library Manager (VLM) 深度审计报告
|
|
|
|
|
|
|
|
|
|
|
|
**报告版本**:1.0
|
|
|
|
|
|
**日期**:2026-02-13
|
|
|
|
|
|
**对象**:VLM 核心系统 + VLM Agent Skills
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 1. 项目架构审计 (Project Core Audit)
|
|
|
|
|
|
|
|
|
|
|
|
### 1.1 设计哲学评价
|
|
|
|
|
|
VLM 的核心优势在于其**防御性组织流**。将文件操作推迟到最后一个环节,并提供完整的预览和回滚机制,这在同类工具中属于顶尖的安全设计。
|
|
|
|
|
|
|
|
|
|
|
|
* **优点**:
|
|
|
|
|
|
* **分阶段解耦**:扫描、解析、富集、分析、规划、执行各阶段职责明确。
|
|
|
|
|
|
* **元数据保护**:Schema v2 引入了视频元数据嵌入,确保去重逻辑的准确性。
|
|
|
|
|
|
* **执行安全**:强制 Dry-run 和 `.quarantine` 隔离设计,避免了不可逆的数据丢失。
|
|
|
|
|
|
|
|
|
|
|
|
* **识别的不足**:
|
|
|
|
|
|
* **事务性欠缺**:文件移动与状态更新非原子化,存在崩溃后状态不一致的风险。
|
|
|
|
|
|
* **并发瓶颈**:ffprobe 扫描与 API 富集仍为串行,大规模整理效率较低。
|
|
|
|
|
|
* **状态集成度**:`vlm state` 尚未完全作为 `vlm plan` 的强制前置过滤条件。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 2. Skill 设计审计 (Agent Skills Audit)
|
|
|
|
|
|
|
|
|
|
|
|
项目目前包含两个核心 Skill:`vlm-expert`(领域专家)和 `vlm-library-workflow`(工作流指南)。
|
|
|
|
|
|
|
|
|
|
|
|
### 2.1 Skill 职责分工
|
|
|
|
|
|
* **vlm-expert**:侧重于 API 参考、配置说明和开发者指南。它是 Agent 的“知识库”。
|
|
|
|
|
|
* **vlm-library-workflow**:侧重于“最佳实践”和“命令食谱(Recipes)”。它是 Agent 的“操作手册”。
|
|
|
|
|
|
|
|
|
|
|
|
### 2.2 Skill 的实效性
|
|
|
|
|
|
* **优点**:通过 `references/` 目录提供了详尽的 CLI 命令参考,使得 Agent 在执行任务时能够精准调用参数,减少了试错成本。
|
|
|
|
|
|
* **优点**:集成了项目特有的安全规则(如:执行前必须 review plan.json),将人类的业务逻辑固化为 Agent 的强制守则。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 3. 在项目中创建 Skill 的合理性分析 (The "Skill-in-Project" Strategy)
|
|
|
|
|
|
|
|
|
|
|
|
**结论:在项目中直接创建和维护 Skill 是极其合理的,且代表了下一代“AI 友好型”开发范式。**
|
|
|
|
|
|
|
|
|
|
|
|
### 3.1 为什么这种做法是合理的?
|
|
|
|
|
|
1. **版本同步 (Version Alignment)**:
|
|
|
|
|
|
Skill 与代码库在同一个 Git 仓库中。当 CLI 命令参数发生变化时,Skill 中的参考文档同步更新,避免了 Agent 使用过时的知识来操作新版本的代码。
|
|
|
|
|
|
2. **上下文感知 (Context Awareness)**:
|
|
|
|
|
|
Skill 可以直接引用项目中的脚本(如 `scripts/`)或特定路径。Agent 激活技能后,能立即感知到项目特有的辅助工具。
|
|
|
|
|
|
3. **开箱即用 (Portability)**:
|
|
|
|
|
|
新开发者(或新 Agent 实例)克隆项目后,不仅获得了代码,还获得了一套“如何操作该项目”的智能指令集。
|
|
|
|
|
|
4. **业务逻辑固化**:
|
|
|
|
|
|
将“安全第一”、“先 scan 后 parse”等业务流程写进 Skill 的指令中,比写在 README 中更有效,因为 Agent 会强制遵循这些指令。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 4. 综合改进建议 (Integrated Recommendations)
|
|
|
|
|
|
|
|
|
|
|
|
### 4.1 项目层面 (Codebase)
|
|
|
|
|
|
* **原子化操作**:在 `executor.py` 中引入简单的事务日志。
|
|
|
|
|
|
* **状态闭环**:在 `planner.py` 中默认过滤掉 `state.json` 中标记为 `ignored` 的文件。
|
|
|
|
|
|
* **性能优化**:实现 `ProcessPoolExecutor` 来加速 `vlm scan` 中的 ffprobe 过程。
|
|
|
|
|
|
|
|
|
|
|
|
### 4.2 Skill 层面 (Intelligence)
|
|
|
|
|
|
* **引入风险预警指令**:在 Skill 中增加一条指令:*“当计划中包含超过 20% 的删除/隔离操作时,必须要求用户进行二次确认。”*
|
|
|
|
|
|
* **自动化测试集成**:在 Skill 中增加如何运行定向测试的 Recipe,引导 Agent 在修改代码后立即验证。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
## 5. 总结
|
|
|
|
|
|
|
|
|
|
|
|
VLM 项目通过 **代码 (Python)** + **知识 (Skill)** 的双重驱动,构建了一个安全且智能的视频管理系统。在项目中维护 Skill 不仅合理,更是提升 Agent 协作效率的最佳实践。建议继续保持这种“代码与指令同源”的开发模式。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
**审计人**:Gemini CLI Agent
|
|
|
|
|
|
**结论**:项目设计合理,建议推进性能优化与状态深度集成。
|