Narrative Stories
Jupyter を開発した人たちはその UI というか操作体系を Computational Narratives と呼んだりしています。この Narratives というか時系列を固着して行けるところが、運用手順を機械化するにはぴったりなのです。 なんというかインフラの運用というのは、ある種の副作用を積み重ねるところから有益性を生み出しているわけで、計算機との時系列的な対話関係、操作履歴が重要な訳です。 何か手順を再利用するなんて場合にも、ひとつひとつのコマンド、汎用的なコマンドが主役ではなくて、意図した副作用を生成する一連のまとまりが主題です。 まとまりによって引き起こされる副作用を再現することが機械的な手順の利用、再現した際に何が起こるか(起こったか)記録されているのが証跡という訳です。
そういったものを Notebook は自然に表現していると考えられます。
また、計算機を利用するインターフェースとして narratives を捉えると.. shell や 運用に比べると、時系列を明示的に意識させるものと捉えられます。 運用というのは対象の状態を意識した上で、一定の時間的広がりのある中で操作を行うものです。 shell のように打てば画面から消えてしまう ephemeral 短命な対話ではなくて、こうなんというかじっくり対話する感じ。 GUIのように現在の状態をfeedback するだけではなくて、経緯を意識させる仕掛けだと考えるわけです。
もっとも Jupyter Notebook そのものはデータサイエンティストのようなユーザを想定して、探索的な試行錯誤を支援する道具として設計されているので、前述の用途、思惑にそのまま即応できる訳ではありません。そこで、経時的な操作をよりダイレクトに表現・表象できるように Jupyter の UI を拡張したのが LC_run_through で、何をどこまで実行したのか視覚的にフィードバックするとともに、誤操作なく順序だてて操作するように UI 操作を制約しています。 他にも、証跡を確実に残せるようにしたのが LC_wrapper Kernel 、Notebook を使い回すときに証跡を比較できるようにした multi_outputs などがあります。 もろもろの機能を簡単に試せるように Docker イメージを用意してあるので、興味のあるかたは是非試してみてください DEC20