Ruby で \( じゃない場合に ( を \ でエスケープする

某ももんがさんに教えてもらったので覚書。
結果的に以下のような正規表現になるらしい。

puts "() aa (((() \() \\()".gsub(/(?<!\\)\(/, '\(')
# => \() aa \(\(\(\() \() \()


正規表現の否定戻り読みとかあまりよくわかっていないので使っていきたい。