寝ている間のAIは、僕に聞かないと決まらない所で止まった
Handler(ハンドラー。タスクとスケジュール管理アプリ)の直したい細かい所を、Handler自身の中の1つのタスクに、リストにして溜めていた。「今日」画面(その日にやるタスクを並べる画面)の並べ方を変える、ステータスをその場で変えられるようにする、説明欄を編集しやすくする、など。1つずつは小さい。
寝る前に、コーディングしてくれているClaude Code(以降Code)に、そのタスクの番号だけを渡した。このタスクで進められることは進めておいて、僕の確認が要るものは残しておいて、明日一緒にやろう、と。
寝ている間は、Codeが何か聞きたくなっても僕は答えられない。どこまで進めてよくて、どこで止まるか。その線を僕は細かく決めずに渡した。起きると、Codeは進めた所と残した所を分けて報告していた。
中身が決まっている直しは、寝ている間に毎日使う画面まで入った
直しが6つ、本番(僕が毎日使っているHandlerそのもの)に入っていた。そのうち5つは、僕がリストに書いた文だけで、何をすればいいかが決まっていた。
「今日」画面は「期限超過・今日・複数日・完了済み」の順に分かれた(複数日は、何日かにまたがるタスク)。ステータスは文字をクリックすればその場で変えられる。説明欄はクリックすると大きな入力欄が開く。ガントチャート(予定を横棒で並べる図)では、カーソルを置いた行が左の一覧でも光る。どの画面にもタスク番号が出る。
Codeはタスクの中身をHandlerから読んでコードを直し、まず自分の手元で動かした試しの画面で1つずつ確かめていた。それからNAS(家に置いてある常時稼働のサーバー)の本番に入れて、本番の「今日」画面でももう一度確かめていた。
リストの曖昧な一行でも、原因がコードの中にあれば直った
6つ目は、ほかと違って曖昧だった。リストには、MONET(僕が普段話しかけている、中心のAI)が作業した後、Handlerの見た目がおかしくなる(画面を切り替えると直る)、と書いていた。MONETはCodeとは別のAIで、僕に頼まれてHandlerのタスクを書き換えることがある。直し方として、MONETの作業中は画面を半透明の白で覆って触れなくできないか、相談、とも書いていた。
Codeは覆う案をいったん置いて、原因の方を探した。MONETがHandlerを触るたびに、Handlerは画面を読み込み直していて、そのたびにガントチャートを作り直していた。作り直すと、横の表示位置がガントチャートの左端(今日の30日前)まで飛んで、そのままになる。タスクの一覧とカンバン(列ごとにカードを並べる画面)には、表示位置はそのままで裏で読み込み直す仕組みがもう入っていた。「今日」画面とガントチャートだけに、それが無かった。Codeは同じ仕組みをそこにも入れた。
答え合わせは、その日の夜にできた。僕も最近見直していて、MONETの作業中にガントチャートが勝手に1ヶ月くらい前まで横にずれる、と気づいていた。寝ている間にCodeが見つけた原因と、そのまま合っていた。
曖昧な一行でも、確かめる先がコードの中にあったから、Codeは僕に聞かずに進められた。
後で入れ替えられる小さな境目は、仮に決めて確認だけ残した
Codeが残した項目は、リストを溜めていたあのタスクの説明欄にも書いてあった。僕の目に入るように、と報告にあった。
残した中には、確認だけのものがいくつかあった。画面を覆う案も、原因の直しだけで見た目が戻るかを先に見る、として残してあった。その中で、画面を作るのに要ったのは、何日かにまたがるタスクで、期限が今日のものを「今日」と「複数日」のどちらに出すか。どちらかに決めないと、画面の分け方が作れない。Codeは「今日」に置いて作り、これでいいか確かめてほしい、違うと思ったら言ってくれれば入れ替える、と書いていた。数分で済む確認、という扱いだった。
止まったのは、次の2つ。こちらは僕とちゃんと話す必要がある、とCodeは分けていた。
タスクの付け方を変える話は、案だけ置いて止まった
1つ目は「今日やる」というステータス。リストには、このステータスが微妙な立場になってきたので考え直したい、と僕が書いていた。Codeが本番のデータを見ると、このステータスが付いたまま、何週間も期限を過ぎているタスクがいくつもあった。「今日」画面はもう日付で並ぶようになっている。Codeの案は、このステータスを無くして、今日やるかどうかを期限などの日付だけで決めること。
無くせば、僕が「今日これをやる」と印を付けるやり方が変わる。Codeはこれを、僕が決めること、と書いて案だけ置き、手は付けていなかった。その日の夜、僕は消そうと答え、Codeがステータスを無くす直しを本番まで入れた。
何を指すか分からない言葉は、候補を並べて僕に聞いた
2つ目は「カテゴリ」(プロジェクトごとに作って、タスクを分けるための区分)。リストにはカテゴリについての一行があったけど、Codeが調べると、カテゴリはもうあった。プロジェクトの設定画面にも、タスクの詳細画面にも、ガントチャートの列と絞り込みにも。
僕がどこを足りないと思っているのか、Codeには分からなかった。候補は3つ。タスクの一覧にカテゴリの列を足す、カンバンと「今日」画面のカードに出す、MONETがカテゴリを見たり設定したりできるようにする。Codeはどれかを自分で選んで作らずに、3つを並べて、どれのことかを僕に聞いていた。
その夜のカテゴリの答えは、Codeが並べた候補のどれでもなかった
その日の夜、僕はまず、カテゴリは僕の勘違いだったと答えた。カテゴリはもう足りている。欲しかったのは、タスクの一覧の画面に、ガントチャートと同じ「表示」のメニューを付けて、出す列を選べるようにすることだった。
候補の3つ目は、翌日の昼に出てきた。MONETから、カテゴリを扱うツールが無いと聞いて、僕が付けてほしいとCodeに頼んだ。
Codeが自分で決めて進めたのは、違っていても後で入れ替えられる小さな境目までだった。止まった2つは、どちらも僕と話さないと決まらなかった。ステータスを消すかどうかは僕が決めることで、カテゴリは、その夜の答えも翌日の頼みも、僕からしか出てこなかった。