NGW開発BLOG
← 記事一覧へ
·#060

「かがみ書が反映されない」の取り違え一つの起案に、二つの宛先

「引用起案で保存してもかがみ書に反映されない」という問い合わせ。最初は意味が分からなかった。起案書とかがみ書は、宛先の違う別々の文書だった。その気づきと、判断を人に返す直し方の記録。

一文の問い合わせ

長らくこの状態で動いていた機能に、職員から問い合わせがあった。

引用起案した際に、登録保存をしてもかがみ書に新しい起案内容が反映されない。

最初、意味が分からなかった。起案本文を書き換えて登録保存すれば、かがみ書もその通りに更新される。実際にやってみても更新される。反映されないとは、何のことだろう。

報告の言葉をそのまま受け取ると「起案内容が反映されない」と読める。だから私は「起案 → かがみ書」への反映を確かめて、問題なし、と早合点しかけた。取り違えの入口はここだ。

起案書とかがみ書は、宛先が違う

引っかかって、手を止めた。そもそもこの二つは何が違う文書なのか。

  • 起案書は、起案者から発信者(決裁者)への「伺い」だ。こうしてよろしいか、と問う内側の文書。
  • かがみ書は、発信者から宛名(相手方)への「通知」だ。このとおり決定した、と外へ出す文書。

同じ案件でも、相手が変わり、文体も変わる。 起案書は「〜してよろしいか」、かがみ書は「〜のとおり決定した」。似ているが、宛先の異なる別々の文書である。

ここまで整理して、報告の本当の意味が見えた。職員が変更していたのは起案本文ではない。かがみ書そのものだった。引用起案でかがみ書の文面を相手向けに直したのに、登録するとその編集が消えて、起案本文で上書きされる。だから「反映されない」。現象は正しく、私の理解が的を外していた。

なぜ上書きしていたのか

コードを追った。登録(新規レコード作成)の一箇所で、かがみ書の各項目を無条件に起案本文で初期化していた。

新規起案なら、これは妥当なふるまいだ。かがみ書はまだ白紙で、起案本文をたたき台に埋めておけば手間が省ける。問題は引用起案のときだった。引用では、引用元のかがみ書を引き継いでくる。それを相手向けに編集しても、登録の初期化がすべてを起案本文で塗りつぶす。編集は保存されない。

厄介なのは、これがずっと表に出なかったことだ。多くの案件では、かがみ書=起案本文とほぼ同じで済む。ずれるのは、発信文書のかがみ書を独自に整えたいときだ。達や指令のように、決まった書式の通知文を使い回す場面である。

余談:行政文書の「達」と「指令」

かがみ書の書式が問題になりやすい発信文書に、達と指令がある。両者の違いは要求の起点にある。

起点内容
指令相手からの申請・願い出許可・認可・補助金交付決定など、権限に基づく行政行為を相手に示す
行政機関の一方的な判断(職権)相手の意思と無関係に、義務の賦課・禁止・処分・許認可の取消などを行う

申請に応えるのが指令、職権で一方的に及ぼすのが達、という対比だ。こうした通知は、かがみ書の書式が案件をまたいで似通う。だから「引用してかがみ書は残し、中身だけ差し替える」使い方が自然に生まれる。上書き初期化は、その使い方と真っ向からぶつかっていた。

直し方:判断を、人に返す

素直な直し方は二つあった。

  1. システムが賢く推測する。引用のときは初期化しない、新規のときは初期化する、と自動で切り替える。
  2. 人に選ばせる。初期化するかどうかを、起案者自身が登録時に決める。

自動判別は一見スマートだ。だが「引用したが、かがみ書は起案本文で作り直したい」という逆の要望を拾えない。システムが意図を推測するほど、推測が外れたときの逃げ場がなくなる。 後者を選んだ。

かがみ書の編集画面に、チェックボックスを一つ置いた。

  • 既定はオン(=従来どおり、起案本文でかがみ書を初期化する)。これまでの使い方は何も変わらない。
  • 編集したかがみ書を残したいときだけ、チェックを外す。 初期化は走らず、引用・編集した文面がそのまま登録される。

既定を従来動作にしたのは、大多数の「かがみ書=起案本文」の案件で挙動を変えないためだ。振る舞いが変わるのは、意図してチェックを外した人だけ。判断の主導権を、システムから起案者の手に戻した。

小さな配慮として、宛名や件名を編集して画面が再描画されても、チェックの状態は保つようにした。一度決めた選択が別の操作のたびに既定へ戻るのは、それ自体が新しいバグだ。

AIとの協働作業での学び

今回いちばん効いたのは、コードを読む前の「そもそも、この二つは何が違う文書なのか」という一歩だった。バグ報告の言葉は現象の入口ではあっても、原因の地図ではない。「起案内容が反映されない」を額面で受け取れば、私は「起案 → かがみ書」を確かめて終わっていた。ドメインのモデル——二つの文書が別々の宛先を持つという構造——を言葉にして初めて、報告の本当の指し先が見えた。

この「二つの宛先」という言語化は、AI との対話の中で像を結んだ。現象を一つずつ声に出し、「起案書は内へ、かがみ書は外へ」と並べ直す過程で、上書き初期化がなぜ罪になるのかがはっきりした。直し方の議論でも、自動で賢く判別する方へ流れかけたところを、逆の要望を拾えるかと押し戻して、人に選ばせる形に落とせた。道具が速く答えを出すほど、何を問うかを決めるのは自分の仕事だと思う。

最後に、恥ずかしながら白状を一つ。この件を調べるまで、私は「達」を「たつ」と読んでいた。正しくは「たっし」である。

言い訳をさせてもらえば、類義語に「通達(つうたつ)」があるので、その一字を取って「たつ」だと思い込んでいたのだ。だが単独の文書としての達は「たっし」と読む。四十年この世界にいて、いまさらである。しかも今回、私に読み方を教えたのは職員でも辞書でもなく、画面の中の AI であった。現場の言葉は、知っているつもりのところに、まだ落とし穴を隠している。