開発ノート
AIに自分の書いた譜面を見せる
AIに譜面を編集させる道具を渡すのは、比較的簡単です。本当に役立ったのは、書いた結果をAIに見せる仕組みでした。
2026年9月19日
編集させるのは簡単
TonographはMCPサーバなので、同じMacで動くAIクライアントに、開いている譜面を操作させられます。譜面を読む、小節を足す、フレットを置く、奏法を付ける、取り消す。どれもアプリが既に持っている操作を外部に公開するだけです。
ところが、そこまで作ってみて、これでは足りないことに気づきました。理由は、あとから考えれば当たり前のことでした。
モデルがツールを呼び出し、ツールが「完了」と答えたとき、モデルにわかるのは呼び出しが受理されたことだけです。その小節が演奏者の期待どおりに読めるかどうかはわかりません。記譜は視覚的な言語で、声部や符幹、連桁、1小節に入る音の量について独自の規則があります。データとしては完全に正しい変更でも、紙の上では破綻していることがあります。ツールの戻り値しか手がかりのないモデルは、目を閉じたまま書き、一筆ごとに「ペンは動きました」とだけ知らされているようなものです。
結果の画像を要求できるようにした
解決策は、モデルが譜面の画像を要求できるようにすることでした。小節の範囲を指定すると、アプリはその範囲だけを組版して画像で返します。組版は画面やPDFに出るものと同じです。
これでセッションの進み方が変わりました。モデルはターンアラウンドを提案して書き込み、その4小節の画像を要求します。そして第2声部が第1声部とぶつかっているのを見つけると、こちらが何か言う前に直します。検証は、もう人間が代わりに引き受ける作業ではありません。
気に入らない箇所があれば、言葉で説明する代わりに、その箇所を示して直させることもできます。
主導権は誰にあるか
もう1つ学んだのは、歯止めのない機能に大事な作業を任せたくはない、ということです。
承認モードでは、文書を変更する操作がすべて差分で示され、こちらが承認するまで反映されません。取り消しとやり直しも意図して対象に含めています。1時間分の作業を断りなく巻き戻せる助手は、そもそも編集できない助手よりも厄介だからです。保存と書き出しも、ディスクへ書き込む操作なので対象にしています。
ほかの制限は地味なものですが、それで良いと考えています。サーバは自分で有効にするまで起動しません。ネットワークには公開せず、自分のMacの中でだけ待ち受けます。すべてのリクエストにアプリが生成したトークンが必要で、そのトークンが何なのか、クライアントにどう渡すのかは設定画面にそのまま書いてあります。
複製ではなく、開いている譜面そのもの
ここまでの話はすべて、1つの決定の上に成り立っています。モデルが作業する対象は、書き出したファイルではなく、開いている文書そのものだということです。
そのため、モデルの編集は自分の編集と同じ履歴に残り、作業中に譜面が変わっていく様子を眺められ、承認モードで差分を示せます。同時に、モデルも人間と同じ規則に従います。同じ検証を通り、辻褄の合わない小節は人間と同じように書き込めません。
AIとの共同作業は、相手が同じ部屋で同じ紙を見ているときのほうが、ずっと信頼しやすいようです。