问题从何而来
上周一早上,检查在主设备上运行的机器人日志时,我发现了一个奇怪的模式。某些工作经常比预定时间结束得更晚。
起初我以为「可能是网络延迟」就跳过了,但连续两天出现同样的现象后,我仔细查看了日志。
「咦?这个数据工作跑了2次?」
原因是过度的安全机制
用Claude Code建立的自动化程序设置为自动执行同一工作2次以应对可能的失误。这是为了防止数据遗漏的善意规则,但随着程序变得复杂,某个时刻验证循环开始重复运作。
结果每天约300个数据被处理了4次(2次+重复2次)。
30行的修改改变了一切
解决方案很简单。
# 修改前:验证逻辑在2个区段独立运作
if validation_1(data):
process_data(data)
if validation_2(data): # 再次检查同样的数据
process_data(data)
# 修改后:只执行一次验证
if validation_1(data) and validation_2(data):
process_data(data)
改为用单一验证检查2个条件,并只处理一次数据。
我们学到的东西
从这次经验中得到3点教训。
首先,过度的安全机制会成为负担。 最初为了防止失误而建立多层验证,但随着时间推移,其意图变得不明确。定期清理逻辑至关重要。
其次,养成阅读日志的习惯很重要。 明显的性能下降通常是小漏洞的累积。即使一周检查一次自动化日志,也能及早发现问题。
第三,非开发者也完全可以诊断问题。 我也不能精确了解代码语法,但向Claude Code提出「为什么这项工作很慢」的问题,一起分析就能找到解决方案。
下一步
现在我们的梦幻团队(仓鼠+小狗)添加了周度自动化审计(Automation Audit)程序。每周五花大约15分钟查看各机器人的日志。
这是一次小发现带来大效率的经验。