Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ガチで放置できるClaude Code実行環境の作り方.pdf

Avatar for Lamaglama39 Lamaglama39
October 24, 2026

ガチで放置できるClaude Code実行環境の作り方.pdf

Avatar for Lamaglama39

Lamaglama39

October 24, 2026

More Decks by Lamaglama39

Other Decks in Technology

Transcript

  1. ⾃⼰紹介 赤池 悠 ( あかいけ ) Twitter:@lamaglama39 ブログ: DevelopersIO あかいけ

    好きな permission mode は auto mode で す。 去年のDevIOの登壇は「クラスメソッド しいた け」で調べてください。 2
  2. アジェンダ • • • • • • • ガチで放置するただ⼀つの⽅法 放置する範囲を決める

    安全に放置する環境作り 効率的に放置する環境作り ⾃動で放置する環境作り 現時点の到達点 これから考えるべきこと 3
  3. まず、auto modeとは…何か。 • • • ツールを実⾏するたびに、 ⼈間の代わりに 分類器 が「実⾏してよいか」を判断するパーミッションモード 安全な操作

    ◦ 承認なしでそのまま実⾏ 危険な操作 ◦ ブロック。Claudeは理由を受け取り、別の⼿段を探す ◦ 例:force push、git reset --hard、terraform destroy、本番デプロイ、認証情報 の外部送信、curl | bash v2.1.283以降は全プランで対話セッションの初期モードがautoになっている 出典:Claude Code Docs「Choose a permission mode」 https://code.claude.com/docs/en/permission-modes 7
  4. auto modeのここがすごい。 • • • ⼿動承認 auto mode bypass Permissions

    定期的に⼈間が承認する 分類器が実⾏前に判断する すべて許可する 安全だが、作業が進まない 危ない操作だけをブロックする 速いが、何でも実⾏される ユーザーが頼んだ内容と照らして判断し、頼まれていない破壊的な操作はブロックする ツールの実⾏結果に混ざったプロンプトインジェクションも、別の仕組みで検査する ブロックされても終わらず、別のやり⽅を探す (3回連続、または合計20回ブロックされると⼿動承認に切り替わる など) 出典:Claude Code Docs「Choose a permission mode」 https://code.claude.com/docs/en/permission-modes 出典:Anthropic「How we built Claude Code auto mode: a safer way to skip permissions」 https://www.anthropic.com/research/claude-code-auto-mode 8
  5. auto modeがない世界 • 承認プロンプトの約93%は、そのまま承認されている • ⼈間= YES係 承認する意味ある…?? 出典:Anthropic「How we

    built Claude Code auto mode: a safer way to skip permissions」 https://www.anthropic.com/research/claude-code-auto-mode 9
  6. 放置する割合を考える。 • • • 最初(⼈間) 途中(Claude Code) 最後(⼈間) ゴールと完了条件を渡す 実装‧検証‧修正を繰り返す

    受け⼊れるかを決める 放置の割合 = 途中で⼈間が呼ばれる回数 完了条件は、機械で判定できる形で渡す (例:npm run checkがすべて通る) ⻑く動かしたこと⾃体は成果ではない 14
  7. ざっくり放置パターン。 タスク単位 1つの作業 (例:技術調査) • トピック単位 ゴールとループ 複数の⼯程をまとめた作業 完了条件を満たすまで実⾏ (例:アーキテクチャ設計から

    IaCまで) (例:検証環境にデプロイできる まで) 右に⾏くほど⻑く放置できる…。 そのぶん完了条件の書き⽅が⼤事になる 出典:Claude Code Docs「Run prompts on a schedule」 https://code.claude.com/docs/en/scheduled-tasks 出典:Claude Code Docs「Hooks reference」 https://code.claude.com/docs/en/hooks 15
  8. 安全対策は3段階で考える。 お願い CLAUDE.md、Skillsなど 確率的。 すり抜けることがある • • ブロック permission deny‧Hooks

    決定論的。 合致すれば必ず⽌まる 隔離 実⾏環境の隔離 構造的。 そもそも実⾏できない 元に戻せる失敗 ◦ ブロックした上でClaudeに修正させる 元に戻せない失敗 ◦ 実⾏できないよう隔離する 17
  9. 危険な操作をブロックする。 • パーミッション ◦ ◦ denyルールで禁⽌する操作と対象を明⽰する ただしBashのルールは⽂字列⼀致なので、書き⽅ を変えるとすり抜ける "deny": [

    "Read(./.env)", "Read(~/.aws/credentials)", "Bash(git push --force *)" ] • Hooks ◦ ◦ ツール実⾏前にスクリプトで検査し、ブロックする テストのスキップなど、意図的に検査を回避操作も 含めてブロックしたい 出典:Claude Code Docs「Configure permissions」 https://code.claude.com/docs/en/permissions 出典:Claude Code Docs「Hooks reference」 https://code.claude.com/docs/en/hooks 18
  10. 実⾏環境を丸ごと隔離する。 • サンドボックス ◦ Bashコマンドの書き込み先と通信先をOSレベルで制限する ▪ ▪ ローカルファイルの書き込める範囲を制御できる 外部通信先を許可したドメインだけに制御できる •

    コンテナ ◦ ◦ ◦ dev container で環境ごと分離する 何が起きても困らない場所で動かす サンドボックスより厳格に隔離できる 出典:Claude Code Docs「Configure the sandboxed Bash tool」 https://code.claude.com/docs/en/sandboxing 出典:Claude Code Docs「Development containers」 https://code.claude.com/docs/en/devcontainer 19
  11. 外部接続を制御する。 機密データを読める 社内資料‧認証情報 • • • × 外部の⽂章を読み込む メール‧チャット‧Webページ ×

    外部へ送信できる メール送信‧API‧Webhook 上記がそろうと、外部の⽂章に仕込まれた指⽰(プロンプトインジェクション)で情報を 持ち出すことが可能になる MCPのトークンは最⼩権限(できれば読み取り専⽤)にし、使うツールだけ許可する 役割分担を決める ◦ 例:AIは下書きまでOK、送信するのは⼈間 出典:Simon Willison「The lethal trifecta for AI agents」 https://simonwillison.net/2025/Jun/16/the-lethal-trifecta/ 出典:Claude Code Docs「Connect Claude Code to tools via MCP」 https://code.claude.com/docs/en/mcp 20
  12. インプットを正確にする。 • MCP ◦ ◦ ◦ Backlog、Slack、AWSドキュメントなどの⼀次情報を直接読ませる ⼈間がコピペ係にならない 正確な情報を与えることで、結果的にアウトプットの精度が向上する 出典:Claude

    Code Docs「Connect Claude Code to tools via MCP」 https://code.claude.com/docs/en/mcp 出典:Claude Code Docs「How Claude remembers your project」 https://code.claude.com/docs/en/memory 22
  13. 並列してタスクを実⾏させる。 • サブエージェント ◦ ◦ ◦ 別のコンテキストで動く専属担当 調査‧レビュー‧検証など「時間がかかる仕事」を任せ、結果だけ返させる .claude/agents/に役割‧使えるツール‧モデルを定義しておく ▪

    ◦ 調査のような軽い仕事には、安いモデルを指定すると費⽤も下がる 実運⽤では単体で利⽤するというより、Skillsに書いておいて勝⼿にサブ エージェントを使ってもらうことが多い気がする 出典:Claude Code Docs「Create custom subagents」 https://code.claude.com/docs/en/sub-agents 23
  14. 複数のアウトプットをいい感じに管理する。 • Git Worktree ◦ 1タスク=1ワークツリー=1ブランチ ▪ ▪ ◦ ◦

    claude -w <名前>でワークツリーを作って起動 サブエージェントもisolation: worktreeで分離できる 並列セッションによる、同じファイルに対するコンフリクトを回避できる 1タスク=1PRになり、レビューの単位を適切に分割できる 出典:Claude Code Docs「Run parallel sessions with worktrees」 https://code.claude.com/docs/en/worktrees 出典:Claude Code Docs「Create custom subagents」 https://code.claude.com/docs/en/sub-agents 24
  15. アウトプットを安定させる。 • • 毎回指⽰している場合は、セッション開始時に読ませる 複数のセッションで同じ間違いをしたら、どこかに記載しよう 読み込ませたいタイミング 置き場所 例 毎回 CLAUDE.md

    案件の前提、禁⽌事項 特定のファイルを扱うとき Rules(.claude/rules/) Terraformの命名規則 特定の作業をするとき Skills 稼働報告の書き⽅、⽇本語校正 応答の形を決めたいとき Output styles 報告の構成、⼝調 ツール実⾏前後で必ず実⾏したい Hooks 編集後のリンター(次のスライド) 出典:Claude Code Docs「How Claude remembers your project」 https://code.claude.com/docs/en/memory 出典:Claude Code Docs「Extend Claude with skills」 https://code.claude.com/docs/en/skills 出典:Claude Code Docs「Output styles」 https://code.claude.com/docs/en/output-styles 25
  16. アウトプットを⾃動で校正させる。 • • Hooksでファイル編集時にリンターを⾛らせ、Claudeに修正させる 実⾏する場所を複数⽤意する 実⾏する場所 タイミング すり抜け 役割 Claude

    CodeのHooks ファイルを編集するたび 設定で無効にできる すぐ気づかせて直させる Git hooks コミット前 --no-verifyで抜けられる ⼈もAIも同じ検査を通る CI PRの作成‧更新時 抜けられない 最後に必ず⽌める 出典:Claude Code Docs「Hooks reference」 https://code.claude.com/docs/en/hooks 出典:Claude Code Docs「Output styles」 https://code.claude.com/docs/en/output-styles 26
  17. スケジューリングで定期タスクに対応する。 • 決まった仕事を決まった時間に動かす ◦ 毎朝:メールと予定からTODOを作る ◦ 毎⽇:AWSアップデートをまとめる ◦ 毎週:稼働報告を下書きする ⼿段

    動く場所 PCを閉じたら /loop 今のセッション ⽌まる Desktopアプリの定期タスク ローカル ⽌まる /schedule クラウド 動き続ける 出典:Claude Code Docs「Run prompts on a schedule」 https://code.claude.com/docs/en/scheduled-tasks 出典:Claude Code Docs「Schedule recurring tasks in Claude Code Desktop」 https://code.claude.com/docs/en/desktop-scheduled-tasks 出典:Claude Code Docs「Automate work with scheduled tasks」 https://code.claude.com/docs/en/routines 28
  18. ⾃動のトリガーで⾮定期のタスクに対応する。 • イベントをきっかけに、⼈間がターミナルを開かなくても作業が始まる きっかけ 起動のしかた GitHub IssueやPRのコメントで@claude(GitHub Actions) Backlog Webhook

    → /scheduleのAPIトリガー Gmail /scheduleの定期巡回で拾う 出典:Claude Code Docs「Claude Code GitHub Actions」 https://code.claude.com/docs/en/github-actions 出典:Claude Code Docs「Claude Code in Slack」 https://code.claude.com/docs/en/slack 出典:Claude Code Docs「Automate work with scheduled tasks」 https://code.claude.com/docs/en/routines 29
  19. リモート環境で実⾏させ続ける。 • • クラウドで動かせる仕事はクラウドへ移す ローカルに残る仕事は、Remote Controlで様⼦を⾒て、必要なときだけ返事をする 実⾏する場所 PCを閉じたら 向いている仕事 ローカル

    ⽌まる 社内環境や⼿元の認証情報が要る仕事 クラウド(claude --cloud) 動き続ける リポジトリの中で完結する仕事 Remote Control(/rc) ⽌まる ローカルの仕事をスマホから⾒守る 出典:Claude Code Docs「Use Claude Code in the cloud」 https://code.claude.com/docs/en/claude-code-on-the-web 出典:Claude Code Docs「Continue local sessions from any device with Remote Control」 https://code.claude.com/docs/en/remote-control 30
  20. PCを起動させ続ける。 • • それでも、ローカルでしか動かせない仕事は残る スリープを防⽌して実⾏させ続ける ◦ ◦ • • Claude

    Desktopの設定「Keep computer awake」 macOSならcaffeinate -i や Amphetamine ただし画⾯ロックは忘れずに そして電源ケーブルを忘れずに 出典:Claude Code Docs「Schedule recurring tasks in Claude Code Desktop」 https://code.claude.com/docs/en/desktop-scheduled-tasks 出典:macOS標準コマンドのマニュアル(ターミナルでman caffeinateを実⾏) 31
  21. Q.何をレビューするべきなのか。 • • 着⼿前 途中 最後 ゴールと受け⼊れ基準 ⽅針やトレードオフの判断 お客様に出す成果物 全部の差分を⾒るのはやめて、⼈間は3か所だけ⾒る

    それ以外は、リンター‧テスト‧AIレビューを重ねて検査する。 ⾒逃す箇所がそれぞれ違うので、それぞれ活⽤する必要がある 出典:Latent Space「How to Kill the Code Review」 https://www.latent.space/p/reviews-dead 出典:Martin Fowler「Harness engineering for coding agent users」 https://martinfowler.com/articles/harness-engineering.html 38
  22. A.可愛い Claude Code には旅をさせよう。 • • • 消えていく指⽰ 残す仕組み モデルの弱点を補う注意書き

    テスト‧権限‧隔離 例:「省略せずに全部書いて」 案件固有のルール モデルが賢くなるほど、古いモデル向けの細かい指⽰は⾜かせになる 定期的にCLAUDE.mdやSkillsを棚卸しする。 ◦ いったん全部消して、困った箇所だけ書き直す 任せる範囲を定期的に広げる 出典:Claude Platform Docs「Prompting best practices」 https://platform.claude.com/docs/en/build-with-claude/prompt-engineering/claude-prompting-best-practices 41
  23. 参考資料 Anthropic「How we built Claude Code auto mode: a safer

    way to skip permissions」 Claude Code Docs「Choose a permission mode」 Claude Code Docs「Configure permissions」 Claude Code Docs「Hooks reference」 Claude Code Docs「Configure the sandboxed Bash tool」 Claude Code Docs「Schedule recurring tasks in Claude Code Desktop」 Claude Code Docs「Automate work with scheduled tasks」 Claude Code Docs「Claude Code GitHub Actions」 Claude Code Docs「Claude Code in Slack」 Claude Code Docs「Use Claude Code in the cloud」 Claude Code Docs「Development containers」 Claude Code Docs「Continue local sessions from any device with Remote Control」 Claude Code Docs「Connect Claude Code to tools via MCP」 Claude Platform Docs「Prompting best practices」 Claude Code Docs「How Claude remembers your project」 Simon Willison「The lethal trifecta for AI agents」 Claude Code Docs「Create custom subagents」 Martin Fowler「Harness engineering for coding agent users」 Claude Code Docs「Run parallel sessions with worktrees」 Latent Space「How to Kill the Code Review」 Claude Code Docs「Output styles」 Claude Code Docs「Extend Claude with skills」 Claude Code Docs「Run prompts on a schedule」 44