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?

Human Approvalという思想

0
Posted at

1. リード

つながったあとに来るのは、いつも同じ問いだ。「じゃあ、AI にやらせていいのはどこまで?」技術的にできることと、運営として許すことは、一致しない。一致しないまま進むと、速さは事故になる。Kagoshimaniax OS では、その境界に Human Approval という名前を付けた。人間の承認。短い言葉だが、思想として長く効く。

私はコードを書けない。だから「承認フローを実装した」というより、「承認なしでは進めない文化を置いた」感覚に近い。文化は、ボタンより強いことがある。ボタンは迂回される。文化は、会話の最初に戻る。

2. 背景

Vol.03 で AI の暴走を書いた。止め方は、範囲を狭くすること、書き込みを後回しにすること、記録を残すことだった。Connector Platform で読み取りと日次蓄積が回り始めると、次の诱惑が来る。「読めるなら書けるのでは?」「提案まで自動化できたのだから、実行も?」

诱惑は悪意ではない。効率化の延長だ。だが地域メディアの本番は、実験場ではない。記事、SEO 設定、キャッシュ、SNS——一つのミスが、検索と信頼に効く。効くものを、モデルの自信に委ねる理由はない。モデルは責任を引き受けない。引き受けるのは、朝の 10 分を使う人間だ。

だから思想を先に置いた。AI は提案者。本番の変更は、人が承認する。

Human Approval の原則

3. 今回のテーマ

テーマは、Human Approval を思想として採用し、操作の安全分類まで落とし込んだことだ。

自動化してよい領域と、承認が要る領域を分ける。コネクタによる日次取得、レポート生成、バックアップ——こうした読み取り中心の処理は、原則として自動化の側に置ける。一方、公開、削除、設定変更、SNS 投稿——本番に触れる操作は、承認なしでは実行しない。これは機能のリストではなく、運営の約束だ。

4. 実際の出来事

思想が文書になったのは、書き込み系 MCP の棚卸しからだった。WordPress、SEOPress、WP Rocket、Imagify、Obsidian、Metricool——「できること」は、一度並べると怖いほど多い。並べたあと、色を付けた。Green、Yellow、Red。色は、直感を助ける。直感は、非エンジニアの判断速度を上げる。

docs/action-safety-policy.mddocs/automation-policy.md に落ちた言葉は、難しくない。「提案までは自動でよい。本番操作は Human Approval 必須。」繰り返し書くことで、AI への依頼文にも染み込む。染み込むと、いきなり「設定を変えて」と言われにくくなる。

思想を試すには、小さな Green 操作が要った。Step45 で Obsidian の create-note を、Human Approval 付きで実装した。承認チェックがないとボタンは動かない。ロジックでも拒否される。上書きはしない。監査ログには本文ではなくハッシュだけ。本番サイトには触れない。失敗しても傷が浅い場所で、承認の型を学ぶ。

Step46 では WP Rocket の retest-page-insights を同じ枠に載せた。キャッシュ系は怖い。だから承認前に Safety 表示、実行後の確認、JSONL の監査——共通フローを再利用した。再利用は、思想が機能になった証拠だ。

自動化と承認の境界

失敗談: 私はしばしば、「Green なら承認いらないのでは?」と言いかけた。早く楽になりたい気持ちは分かる。だが Version 0.5 では、Green でも Human Approval を付けると決めていた。付ける理由は、習慣を作るためだ。最初から例外を増やすと、例外が標準になる。標準が「とりあえず実行」になると、Red の操作が紛れ込む。

もう一つの失敗は、承認を形だけにすることだ。チェックボックスに印を付けて、内容を読まない。形だけの承認は、承認の否定だ。だから確認画面に Safety 表示を置いた。何が起きるかを、実行前に言葉にする。言葉にできない操作は、実行しない。

三つめは、まだ開放していない操作への焦りだった。SEOPress のタイトル変更、Imagify の圧縮——将来の Must 候補として見えている。だがロールバック方針が固まらないものを、承認付きだから安全、とは言えない。思想は、未準備の操作を止める力にもなる。

信頼の組み立て

信頼は、一発の自動化ではなく、何度も承認を挟んだ履歴から生まれる。履歴は、監査ログとテストに残した。承認なし実行不可を単体テストで確認できたとき、初めて「思想」が「仕様」になった感覚があった。

Actions 画面を初めて開いた日のことを覚えている。ボタンは目立つ。目立つボタンは、押したくなる。押したくなる設計は、危ない。だから承認チェックがないと disabled のままだ、と確認した。確認は、子どもの頃の「押すな」と書いてあるボタンと同じ安心感だった。遊びではなく、本番の隣で遊ばないための UI だ。

Obsidian の create-note を試したとき、上書きできない仕様が逆に心強かった。失敗しても既存ノートは壊れない。壊れないことは、非エンジニアが初めて書き込みに触れる条件だ。条件が揃って初めて、WP Rocket のような本番近い操作に進める。順番を飛ばしたくなる気持ちは、毎回来る。来るたびに思想が止めてくれる。

Metricool の OAuth や日次コネクタは、承認なしで回る側に置いた。ここを混同すると、「全部承認」も「全部自動」もどちらも破綻する。破綻は、現場の言葉で言うと「何を信じていいか分からない」状態だ。その状態が一番、朝の 10 分を奪う。

Vol.03 で暴走を止めた話は、今読み返すと Human Approval の前置きにも見える。止め方は「やらない」だった。思想は「やるが、承認する」へ進化した。進化は、否定からではなく、境界の精密化から来た。精密化は、レビューと文書が支えた。支えがなければ、思想はスローガンで終わる。

SNS や公開の話が出たとき、私はいつも一度手を止めた。止める理由を言語化するのが苦手だった。苦手なまま進むと、あとで「なぜ許したか」が説明できない。説明できない許可は、事故の温床だ。だから automation-policy に「投稿は Human Approval 必須」と明文化した。明文化は、未来の自分への手紙だ。

5. 考えたこと

Human Approval は、AI 不信ではない。AI を使い続けるための条件に近い。提案は歓迎する。調査、下書き、比較、リスク列挙——ここは任せた方が速い。任せた先で、最後の一押しだけ人が持つ。一押しの重さを知っているから、提案の質も上がる。上がるのは、責任の所在が明確だからだ。

また、承認は遅さではない。遅さは、判断を省略しないことのコストだ。省略した判断は、夜に返ってくる。返ってきたときの方が高い。朝の 10 分は、承認を含めた設計で守るべき時間だ。

非エンジニアにとって思想は、コードより書ける。書いた思想は、ADR や CHANGELOG と一緒に育てられる。育てると、レビューの基準になる。基準があると、実装の速さに振り回されにくい。

Human Approval は、将来の AI 機能を先送りするための言い訳ではない。むしろ逆で、AI を本番に近づけるための条件だ。提案の質が上がれば、承認する判断も速くなる。速くなるのは、内容を理解しているからだ。理解は、丸投げからは生まれない。対話と文書と、一度だけの小さな実行が、理解を積み上げる。

Red の操作を未配線のまま残すことも、思想の一部だ。「できるが止めている」は、弱さではなく設計だ。設計を語れるようになると、ステークホルダー——この場合は未来の自分——に説明できる。説明できることは、運営 OS の資産になる。

6. 学び

  • 技術的に可能なことと、運営として許すことは別物
  • コネクタ・レポート・バックアップは自動化、本番変更は承認
  • Green でも最初は承認を付け、習慣を作る
  • 小さくて浅い操作で承認フローを検証できる
  • 監査ログとテストが、思想を仕様に固定する
  • 未準備の操作は、承認があっても開放しない

7. 次回予告

次は、思想を支えたもう一つの柱——レビューと文書化——を書く。実装より、レビューの方が効いた日々の話だ。


シリーズ情報

項目 内容
Season 1
Vol 07
現在の開発 Version 1.0.0-rc1
GitHub https://github.com/boraemon2000/kagoshimaniax-os/tree/main/docs/qiita

次回予告

Vol.08「レビューの方が実装より重要だった」
Documentation First、ADR、Architecture Review——止まって見えた時間の話を書きます。

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?