メインコンテンツへスキップ
見出し画像
Photo bytac_life

AIにシートを書き換えてもらえなかったので、「依頼書」を書かせることにした

    前回、「点検はAI、判断は自分」という仕組みの話を書きました。

    ところが株を売ったあと「シートも直しといて」と頼むと、AIの返事は「読めるけど、書き換えられない」。

    自分で作ったシートなのに、なぜ?その理由と、AIに「依頼書」を書かせる形で解決した仕組みを紹介します。

    「読めるけど、書き換えられない」

    前回の記事の最後に書いた通り、AIにシートの更新を頼むとこう返ってきました。

    「保有シートは読めます。でも、書き換えられません」

    私の環境では、AIはGoogleドライブのファイルを「読む」ことと「新しく作る」ことはできました。でも、すでにあるファイルを書き換える操作はできませんでした。シートを作ったのがAIでも、できないものはできない。

    (これは私が使っているAIとドライブの接続の仕様です。AIやサービスによっては、書き換えられる場合もあります。)

    投資の記録を毎回手で直すのは面倒です。かといって、AIに書き換えの権限を丸ごと渡すのは怖い。そこで考えたのが、次の分担です。

    AIは「依頼書」を書く。書き換えるのはスクリプト

    画像

    ・AIは、決まった形式のドキュメント(更新依頼書)を、専用フォルダに「新しく作る」
    ・シート側のスクリプト(Google Apps Script)が、そのフォルダを見に行く
    ・依頼書の内容を読んで、シートに書く
    ・やった結果を「更新ログ」タブに残す
    ・処理した依頼書は、名前の先頭に「済(OK5/NG0)」のように結果をつけて区別する

    AIに許しているのは、ファイルを新しく作ることだけ。シートを書き換えるのは、私が用意したスクリプトです。AIは「何を書いてほしいか」を、スクリプトが読める形で伝える役です。

    スクリプトは、1時間ごとに自動で動くように設定できます。急ぐときは、手動で今すぐ実行もできます。

    依頼書の中身

    依頼書は、こんな短い行の並びです(銘柄は「優待株A」「優待株B」にぼかしています)。

    # 承認:2026-11-04 チャットで確認済み

    SET|優待株A|T|2026-01-08

    SET|優待株A|U|(優待の初回の見込み)

    SET|優待株B|T|2026-01-08

    CELL|B3|20000

    ・SET|銘柄コード|列|値 … 銘柄の行の、指定した列に値を書く

    ・CELL|セル|値 … 指定したセルに値を書く(積立額など)

    ・「#」で始まる行はメモとして無視される

    行番号ではなく、銘柄のコードで行を探します。AIが「何行目」と言い間違えても、別の行を書き換えずに済むようにするためです。コードに当てはまる行が1つに決まらないときは、何も書かずにエラーにします。

    安全のために決めたルール

    ① 書いていい場所を、スクリプト側で決めておく

    書ける列は「区分・買う理由・売る条件・手入力の現在値・売却ライン・保有開始日・優待の見込み」だけ。書けるセルも「月額積立」と「学習枠の目標比率」の2つだけです。株数や取得単価の列は、依頼書では書き換えられません。「区分」の欄に入れられる値も、決まった3つだけです。

    ② 依頼書の持ち主を確認する

    スクリプトは、自分(シートの持ち主)のアカウントが所有している依頼書しか処理しません。他の人が共有フォルダに置いたファイルは、「拒否」という名前に変えて実行しません。

    ③ 何をしたか、全部ログに残る

    更新ログには「日時/依頼書の名前/指示/結果(OK・NG)/内容」が行ごとに残ります。内容には「T28:『(空)』→『2026-01-08』」のように、書き換え前と後が入ります。依頼書の名前にも結果が付くので、フォルダを開いただけで、どの依頼が成功したか分かります。

    ④ 承認は「運用」で守る

    依頼書の1行目に、私がチャットで承認した日付と内容をメモしています。ただし、このメモはスクリプトが確認しているわけではありません(読み飛ばされる行です)。つまり、「AIは、私が承認した依頼だけを書く」というルールは、仕組みではなく運用で守っています。

    万が一、AIが承認なしに依頼書を作っても、書けるのは①の範囲だけで、結果は必ずログに残ります。そこが、この仕組みの安全の限界です。

    実際に回してみた

    11月4日に、2回使いました。

    1回目(#1):優待株の保有開始日と優待の見込みを入れて、月額積立の額を実際の金額に直す。5件の指示は、すべてOK。

    2回目(#2):1回目で入れた保有開始日が、1日ずれていた。それを直す2件の指示。これもOK。

    ずれた原因は、スクリプトの日付の扱いです。スクリプトのタイムゾーンが日本時間になっていなかったので、「1月8日」と書いたつもりの値が、シートでは「1月7日」と表示されていました。(これは次回、AIの失敗と一緒に詳しく書きます。)

    ポイントは、「間違いに気づいたら、また依頼書を1枚書けば直せる」ことでした。更新ログを見れば、何をどう直したかが、最初から最後まで追えます。

    良いところと、限界

    良いところ

    ・AIに、シートの書き換え権限を渡さなくていい
    ・いつ・何を書いたかが、全部ログに残る
    ・書き換え前の値もログに残るので、間違えても戻せる
    ・書ける場所を絞ってあるので、被害の範囲が小さい

    限界

    ・自動実行は1時間ごと。リアルタイムではない(手動なら、すぐ反映できる)
    ・スクリプトを自分で用意する必要がある(Apps Script)
    ・依頼書の形式をAIに守らせる必要がある
    ・承認の確認は、スクリプトではなく運用に頼っている
    ・エラー(NG)になった行も、依頼書は「済」扱いになる。直すなら、新しい依頼書を作る

    次回予告

    今回は「うまくいった仕組み」の話でしたが、実はAIはこの1日で、提案を間違えたり、日付がずれたり、行番号を言い間違えたりしました。次回は、その失敗と、どう検知して直したかを全部書きます。
    関連:仕組み化の記録

    気になる!と思った方は、ぜひ「スキ!」アクションで応援していただけると嬉しいです。


    本記事は筆者個人の仕組みづくりの記録で、特定の金融商品の売買を勧めるものではありません。投資判断はご自身の責任で行ってください。


    この記事はnoteマネーにピックアップされました

    noteマネー 今週の特集「AI株安で急落!ほかの人はどうしてる?」
     
     

    haru

     
     
    面倒な確認や整理はAIに任せて、判断だけ自分でやる。そんな仕組みづくりの記録です。仕事の道具、noteの運用、お金の管理まで、実際に試したことだけ書いています。豆乳が好きです。

    あなたへのおすすめ