0
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と仕事して学んだ冪等性という概念

0
Last updated at Posted at 2026-02-28

title: 「何回やっても同じ結果」——非エンジニアがAIと仕事して学んだ冪等性という概念
tags: ClaudeCode,AI,設計,非エンジニア,API
private: false
updated_at:
id: null
organization_url_name: null
slide: false

送信ボタンを2回押したことがあるか

フォームの送信ボタンを押したとき、反応が遅いから「押せてないかな?」ともう一度押した。後で確認したら注文が2件入っていた。

これは笑い話ではなく、設計の問題だ。「ボタンを2回押したら2件入るシステム」と「2回押しても1件しか入らないシステム」は、仕様として別物だ。

この違いに名前がついている。**冪等性(べきとうせい)**だ。


冪等性とは何か

数学的な定義は難しいので捨てる。実用的な定義だけ:

同じ操作を何回繰り返しても、結果が変わらない性質。

送信ボタンの例で言うと:

  • 冪等ではないシステム: 2回押したら2件注文が入る
  • 冪等なシステム: 何回押しても「最終的に注文が1件ある状態」になる

どちらが良い・悪いかではなく、設計として意図的に選択するものだ。


AIと仕事して初めて実感した冪等性

Claude Codeを使ってZennに記事を投稿するシステムを作ったとき、APIの仕様で実感した。

Zennの記事APIには2種類の操作がある。

POST(新規作成): 呼ぶたびに新しい記事が作られる
PUT(内容更新): 何回呼んでも最終的な内容は同じになる

POSTは非冪等、PUTは冪等だ。

そしてやらかした。エラーが返ってきたと思って、POSTを2回叩いた。実際にはレスポンスを正しく解析できていなかっただけで、1回目は成功していた。結果:ゴースト記事が2個Zennのダッシュボードに出現した。

これは「POSTが非冪等である」という設計を理解していなければ起きない事故ではない。でも知らないとハマる。


冪等性の実例一覧

エンジニアが当然のように使っている冪等性の例を並べる。

冪等な操作

  • GET(取得): 何回見ても情報は変わらない
  • PUT(上書き更新): 「このIDの記事の本文を〇〇にする」→ 何回やっても最終状態は同じ
  • DELETE(削除): すでに存在しないものを削除しようとしてもエラーにしない設計

冪等でない操作

  • POST(新規作成): 呼ぶたびに新しいリソースが生まれる
  • 「1追加する」処理: 何回も実行すると数字がどんどん増える

非エンジニアが直感的に理解できる場面

Excel/Googleスプレッドシートのマクロ:
「B列の数字を2倍にする」マクロを2回実行したら4倍になった。これは冪等ではない設計。「B列の数字がA列の2倍になっていない場合だけ修正する」マクロにすれば冪等になる。

Slackのリマインダー:
「月曜日にリマインダーを送る」設定は冪等。何回設定しても月曜日に1回届く(重複排除が設計されている)。

重複実行が怖いバッチ処理:
夜間処理が失敗して再実行したら、同じデータが2回処理されて二重請求が発生した——これは冪等性のない設計の典型的な事故だ。


知ってから変わった設計の考え方

冪等性を知ってから、「これは何回やっても大丈夫か?」という問いを持つようになった。

Claude Codeで自動化スクリプトを書くとき、「このスクリプトが2回実行されたらどうなるか」を必ず考える。

  • ファイルへの書き込み → 追記か上書きか
  • APIの呼び出し → POST(新規)かPUT(更新)か
  • データベースへの挿入 → 重複チェックが必要か

エラーが起きたとき、再実行できるかどうかはシステムの信頼性に直結する。再実行しても安全なシステム(冪等なシステム)は、障害に強い。


まとめ

冪等性(Idempotency)——何回やっても同じ結果になる性質。

非エンジニアにとってこの概念は「APIの話」ではなく、日常のシステム設計の話だ。ボタンを2回押しても安全か。マクロを再実行しても大丈夫か。バッチ処理が失敗して再起動したとき、データは壊れないか。

この問いを持つだけで、システムの設計が変わる。


この記事は「非エンジニアがAIと仕事して初めて知ったエンジニア概念」シリーズの1本。前回:Single Source of Truth(SSOT)


Claude Codeのトークン消費パターンが気になる方はToken Checkup(無料・ブラウザで完結)で診断できます。


📖 トークン消費に困っているならClaude Codeのトークン消費を半分にする——800時間の運用データから見つけた実践テクニック(¥2,500・はじめに+第1章 無料)

📖 AIで事業を回す実体験を全記録Claude Code×個人事業 800時間の全記録(¥800・第2章まで無料)


⚠️ Opus 4.7をお使いの方へ(2026年4月)
Opus 4.7で安全分類器の不具合・トークン消費急増が報告されています。Safety Scannerで設定を無料チェック。対策はSurvival Guideを参照。

0
0
0

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
0
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?