1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIの「あとで自動でやっておきます」は、実際には動かなかった。時間で動く処理は、仕組みにするか、催促を頼む形にする(Claude Code)

1
Posted at

Claude Codeに、Zennの記事の公開を手伝ってもらっていたときの話です。AIが「あとで自動でやります」と言ったのに、何も起きませんでした。この失敗から決めた、「時間で動く処理」の扱い方をまとめます。

起きたこと

ZennをGitHub連携で運用しています。ある日、4本目の記事を公開しようとしたら、「投稿数の上限」で止まりました(前回の公開から24時間以内は、公開できません)。

このとき、AIは、おおよそ次のように答えました。

24時間たったら、自動で再試行されます。

けれど、24時間が過ぎても、何も起きませんでした。記事は、保留のままでした。私が気づいて、「自動で再試行されると言ったのに、されていないね」と指摘して、はじめて分かりました。

なぜ動かなかったのか

理由は単純です。AIのセッションは、私が話しかけたときにしか動かないからです。

  • Claude Codeは、人が指示を出したときに動く。時間が過ぎたからといって、自分で起き上がって、続きをやることはない
  • 「24時間後に自動で再試行する」ためには、24時間後に、何かが動いている必要がある。それは、AIの外側(cron、GitHub Actionsなど)でしか実現できない
  • AIは、「そうなるはず」という気持ちで、自然に「自動で」と言ってしまうことがある。その「自動」を動かす仕組みが、実際にあるかは、別の話

決めたルール

AIが、時間が過ぎたら何かをやる、と約束したときは、次のどちらかにします。

  1. 仕組みにする: 時間で動く処理は、GitHub Actionsなど、AIの外側のスケジューラに入れる
  2. 催促を頼む形にする: 仕組みにしないなら、「◯日になったら、声をかけてください」と、人に頼む形にする。「自動でやっておきます」とは言わせない

AIの約束に、「それは、何が、いつ、実行するのか」を、一言、確かめるだけでも、効きます。

仕組みにした例

Zennの記事の公開は、結局、GitHub Actionsに入れました。毎日、決まった時刻に、キューの先頭の記事を公開する形です。

.github/workflows/publish-draft.yml(抜粋)
on:
  schedule:
    - cron: '0 0 * * *'
  workflow_dispatch: {}

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run publish-next script
        run: node scripts/publish-next.js
      - name: Commit and push if a draft was published
        run: |
          if [ -n "$(git status --porcelain)" ]; then
            git config user.name "zenn-publish-bot"
            git config user.email "actions@users.noreply.github.com"
            git add -A
            git commit -m "自動公開: キューから記事を1本公開"
            git push
          fi

記事を書いたら、published: falseで置いて、キューに名前を足すだけです。公開の時刻や、24時間の間隔を、AIにも私にも、覚えておく必要がなくなりました。「忘れる」「ずれる」を、仕組みが引き受けます。

「催促を頼む形」の例

仕組みにするほどでもない、一度きりの作業は、人への依頼にします。たとえば、こう書かせます。

10月10日になったら、「Zennの本の再公開」と声をかけてください。そのときに、続きをやります。

こう書かれていれば、私が忘れていても、約束が、誰の責任なのかが、はっきり残ります。AIは、時間が来ても、自分からは動きません。人が声をかけたとき、続きから動きます。

AIに、この運用を覚えてもらうために、私は、プロジェクトのメモ(CLAUDE.mdやメモリ)に、1行書いています。

時間経過だけでは自発的に動かない。約束するなら、仕組み化するか、催促を頼む形にする。

まとめ

  • AIは、時間が来ても、自分からは動かない。「あとで自動でやる」は、仕組みがなければ、起きない
  • 時間で動く処理は、GitHub Actionsなど、AIの外側のスケジューラに入れる
  • 仕組みにしない作業は、「◯日に声をかけてください」と、人に頼む形にする
  • 約束を聞いたら、「何が、いつ、実行するのか」を、一言確かめる
  • このルールは、プロジェクトのメモに、1行で残しておく

この記事はZennにも投稿しています。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?