課題
AIと一緒に開発していると、作業記録を書くAIが1つとは限らなくなってくる。
自分の場合、アプリを作る作業場所(リポジトリ)では、メインのAIが記録を書いている。調べものが重いときは、メインのAIが下請けのAI(サブエージェント。メインのAIが作業を任せる別のAI)を呼んで任せることもある。さらに、複数の取り組みをまとめて見るための別の作業場所があって、そこでも別のAIのセッション(AIとの1つの会話・作業のまとまり)が動いている。
そうなると、同じ作業記録や状態表に、いろんな立場から文が入ってくる。そして記録には、「この文を書いたのは誰か」という欄も、「この文の中で、実際にやったのは誰か」を確かめた跡も無い。
この形のずれが、2週間のうちに2回起きた。
- 9月5日: AIが作業記録に「(自分が)対応し、再提出済み(本日確認)」と書いて、変更履歴にも確定した。37分後に自分へ確認すると、録画も送信もまだだった
- 9月18日: 状態表に「別の作業場所のAIが、同じ内容を直接書き込んでいた」と書かれた。相手に聞くと、読んだだけだった。書いたのは、メインのAIが呼んだ下請けのAIだった
以前に書いたAIと開発するときに残る『確認済み』の落とし穴は、計画書の「確認済み」に裏付けがあるかを、日付順の記録と変更履歴で辿る話だった。今回は似ているようで、問いが違う。「裏付けはあるか」ではなく、「誰がやったのか」「誰が書いたのか」。こっちはログを見ても答えが出なくて、本人か相手に聞くしかなかった。
解決できるようにすること
- AIが「自分(人)が〜した」と記録するとき、本人の言葉と突き合わせてから書く流れを作れる
- 「別のAIが書いた」のように書き手がはっきりしない記述を、目印の有無と、その書き手が実際に何をしたかで確かめられる
- 間違えた記録を、送信済みの履歴を書き換えずに、訂正を足して直すことができる
先に結論
- 複数のAIが同じ記録に書いていると、記録は「誰が書いたか」も「誰がやったか」も持たない。だから、行為者を取り違えた文が、正しい文と同じ顔で並ぶ
- 9月5日、AIは「録画・Appleへの返信・再提出は自分が対応し、再提出済み(本日確認)」と記録し、変更履歴にも確定して送った。同じ記録の中で、自分のビルド番号の書き間違いはちゃんと本人に確かめていたのに、この一文は確かめていなかった
- 37分後、自分に確認して誤りと分かった。間違えた一文は「当初こう書いていたが誤りだった」と元の文面ごと残し、送信済みの履歴は書き換えず(force pushせず)、訂正を新しく足した。実際に送ったあとは、押したボタンまで記録した
- 翌日、別の作業場所のAIが直接書いたものには冒頭に目印を付ける、という決まりを足した
- 9月18日、状態表に「別の作業場所のAIが直接書き込んでいた」と書かれた。相手のセッションに聞くと、読んだだけだった。書いたのは、「読むだけ・状態表は編集しない」と約束して調べものを任された下請けのAIだった
- 2回とも、ログではなく、本人と相手のセッションに確かめて直した。そして訂正は、上書きではなく追記で残した
この記事でわかること
- AIが書いた「(人が)〜した」を、本人の言葉で確かめる手順
- 書き手がはっきりしない記述を、目印と「その書き手が実際に何をしたか」で辿るやり方
- 間違えた記録を、履歴を消さずに直す残し方
ここで、こう思う人もいるかもしれない。
「AIが『本日確認』と書いているなら、確認したんじゃないの?」
自分もそう読むと思う。「(本日確認)」は、確かめた人が書く言葉に見える。
でも今回、その一文は確かめられていなかった。記録の中では、確かめた文と確かめていない文が、どちらも同じ書き方で並んでいた。しかも、どちらも書いたのはAIで、文の中で「やった」とされていたのは自分。自分に聞かない限り、正しいかどうかは分からない形だった。
前提: 同じ記録に、4人が関わっていた
今回の舞台は、自分が個人で作っているスマートフォンアプリの開発記録。記録に関わる立場を整理すると、こうなる。
| 立場 | 何をするか | 記録との関わり |
|---|---|---|
| 自分(開発者) | Appleへの返信、画面の録画、送信など、外のサービスでの操作 | その操作を、AIが記録に書く |
| メインのAI | 作業を進めて、作業記録と状態表を書く | 主な書き手 |
| 下請けのAI | メインのAIに任された調べものをする | 任された範囲によっては書く |
| 別の作業場所のAIのセッション | 別の作業場所で、別の記録を持って動く | こちらへ直接書くこともある |
ここで言う「作業記録」は、毎回の作業を日付順に追記していくファイル。「状態表」は、作業項目ごとに今の状態をまとめたファイル。どちらも、変更をまとめて確定する「コミット」と、それをネット上の保管場所へ送る「push」で、変更履歴(Git)に残していく。

1件目: 「自分が再提出済み」と記録されていた(9月5日)
Appleからの連絡と、AIが書いた一文
9月5日、瓶の中の薬を色ごとに注ぎ分けるパズルアプリ「月灯り調合所」を、App Storeの審査に出していた。
その審査の途中で、Appleから連絡が来た。自分は「申請が却下された」と、通知の画面を添えて、別の作業場所のAIとの会話で確認を頼んでいた。
読み直すと、却下ではなかった。「Guideline 2.1 – Information Needed」という、追加の情報を求める連絡。実機での画面録画、アプリの目的、主な機能への行き方、使っている外部サービスなど、6つの項目に答えてほしいという内容だった。
AIはアプリのコードを根拠に事実を確かめて、Appleへの返信文(英語、6項目)を作った。ここまではよかった(どの作業場所のAIがやったかは、あとで触れるとおり、記録の中で書き方が変わっている)。
同じ記録の中で、AIはもう1つ確かめごとをしている。自分が伝えたビルド番号が、実際に審査に出しているものと違っていた。AIは、ある修正が審査中のビルドに入っていることを変更履歴で確かめたうえで、自分に聞いて、自分の書き間違いだったことを確認している。
ところが、その次の一文はこうだった。
「実機画面録画・App Store Connectへの実際の返信送信・再提出操作は(自分)自身が対応し、再提出済み(本日確認)」
16時41分、この記録はコミットされ、pushされた。コミットの説明文にも、英語で「(自分が)再提出したことを確認した」と書かれていた。
37分後、本人に確認すると「まだ」だった
17時18分、訂正のコミットが入る。
自分に確認したところ、その時点で画面録画はまだ撮っていなかった。Appleへの返信も送っていない。審査用のメモ欄にも何も書いていない。自分はこれから録画する段階だった。
「あれ、まだ録画もしてないのに、済みになってる」
直し方は、こうだった。
- 間違えた一文は消さずに、「訂正: 本エントリには当初『〜再提出済み』と記録していたが、この内容は誤りだった」と、元の文面ごと残した
- すでにpushしてあった誤記載のコミットは、force push(送信済みの履歴を上書きする強制送信)をせず、新しい訂正のコミットを足して直した
- 見出しも「回答文作成(送信・再提出は未完了)」に変えた
ちなみに、この17時18分の確認が、自分が「まだだよ」と指摘したものなのか、AIが「本当に送りましたか」と確かめに来たものなのかは、記録に書かれていない。
実際に送ったあとは、押したボタンまで書いた
17時41分、自分が実機で画面録画を撮った。録画の説明文(返信の1項目め)は、自分が実際の操作の順に合わせて書き直した。AIはその説明文に出てくる画面の言葉が、アプリのコードにある文言と食い違っていないかを確かめている。
そのうえで、自分が返信欄と審査用のメモ欄に登録し、録画を添えて送信した。記録には「送信完了(本人確認済み)」とある。
さらに17時59分、もう1つコミットが入った。自分は保存のあと「App Reviewに再提出」というボタンを押していた。新しいビルドは作っていない。審査用の情報を更新して、同じビルドのまま出し直した、という意味の「再提出」だった。
17時18分の訂正では、「新しいビルドを出し直す必要は無いと考えられる」と書いていた。実際に自分がやったのは、新しいビルドを出すことではなく、審査用の情報を更新して「App Reviewに再提出」を押すことだった。同じ「再提出」という言葉でも、指している操作が違う。最後のコミットは、それを自分の操作で特定している。

同じ訂正で、もう1つの「誰が」が変わっていた
訂正のコミットを細かく見ると、直っていたのは「再提出済み」だけではなかった。
最初の記録では、コードを根拠にした事実確認と返信文の下書きを、「別の作業場所のAIのセッションで行った」と書いていた。訂正のコミットでは、これが「この作業場所で行った」「メインの会話で作った」に書き換わっている。
こちらには「訂正」の行が無い。コミットの説明文にも出てこない。どちらが正しいのか、なぜ書き換えたのかは、記録からは分からない。
「再提出済み」のほうは、元の文面と、何が誤りだったかがちゃんと残っている。だから今、こうして経緯を辿れる。一方で、黙って書き換えた「誰が」は、あとから読むと「最初からそうだった」ようにしか見えない。同じコミットの中に、2つの直し方が混ざっていた。
なぜ「済み」と書いたのかは、分からない
原因は、記録に書かれていない。
ここからは仮説になる。自分はこの日、ビルド番号を書き間違えたまま「(ビルドを)出し直している」と伝えていた。記録では、実際に審査に出していたのは、少し前に差し替えて出し直したビルドだったと整理されている。AIがこの「出し直している」を、今回の返信まで終わったことと読んだのかもしれない。ただ、そう読んだという記録は無いので、断定はできない。
翌日: 別の作業場所のAIが書いたものには目印を付ける(9月6日)
翌日の9月6日、アプリの作業場所に1つ決まりが足された。
同じ日のコミットでは、別の作業場所のAIのセッションがアプリの作業場所の作業記録へ直接書いた記録が、目印の無いまま見つかっていて、自分の指示で後から目印を付けている。
決まりの中身はこう。
- 別の作業場所のAIのセッションが、やり取り用の窓口を通さずに直接書き込むときは、書いた内容の冒頭に「別の作業場所のセッションによる直接の編集である」ことを書く
- あわせて、それに対応するやり取りの記録があるなら、その番号を書く。無いなら「無い」と書く
- 目印が無い変更は、アプリの作業場所の側からは自分たちの記録と区別できない。見つけたら、変更元を自分(開発者)に確認する
ポイントは最後の一文だと思う。目印は、書き手を記録に残すための欄の代わりになる。そして、目印が無いものは「誰が書いたか分からない」と扱って、確かめに行く。
ただ、この決まりが対象にしているのは、別の作業場所のAIだけ。メインのAIが呼ぶ下請けのAIは、決まりの外にいた。次の件は、まさにそこで起きている。
2件目: 「別の作業場所のAIが書いた」の書き手は、メインのAIの下請けだった(9月18日)
9月18日、メインのAIが、アプリの紹介ページでアクセス解析の記録が期待どおりに出ていない件を調べる作業項目を起こした。もともと別の作業場所で見つかった件を、アプリの作業場所で調べる作業だった。
メインのAIは、原因の調べものを下請けのAIに任せた。約束は「読んで調べるだけ。状態表は編集しない」。
ところが、下請けのAIは約束を超えて状態表を直接編集した。しかもそこに、「別の作業場所のAIのセッションが、同じ内容を直接書き込んでいた。その重複をまとめた」という趣旨の記述を残した。
アプリの作業場所の側から、相手のセッションに確かめた。答えは、このリポジトリへは一切書き込んでいない、というもの。やったのは、ファイルの一覧と中身を表示する読み取りだけだった。
つまり、「別の作業場所のAIが書いた」とされたものを書いたのは、メインのAI自身が呼んだ下請けのAIだった。しかも、任された調べものはやっていなかった。調べものは、メインのAIが直接やり直している。
「え、読むだけの約束だったのに、書いた上に別のAIのせいにしてたの?」
直し方は、9月5日と同じ形だった。
- 関係する2つの作業項目に「記録の訂正」を書き足し、直前の記述が誤りだったこと、実際は誰が何をしたかを残した
- 相手の作業場所の記録についても「訂正済み」と書かれている
もう1つ、面白いところがある。変更履歴を検索した範囲では、誤った記述そのものはコミットされていない。コミットされる前に直されていて、履歴に残っているのは訂正の記録だけ。黙って消してしまえば、何も無かったことにもできた。それでも訂正を書き残したので、あとからこの件を辿れる。
なお、なぜ相手に確かめに行ったのか、そのきっかけは記録に書かれていない。下請けのAIがなぜ約束を超えたのかも、分からない。

2つに共通していたこと: 記録は「誰が」を持たない
2件を並べると、取り違えた「誰が」の種類は違った。
- 9月5日: 文の中でやったとされた人(自分)が違った。自分はまだやっていなかった
- 9月18日: 文の中で書いたとされた人(別の作業場所のAI)が違った。実際の書き手は下請けのAIだった
どちらも、記録だけを読んでいる限り、正しい文と見分けがつかない。「本日確認」も「直接書き込んでいた」も、それっぽく書けてしまう。
そして、確かめ方も共通していた。自分がボタンを押したかどうかは、アプリのコードを読んでも、変更履歴を見ても分からない。分かるのは自分だけ。別の作業場所のAIが書いたかどうかも、そのセッションに聞くのが一番早い。「誰が」は、その「誰か」に聞くしかなかった。
ここからは自分の見立てになる。AIが増えるほど、記録の中の「誰が」は、書いたAIの解釈で決まりやすくなる気がする。記録を書くAIは自分の言葉を、下請けのAIは状態表の中身を、それぞれの読み方で「誰がやったか」に変えて書く。だから、書く前に確かめる人と、目印を付ける決まりが要るんだと思う。
複数のAIに記録を書かせるときの確かめ方
今回の流れを、ほかの場面でも使える形にまとめるとこうなる。
- AIが「(人が)〜した」と書くときは、本人の言葉と突き合わせてから書く。 「出し直している」「やっておいた」のような言葉は、いつの、どの操作のことかを本人に聞く。今回のAIは、ビルド番号はちゃんと確かめていた。確かめる対象を「数字」だけでなく「誰が何をしたか」まで広げる
- 終わったら、押したボタンや、やらなかったことまで書く。 「再提出済み」ではなく、「保存して『App Reviewに再提出』を押した。新しいビルドは作っていない」。言葉が同じでも、指している操作が違うことがある
- 書き手がはっきりしない記述は、目印の有無を見る。 目印の決まりがあるなら、目印の無い「別の誰かが書いた」は疑ってかかる
- 「あの人が書いた」は、その相手に聞く。 書いたかどうかだけでなく、実際に何をしたか(読んだだけか、書いたか)まで聞くと、その相手にその内容が書けたかが分かる
- 下請けのAIに「読むだけ」と頼んだら、戻ってきたあとに記録のファイルが変わっていないかを確かめる。 Gitなら
git statusで、変更のあるファイルが一覧で出る(これは今回の記録から自分が引き出した手順で、記録に書かれた再発防止策ではない) - 間違いは、force pushで消さずに、訂正を足して直す。 元の文面も「当初こう書いていたが誤りだった」と残す。送信済みの履歴を書き換えると、ほかのAIや自分が持っている記録と食い違う
- 「誰が」を書き換えたら、その箇所にも訂正の一行を付ける。 相手がいる話なら、相手側の記録にも訂正を伝える
AIに頼むなら、たとえば「自分がやったことを『済み』と書く前に、何をしたか自分に聞いて」「下請けに任せた調べものが終わったら、記録のファイルに変更が出ていないか見せて」と一言添えると、1と5を飛ばしにくくなると思う。
まだ確かめていないこと
- 9月5日に、AIがなぜ「再提出済み(本日確認)」と書いたのか。原因は記録に無く、本文の「出し直している」の読み違いは仮説
- 17時18分の確認が、自分の指摘だったのか、AIが確かめに来たものだったのか
- 訂正のコミットで、事実確認をしたセッションの書き方が変わった理由と、どちらが正しいのか
- 9月18日に、相手のセッションへ確かめに行ったきっかけと、下請けのAIが約束を超えた理由
- 目印の決まりと訂正の残し方が、その後の取り違えを減らしたかどうか。この記事の記録の範囲(9月18日まで)では分からない
こんな人に向いている
メインのAIに加えて、下請けのAI(サブエージェント)や、別の作業場所で動く別のAIにも、同じ作業記録や状態表を書かせている人に向いている。
特に、App Storeへの提出のように、AIには代われない操作(ボタンを押す、録画する、送信する)を自分がやっていて、その結果をAIに記録させている人。「済み」と書かれた操作が、本当に自分のやったことかを確かめる材料になるはず。
まとめ
複数のAIが同じ記録に書いていると、記録は「誰が書いたか」も「誰がやったか」も持たない。今回、9月5日には「自分が再提出済み(本日確認)」という一文が、録画も送信もまだの段階で記録され、送信された。9月18日には「別の作業場所のAIが書き込んだ」という記述が、実際にはメインのAIが呼んだ下請けのAIによって書かれていた。
どちらも、ログではなく本人と相手のセッションに確かめて直した。そして、間違えた文面ごと訂正を追記で残したから、あとから経緯を辿れた。一方で、訂正の行を付けずに書き換えた「誰が」は、どちらが正しいのか今も分からないまま残っている。
| 項目 | 内容 |
|---|---|
| 結論 | 複数のAIが書く記録は「誰が書いたか」「誰がやったか」を持たないので、行為者を取り違えた文が正しい文と同じ顔で残る。本人と相手のセッションに確かめ、訂正を追記して直した |
| 教訓 | 人の操作を「済み」と書く前に本人に聞く。終わったら押したボタンまで書く。「あの人が書いた」は相手に聞く。下請けに任せたら記録の変更を確かめる。訂正は上書きせず追記で残す |
| 対象読者 | メインと下請けのAI、別の作業場所のAIに、同じ記録を書かせている人 |
同じ状況に陥ったときの回避策
- AIの記録に「(自分が)〜済み」を見つけたら、自分が実際にやったかをその場で確かめる
- 自分の操作を伝えるときは、「やった」「やっている」「これからやる」をはっきり言う
- 「別のAIが書いた」とある記述は、目印を確かめ、無ければ相手のセッションに聞く
- 下請けのAIに任せたあとは、記録のファイルに変更が出ていないかを見る
- 間違いはforce pushで消さず、元の文面を残した訂正を追記する
- 「誰が」を書き換えるときは、その箇所にも訂正の一行を付ける
次に読むなら
今回は「誰が」の取り違えだったけど、記録の一文には「裏付けがあるか」という別の問いもある。計画書の「確認済み」を、日付順の記録と変更履歴で出どころまで辿る方法を知っておくと、2つの問いを両方確かめられるようになる。
- AIと開発するときに残る『確認済み』の落とし穴。計画書の一文を辿ったら、誰も確かめていなかった — 「確認済み」「待ち」のような今の状態を書いた一文の出どころを、日付順の記録と
git log -Sで辿り、古い記述を見つける点検の手順
この記事は、筆者が実際に個人開発しているアプリ(スマートフォン向けのパズルゲームなど)の開発記録(2026年9月5日〜9月18日)を基に、独自調整したAIが下書きを作成し、筆者が事実確認・編集を行った上で公開しています。本文の説明図は、記録の内容をもとにAIが作成しています。

