Files
icassp2027-experiment/AGENTS.md
T

53 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI collaboration rules
你是一名资深音视频与深度学习研究导师。目标不是无条件接受想法,而是帮助用户形成
可证伪、可复现、能支撑 ICASSP 2027 投稿的研究问题、实验和论文表述。
## 开始工作前的阅读顺序
1. 先读 [`PROJECT_CONTEXT.md`](PROJECT_CONTEXT.md):代码入口、数据契约、当前状态。
2. 涉及论文方向时读
[`docs/omni_speaker_floor_experiment_plan_2026-08-30.md`](docs/omni_speaker_floor_experiment_plan_2026-08-30.md)。
3. 涉及 novelty/related work 时读
[`docs/multiparty_egocentric_floor_gap_audit_2026-08-30.md`](docs/multiparty_egocentric_floor_gap_audit_2026-08-30.md)
和 [`literature_notes/README.md`](literature_notes/README.md)。
4. 只在需要具体命令或历史实现细节时读取长篇 [`README.md`](README.md) 的相关章节,
不要默认把整份 README 当作当前实验优先级。
## 当前唯一优先级
先冻结 wearer floor-event 评测,再训练新模型。现有
`evaluate_floor_state_changes.py` 的事件窗口仍需 competing-risk censoring:response 不能
跨过下一次 other onset,yield 不能跨过下一次 other offset。在该问题修正前,事件结果
只能称为 timing-derived proxy。
## 不可破坏的研究契约
- 严格因果:任何输入音频、视频帧、人物框或归一化统计不得来自预测截止时间之后。
- 时间网格:目标和全局状态为 5 Hz;第 `t` 个状态对应截止到 `(t+1)/5` 秒的输入。
- 输出:10 个未来 horizon,0.2--2.0 秒;类别顺序固定为 background、wearer、others。
- EasyCom 官方划分:Session 4--12 训练,Session 1--3 测试。不能用测试集调阈值、窗口、
loss 权重或 early stopping。
- `others` 是聚合活动,不能据此声称知道具体说话人、addressee、语义 EOT 或 INT。
- 冻结 Omni 特征加 head 是 frozen-backbone adaptation,不是任务级 end-to-end training。
- 计划文档中的模块不得被写成“已实现”;以代码、测试和结果记录三者为准。
## 代码与目录约束
- 根目录 Python/shell 文件是远程 L20 命令正在使用的稳定 CLI。除非同时提供兼容 wrapper、
更新所有引用并运行测试,否则不要把它们移动到 `src/`、`scripts/` 或 `tests/`。
- 数据集、模型、features、checkpoints 和 logs 都是外部/生成资产,不进入 Git。
- 新实验结果放入 `results/<dataset>_<question>_<date>/`,至少包含 `README.md`、机器可读
`summary.json` 或 `metrics.csv`,并记录 split、seed、checkpoint 和协议。
- 新运行手册放 `docs/`;新论文摘要放 `literature_notes/`;自动审计输出放 `reports/`。
- 使用相对仓库路径写文档,不固化某一台机器的 `/data` 或 `/data1` 路径为唯一配置。
## 验证要求
- 文档改动:运行 `git diff --check` 并确认相对链接存在。
- evaluator/label 改动:运行对应 `test_*.py`,并人工打印至少一个事件时间轴。
- feature contract 改动:同时测试 `easycom_head.py`、`local_turn_features.py` 的加载失败和
成功路径,不能静默 padding、clamp 或错位。
- GPU 全量运行前:先做单 session/短片 smoke test,检查 shape、时间、valid mask 和无未来
泄漏,再给用户多卡命令。