过滤由自动化自己产生的反馈事件
Exclude Self-Generated Feedback Events
识别自动输出,避免它再次触发生成它的流程,形成循环。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
学习观察器读取自己的工具事件,读写又进入学习队列,会不断生成新观察任务。教学链允许普通交互事件被记录,但观察子运行携带明确 automated 标记,需要在创建项目元数据或新分析之前过滤。
具体做法
在自己启动的自动运行传播可检查的来源标记,捕获入口先验证它,再决定是否记录。标记自动事件则不进入递归队列,也不触发懒初始化;普通允许的交互事件继续。测试每个生产入口,避免只靠名称或路径模糊匹配把合法事件一并吞掉。
反例
记录观察器自己的读写,再为每条启动另一个观察器。只按名字含 observer 就过滤所有事件,包括用户真实操作。
改进写法
按教学链给观察子运行显式自动标记;来源实例使用 ECC_SKIP_OBSERVE=1。捕获在项目元数据与新任务创建前检查它,跳过自身反馈;普通授权交互运行仍记录。测试不同入口的标记传播和过滤位置,不用宽泛名称推断身份,也不把此协作标记当权限认证。
为什么这样改
反馈边如果在工作已经排队后才过滤,递归成本仍已产生。入口前识别自动来源能切断自激路径,同时保留人类交互的有效事件。
如何验证
教学自动运行应不增加学习事件或懒启动元数据;相同工具操作来自允许交互运行时仍记录。缺标记或入口遗漏应被测试暴露,不能仅观察一次没有循环就叫全面覆盖。
检查过滤只作用于声明来源,不掩盖其他真实活动。
适用边界
标记可被误用或伪造,是合作协议而非安全隔离。实际来源身份和授权仍由宿主管理;冻结的环境变量和入口名单不是所有运行时的通用机制。本篇不启用学习 Hook。