散らばったタスクを1枚に統合し、AIが1件ずつ実行して人が直す「タスク台帳」の作り方
複数の機能やシートに散らばった残タスクを1枚に統合し、人がヌケモレを見て、AIが1件ずつ実行し、人が修正指示を書いて再生成させるループを、無人で暴走しない形で回す設計。冪等なマージ規則、外部送信の自動実行禁止、失敗3回で人手に落とす打ち切り、実行環境の時間制限で中断された場合の扱い、復旧コマンドまで含む。
約26万トークンの節約 (API料金換算で約390円分)。 要件定義・技術調査・試行錯誤ぶんのトークンがまるごと不要になります。※ 出品者申告とレビューに基づく推定値。モデル・タスク内容により変動します。
この巻物について
「散らばったタスクを1枚に統合し、AIが1件ずつ実行して人が直す「タスク台帳」の作り方」は、業務自動化カテゴリのAI指示書(MDファイル)です。複数の機能やシートに散らばった残タスクを1枚に統合し、人がヌケモレを見て、AIが1件ずつ実行し、人が修正指示を書いて再生成させるループを、無人で暴走しない形で回す設計。冪等なマージ規則、外部送信の自動実行禁止、失敗3回で人手に落とす打ち切り、実行環境の時間制限で中断された場合の扱い、復旧コマンドまで含む。この巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約26万トークン(API料金換算で約390円)・87%のトークンを節約できます。
- カテゴリ
- 業務自動化
- 対応AI
- claude-code、cursor、codex-cli
- ライセンス
- 商用利用可 (再販不可)
- 価格
- 無料
- ゼロから開発時
- 約30万トークン
- この巻物使用時
- 約4万トークン
- 節約量
- 約26万トークン (約390円)
- 更新日
- 2026-09-05
使い方 (AIに渡す3つの方法)
いちばん簡単なのはワンライナー。Claude Code のターミナルに貼るだけです。
claude "https://makimono-md.vercel.app/api/v1/files/md-5605fa59/raw を読み込んで、この指示書どおりに実装して"
中身
散らばったタスクを1枚に統合し、AI が1件ずつ実行して人が直す「タスク台帳」の作り方
複数の機能・シート・外部ソースにタスクが散らばっていて「案件の残りが1箇所で見えない」状態を解消する設計。 人がヌケモレを見る → AI が1件ずつ実行 → 人が結果を直して反映 のループを、無人で暴走しない形で回す。
想定環境は Google Apps Script + スプレッドシートだが、台帳のマージ規則と安全装置は基盤に依存しない。
1. 何を作るか
- 正本: 案件ごとに1枚の「タスク台帳」シート。人はここで
状態と修正指示だけ触る - 横断ビュー: 全案件の未完了を期限順に並べた1枚(見るだけ・編集しない)
- 実行: 台帳の行から AI 機能を呼び、結果を同じ行に書き戻す
- 反映: 人が
修正指示を書いて再実行すると、その指示が生成プロンプトに乗って作り直される
台帳の列(この並びが要点)
| 列 | 用途 |
|---|---|
| タスクID | T-0001 形式。一度振ったら不変 |
| 状態 | 未着手 / 実行中 / AI実行済(要確認) / 完了 / 不要 / 要人手 |
| ▶AI実行 | チェックボックス。人が実行を指示する唯一のトリガー |
| タスク / 内容 | 何をするか |
| 発生源 | どの機能・シート由来か(重複判定にも使う) |
| 根拠 | 元データへのリンクや引用。なぜこのタスクが出たかを人が追える |
| 期限 / 担当 | |
| AI機能 | 実行する機能の識別子。空 = 人手 |
| 実行結果 / 実行日時 | 成果物リンク |
| 修正指示 | 人が書く欄。再実行時に追加指示として渡る |
| キー(hidden) | 重複判定キー |
| 失敗回数(hidden) | 打ち切り判定 |
2. マージ規則(ここを間違えると台帳が信用されなくなる)
同期は毎回全ソースを舐めて upsert する。純関数 mergePlan(existingRows, incomingItems, now) に切り出してテストする。
- 重複キー =
発生源 + '|' + 正規化タスク名(全角/半角・空白・記号を落として小文字化) - 行は絶対に削除しない。元ソースから消えても残す(人が
不要にする運用) 状態が完了/不要/要人手の行は一切触らない修正指示/実行結果/失敗回数は同期が絶対に書き換えない- open な既存行は「空セルだけ補完」。値の上書きはしない
- 例外として
refresh: trueを付けた集約行だけ内容と根拠を毎回上書きする(件数が変わるため) - 同一キーが複数来たら最初の1件
冪等であることを必ずテストする: 同じ入力を2回流して2回目の追加が0件になること。
集約しないと使い物にならないソースがある
実測で、確認事項シートの未回答 376件を1件1タスクで流し込んだ結果、台帳が読めなくなった。
人がやる行動は376個ではなく「未回答の回答をもらう」1個。
ノイズ源は1件に集約し、件数を 内容 に持たせる(refresh: true で毎回更新)。
3. タスクの入れ方は2経路
- pull: 既存の一覧(工程表・チェックシート・在庫表など)を同期時に読む
- push: 生成機能が「やるべき事」を見つけた瞬間に台帳へ登録する
push 側は必ず try/catch で隔離する。台帳登録の失敗が本体の生成を巻き込んではいけない。
戻り値に ledger: { added, updated, skipped }(失敗時 { error })を足して、成功/失敗が呼び出し元から見えるようにする。
4. AI 実行の安全装置(無人で回すなら全部必要)
4.1 二重実行防止は「実行前に書いてフラッシュ」
状態 = 実行中 / 実行日時 = now / ▶AI実行 = false を書く → flush → 本体を実行
チェックを実行前に外すのが要点。これを後回しにすると同じ行が何度も走る。
4.2 外部へ送信する機能は自動実行しない
送信系(取引先へのメール送信・発注・依頼登録)は識別子のリストで明示的に持ち、 自動実行の候補から外す。人がチェックを入れた時だけ実行する。 「生成して下書きを置くだけ」と「外に出る」は必ず分ける。
4.3 失敗は自分でリトライしない
失敗したら 失敗回数 を +1 して止める。3回で 要人手 に落とす。
無人ループが同じ処理を叩き続けると、外部APIのアカウント凍結まで行く。
4.4 実行環境に時間制限があるなら「中断」も失敗として数える
Apps Script はトリガー1実行が6分で強制停止される。強制停止では catch も finally も走らないので、
状態=実行中 のまま残り、次回の再実行がまた同じように殺され、失敗回数が増えないまま永久リトライになる。
対策: 次回実行時に「実行中 かつ 実行日時が30分より前」を見つけたら、
先にタイムアウト1回として失敗回数を +1 してから再実行する。3回で 要人手。
さらに、実測で時間内に収まらない重い処理(LLM に PDF を添付する生成など)は
台帳から実行せず、1起動1ジョブの専用キューへ誘導する。
skipped の理由文に「どこから実行すればよいか」を書く。
5. 「人が直して反映」を全機能に効かせる汎用チャネル
生成機能ごとに引数を増やすと破綻する。実行中だけ立てるグローバルを1つ用意し、 LLM 呼び出しラッパーがそれを user メッセージ末尾に連結する。
var _EXTRA_INSTRUCTION = '';
function setExtraInstruction(text) { _EXTRA_INSTRUCTION = String(text || '').slice(0, 4000); }
function clearExtraInstruction() { _EXTRA_INSTRUCTION = ''; }
// LLM ラッパー内
if (_EXTRA_INSTRUCTION) {
userMessage += '\n\n## 追加の修正指示 (前回の生成結果に対して人が出した指示。最優先で反映する)\n'
+ _EXTRA_INSTRUCTION
+ '\n上の指示と矛盾する既定の書き方は、この修正指示を優先して上書きしてください。';
}
呼び出し側は try { set(修正指示); 実行 } finally { clear() }。
例外時も必ず clear されることをテストする(消し忘れると次の無関係な生成に混ざる)。
6. スケジューリング(時間制限のある実行環境向け)
1つのトリガーに「全件同期 + 実行 + 集計」を詰めると、先頭の重い処理で予算を使い切り1件も実行されない。 役割ごとに分け、各々が自分の予算だけ使う:
| 頻度 | 役割 |
|---|---|
| 10分毎 | 人がチェックした行を拾って 1起動1件だけ実行 |
| 夜 前半 | 全案件の洗い出し(同期のみ) |
| 夜 後半 | 自動実行(生成系のみ・1起動2件まで) |
| 早朝 | 横断ビューの作り直し |
- 全件を舐める処理はカーソルでラウンドロビンにし、1実行の対象件数を固定する (先頭数件だけ永遠に処理される事故も同時に防げる)
- 各ループに時間ガードと
truncatedの戻り値を入れ、上限で落とした件数を黙って捨てない - 行の削除・セル書き込みは連続区間にまとめる。1件ずつAPIを叩く形は件数が伸びた瞬間に壁に当たる (実測: 239行を1行ずつ削除して6分制限で死亡 → 連続区間の一括削除で1回のAPI呼び出しに)
7. 横断ビューは「見るべきもの」だけに絞る
全案件の未完了を全部並べると数百行になって読まれない。
- 既に別のダッシュボードがあるソース(工程表など)は行として並べず件数だけ出す
- 1案件あたりの表示は上限を設け、超過分は
… 他 N 件は案件の台帳での1行を出す(黙って切らない) - 期限切れ・要確認は行の背景色で区別する
8. 復旧コマンドを最初から用意する
無人で動くものは必ず変な状態で止まる。人にシートを手で直させないために、最初から入れておく:
setRow(id, {状態, 修正指示}): 1行を直す。書いた後に read-back して実値を返すpurgeSource(発生源, {dryRun}): 指定ソースの行のうち人が触っていない行だけ削除 (状態=未着手かつ 実行結果が空 かつ 修正指示が空 のみ。1つでも外れたら消さず理由付きで返す)- 既定は
dryRun: true。実行前に「何件消えるか」を必ず見せる
9. テストで固定すべきこと
純関数に切り出してテストする(外部サービスに触らない):
- 重複キーの正規化(表記揺れが同一キーになる)
- マージ規則 1〜7 を1件ずつ。特に
完了/不要/要人手の行が update されないこと、修正指示と実行結果が patch に絶対現れないこと - 2回続けて同じ入力を流すと2回目の追加が0件(冪等)
- 実行前の書き込み順序(
状態=実行中と チェック解除 が本体実行より前) - 失敗3回で
要人手、修正指示が例外時も finally で clear される - 送信系・重い処理が自動実行の候補に入らない
- 削除計画が人の編集済み行を除外し、行番号を降順で返す
10. つまずいた実測メモ
- チェックボックスを大量行に一括挿入すると空行が「残タスク」に化ける。 チェックボックスは値(FALSE)を書き込むので最終行が伸び、中身の無い1000行が集計に入った。 → 追記した行にだけ付ける。読み取り側もID が空の行を捨てる(二重の防御)
- 書式(折り返しなど)は値を書かないので全列に流してよい
- 集約行の件数を更新するには「空セルだけ補完」の例外(
refresh)が要る - 大量書き込みは列単位でまとめる。1セルずつは時間制限に当たる
よくある質問
+「散らばったタスクを1枚に統合し、AIが1件ずつ実行して人が直す「タスク台帳」の作り方」とは何ですか?
複数の機能やシートに散らばった残タスクを1枚に統合し、人がヌケモレを見て、AIが1件ずつ実行し、人が修正指示を書いて再生成させるループを、無人で暴走しない形で回す設計。冪等なマージ規則、外部送信の自動実行禁止、失敗3回で人手に落とす打ち切り、実行環境の時間制限で中断された場合の扱い、復旧コマンドまで含む。
+どれくらいトークン(費用)を節約できますか?
ゼロから開発すると約30万トークンかかりますが、この巻物を使えば約4万トークンで済みます。差し引き約26万トークン(API料金換算で約390円)・87%の節約です。
+どうやって使いますか?
無料です。MDファイルを Claude Code などのAIに読み込ませるだけ。ワンライナーをターミナルに貼れば実装が始まります。要件定義や技術調査を省いて実装だけにトークンを使えます。
+どのAIツールに対応していますか?
claude-code、cursor、codex-cli に対応しています。
+商用利用できますか?
ライセンスは「商用利用可 (再販不可)」です。
🤝 自分でAIを動かすのは、まだ不安…という方へ
この巻物の内容を、AIを使うプロに丸ごと任せることもできます。姉妹サービスAI代行堂なら「LINEで頼むだけで、仕事が完成」。
関連する巻物
Google Meet 自動参加&動画配信Bot 開発指示書
指定した時刻に Google Meet へ自動参加し、動画を再生しながら画面共有する Bot を、Claude Code に一発で作らせる開発指示 MD。朝会の定例動画配信・ウェビナーの自動放送に。
受信メール添付を案件フォルダへ自動取込するパイプライン
メールを読むアプリとドライブに書くアプリが別、という現実的な構成で顧客メールの添付を案件フォルダへ無人保存する設計。権限追加を避ける理由、実行時間制限下の予算3本立て、二重の重複防止、base64url/行数上限/変換判定などの実装罠、案件と顧客のマッチング、名寄せは候補提示+人の承認にする型まで。
Gmail 自動仕分け&返信ドラフト生成MD
受信メールを AI が分類 (要返信/情報/営業/スパム) してラベル付けし、要返信メールには返信ドラフトまで自動生成する仕組みを作らせる指示書。DWD (ドメイン全体委任) 設定手順込み。
この巻物、誰かのトークンも救えます
𝕏 で節約レシートをシェア