playpark
ホーム会社概要サービスソリューションブログお知らせ気軽に相談する
playpark

あらゆる仕事を楽しむ

会社概要サービスソリューション気軽に相談する特定商取引法に基づく表記

© 2019-2026 合同会社playpark All Rights Reserved.

  1. ホーム
  2. ブログ
  3. Claude Code エージェント・安全設計 完全ガイド
  4. AIエージェントが夜中にコードを巡回・修正する「night-patrol」の設計と実践【Claude Code Skills】
ブログ一覧に戻る
技術TipsClaude Code エージェント・安全設計 完全ガイド

AIエージェントが夜中にコードを巡回・修正する「night-patrol」の設計と実践【Claude Code Skills】

AIエージェントが深夜にコードベースを自律巡回し、lint警告・テスト失敗・未対応issueを検出→修正→PRまで自動化する「night-patrol」スキルの設計パターンと安全策を解説。

2026年4月10日18分で読める
Claude CodeAIClaude Code Skills自動化DevOps
AIエージェントが夜中にコードを巡回・修正する「night-patrol」の設計と実践【Claude Code Skills】

Claude Code エージェント・安全設計 完全ガイド

(10記事)
  1. 1.【Claude Code】Agent Teams 実践ガイド — マルチエージェント並列開発でタスクを自動分解する
  2. 2.【Claude Code】worktree並列開発の自動タスク分解と統合 - dev-decomposeで「分けて、束ねる」を設計する
  3. 3.【Claude Code Hooks】テスト自動化で品質を仕組み化 - テスト忘れゼロ件を実現する設定ガイド
  4. 4.【Claude Code Hooks 安全設計】170超のdenyルールとPreToolUseフックで「やらかし」を防ぐ実践パターン
  5. 5.【Claude Code 安全設計】HooksからPermissionsへ — 3つのPythonスクリプトを捨てた理由と移行ガイド
  6. 6.【Claude Code】バグ調査・コード監査を並列で回すAgent Team協調設計 — 収束型マルチエージェントの実装パターン
  7. 7.AIエージェントが同じミスを繰り返さない3つの設計パターン【Claude Code実装例】
  8. 8.AIエージェントが夜中にコードを巡回・修正する「night-patrol」の設計と実践【Claude Code Skills】
  9. 9.【OpenClaw × Slack】AIアシスタント構築実践 - Local LLMからGeminiハイブリッド構成まで
  10. 10.【OpenClaw Docker セキュリティ】CVE対策で学ぶコンテナハードニング実践 — cap_drop ALL から始める安全運用
シリーズ一覧ページを見る

「朝起きたら、昨日のlint警告が全部直ってた」

そんな世界、欲しくないですか? 私たちは本気で作りました。

レビュー待ち・技術的負債、溜まってませんか

開発チームなら心当たりがあるはずです。

  • PRのレビュー待ちが3日目に突入している(もはや化石)
  • // TODO: あとで直す が半年間そのまま
  • lint警告が200件超えて、もう誰も見ていない
  • テストが3つスキップされてるけど、なぜスキップしたか誰も覚えていない

人間は寝ます。でもコードベースの劣化は寝ている間も進む。

この「誰もやりたくないけど、誰かがやらないと積もる」問題に対して、私たちはAIエージェントに夜間巡回させるスキルを作りました。名前は night-patrol です。

night-patrol の全体像 — 4フェーズで回る自律ループ

night-patrolは、コードベースを巡回して問題を見つけ、自分でissueを作り、自分で直し、朝までにレポートを出す自律型スキルです。

Phase 1: Scan    → 問題を見つける
Phase 2: Triage  → 優先度をつけて整理する
Phase 3: Execute → 実際に修正してPRを出す
Phase 4: Report  → 結果をまとめて通知する

1コマンドで全フェーズが回ります。

/night-patrol              # フル実行(Phase 1-4)
/night-patrol --dry-run    # 検出+トリアージまで(修正はしない)
/night-patrol scan --deep  # code-audit-teamを使った深い分析

「寝る前に /night-patrol と打って、朝にレポートを読む」。これが基本の使い方です。

あわせて読みたい

AIエージェントが同じミスを繰り返さない3つの設計パターン【Claude Code実装例】
技術Tips34分

AIエージェントが同じミスを繰り返さない3つの設計パターン【Claude Code実装例】

Claude Codeが同じエラーを繰り返す? 構造化ログ・8軸パターン検出・SKILL.md自動修正の3パターンで解決。CLAUDE.mdへの3行追記から始められる実装例付き。

読む

Phase 1: Scan — 3つのソースから問題を洗い出す

スキャンは3つの独立したスクリプトを並列実行します。

ソーススクリプト何を見つけるか
静的解析scan-lint.shlint警告、型エラー、TODO/FIXME、未使用export、npm audit の脆弱性
テストscan-tests.sh失敗テスト、.skip / .todo でスキップされたテスト
GitHub Issuesscan-issues.sh未アサインかつ対象ラベル付きのissue

プロジェクトの種別(Node.js / Python / Rust...)は自動検出するので、設定不要です。

--deep モード:専門家チームによる多角分析

通常のスキャンに加えて、code-audit-teamを呼び出します。security / performance / architecture の3つの専門エージェントが並列でコードを監査する仕組みです。

ただしコストが高い(1回あたり$5-15)ので、週1-2回の「精密検査」として使うのが現実的です。毎晩の巡回は通常モードで十分。

あわせて読みたい

【Claude Code】Agent Team協調設計 — bug-hunt・code-audit・incident-responseの実装パターン
技術Tips21分

【Claude Code】Agent Team協調設計 — bug-hunt・code-audit・incident-responseの実装パターン

Claude CodeのAgent Team(TeamCreate/SendMessage)で、バグ調査・コード監査・インシデント対応を並列実行する収束型マルチエージェントの設計パターン。3つの実装例とコスト制御の仕組みを解説。

読む

Phase 2: Triage — 「直していいもの」だけを選別する

スキャン結果をそのまま全部直したら大惨事です。ここが night-patrol の設計で一番力を入れたフェーズ。

やっていること(6ステップ)

  1. 重複チェック — 既存のopen issueと照合。「もう報告済み」なら作成スキップ
  2. グルーピング — 同じファイル・同じ原因の検出結果を1つのissueにまとめる
  3. 安全ガードフィルタ — 触ってはいけないもの(後述)を除外
  4. 優先度スコアリング — critical / high / medium / low を自動判定
  5. 依存解析 — issue間のファイル重複を検出し、実行順序を決める
  6. Issue作成 — 新規分だけ gh issue create(ラベル: night-patrol + 優先度)

優先度の基準

Priority対象例
criticalテスト失敗、セキュリティ脆弱性
high型エラー、バグラベル付きissue
mediumlint警告、enhancementラベル付きissue
lowTODO/FIXME、見た目の修正

テスト失敗とセキュリティ脆弱性が最優先。これは議論の余地がないですね。

依存解析と実行プラン

ここが地味に重要です。たとえば issue A と issue B が同じ auth.ts を触る場合、並列で修正するとマージコンフリクトが確定します。

night-patrol は analyze-dependencies.sh でファイル重複を検出し、LLMが論理依存(「Aの修正がBの前提になる」ケース)を判定。結果として以下のような実行プランが生成されます。

{
  "batches": [
    {
      "batch": 1,
      "issues": [456, 789],
      "mode": "parallel",
      "reason": "独立、ファイル重複なし"
    },
    {
      "batch": 2,
      "issues": [123],
      "mode": "serial",
      "depends_on_batch": 1,
      "reason": "#123 は #456 が修正した auth.ts に依存"
    }
  ]
}

独立したissueは並列で、依存があるものは直列で。この判断を自動でやってくれるのが、手動では面倒すぎるところです。

Phase 3: Execute — dev-flow に委譲して修正・PR・マージ

実際の修正は 既存の dev-flow スキルにそのまま委譲します。night-patrol 自体は「何を直すか」を決めるだけで、「どう直すか」は dev-flow に任せる。責務の分離です。

night-patrol → dev-flow → dev-issue-analyze → dev-kickoff
                        → implement → validate → evaluate
                        → git-pr → pr-iterate → pr-review → pr-fix

ブランチ戦略:nightly ブランチで隔離

修正は全て nightly/YYYY-MM-DD ブランチに集約されます。

main
├── dev                      ← 本流。朝にユーザーが確認してマージ判断
└── nightly/2026-04-01       ← night-patrol が作業するブランチ
    ├── PR #1 merged
    ├── PR #2 merged
    └── PR #3 merged

dev に直接マージしないのがポイントです。朝起きて nightly ブランチの差分を確認し、問題なければ dev にマージする。夜中に何が起きたか、全て追跡可能です。

バッチ実行の流れ

各バッチについて以下を繰り返します。

  1. 事前ガードチェック — 累積変更量が上限を超えていたら、残りは全スキップ
  2. 修正実行 — 並列バッチは Task subagent で同時起動、直列バッチは1つずつ
  3. 自動マージ — dev-flow が LGTM を出した PR は nightly ブランチにマージ
  4. 事後ガードチェック — 1issue 完了ごとに累積変更量を再チェック

安全策 — 「暴走しない」ための6つのガード

自律で動くスキルに一番大事なのはブレーキです。アクセルだけの車には乗りたくない(命が惜しい)。

ガード一覧

ガード何を防ぐかデフォルト設定
破壊的変更検出public APIの変更、DBマイグレーション該当issueをスキップ
1issue変更行数上限巨大な修正の混入500行超えでスキップ
denylistパス.env、migrations/ など触ってはいけないファイルglob パターンで指定
denylistラベルdo-not-autofix、needs-discussionラベル名で指定
denylist issue番号人間が手動で対応したいissueissue番号で指定
累積変更量上限nightly ブランチ全体の差分爆発2000行超えで残り全スキップ

--dry-run:まず「何をやるか」だけ見る

初めて night-patrol を導入するとき、いきなりフル実行するのは怖い(当然です)。

/night-patrol --dry-run

Phase 1(Scan)と Phase 2(Triage)だけ実行し、何が検出されて、何を修正しようとしているかをレポートで確認できます。修正は一切行いません。

「dry-run で3回回してみて、判断が妥当だと確認してからフル実行に切り替える」。これが私たちのおすすめの導入パターンです。

設定ファイルで細かく制御

skill-config.json で各ガードの閾値を調整できます。

{
  "night-patrol": {
    "max_lines_per_issue": 500,
    "max_cumulative_lines": 2000,
    "denylist_paths": [".env*", "*.secret", "migrations/"],
    "denylist_labels": ["do-not-autofix", "needs-discussion"],
    "allowed_labels": ["bug", "enhancement", "tech-debt"],
    "telegram_chat_id": null
  }
}

あわせてチェック

15分で課題を整理しませんか?

記事の内容について質問や相談があれば、営業トークなしの15分ヒアリングで整理します。

15分ヒアリングを予約気軽に相談する

Phase 4: Report — 朝のコーヒーと一緒に読むレポート

巡回完了後、Markdownレポートが claudedocs/night-patrol/YYYY-MM-DD.md に出力されます。

# Night Patrol Report - 2026-04-01

## Summary
- 検出: 10件 → トリアージ後: 5件 → 処理: 3件
- ブランチ: nightly/2026-04-01
- 累積変更: 245行

## Completed
| Issue | PR | 変更行数 | 概要 |
|-------|-----|---------|------|
| #456 | #789 | 30 | テスト失敗の修正 |
| #457 | #790 | 95 | 型エラーの修正 |

## Skipped
| Issue | 理由 |
|-------|------|
| #234 | 推定変更行数 > 500 |

## Next Steps
- [ ] nightly/2026-04-01 を確認して dev にマージ
- [ ] スキップされた #234 を手動対応検討

Telegram通知も設定できるので、朝スマホを見た瞬間に結果がわかります(目覚めのコーヒーより先にレポートを読む生活、始まってます)。

他スキルとの連携 — 単独では動かない設計思想

night-patrol の特徴は、既存スキルの組み合わせで動くことです。新しく「修正ロジック」を書いたわけではありません。

night-patrol(オーケストレーター)
├── Phase 1: scan-*.sh(通常)/ code-audit-team(--deep)
├── Phase 2: scripts + LLM判断
├── Phase 3: dev-flow(実装の8割を担当)
│   ├── dev-issue-analyze
│   ├── dev-kickoff → plan → implement → validate → evaluate
│   ├── git-pr
│   └── pr-iterate → pr-review → pr-fix
├── Phase 4: generate-report.sh + Telegram
└── skill-retrospective(ジャーナルログ)

dev-validate との関係

dev-validateはコミット前の品質ゲートです。night-patrol が修正した PR も、dev-validate のチェックを通ります。品質基準は昼も夜も同じ。

skill-retrospective との関係

巡回が完了すると、skill-retrospectiveのジャーナルに実行結果を記録します。「何件検出して、何件処理して、何件スキップしたか」が蓄積され、night-patrol 自体の改善にもフィードバックが回ります。

スキルが自分の実行結果を記録し、その記録からスキル自体が改善される。この自己改善ループについては前回の記事で詳しく書きました。

導入のステップ

「面白そうだけど、うちでも使えるの?」という声が聞こえます。段階的に導入する方法を紹介します。

Step 1: dry-run で現状把握(5分)

/night-patrol --dry-run

まずはコードベースに何件の「放置された問題」があるかを知るだけ。これだけでも価値があります(見たくない現実が見える、という意味でも)。

Step 2: max-issues で控えめに始める(翌日の朝確認)

/night-patrol --max-issues 3

最大3件だけ修正。朝に nightly ブランチを確認して、修正の質を評価します。

Step 3: 設定を調整してフル実行

denylist や変更行数上限を自分のプロジェクトに合わせて調整し、制限なしで回す。

ここまで来れば、「寝ている間にコードが綺麗になっている」体験が日常になります。

まとめ

night-patrol は「AIエージェントに夜間巡回させる」という、一見すると大げさな話です。でも中身は地味で堅実。scan → triage → execute → report の4フェーズを、既存スキルの組み合わせと6つの安全ガードで制御しているだけです。

大事なのは、自律で動くからこそブレーキの設計に全力を注ぐこと。dry-run から始めて、信頼できると確認してから範囲を広げる。この段階的なアプローチが、人間とAIエージェントの信頼関係を作ります。

lint警告200件、放置されたTODO、スキップされたテスト。朝起きたらそれが片付いている世界は、もう手の届くところにあります。

Claude Code エージェント・安全設計 完全ガイド — この記事を含む10本の記事で、エージェント活用・Hooks安全設計・並列開発を体系的に解説しています。

8 / 10 記事
前の記事
AIエージェントが同じミスを繰り返さない3つの設計パターン【Claude Code実装例】
次の記事
【OpenClaw × Slack】AIアシスタント構築実践 - Local LLMからGeminiハイブリッド構成まで
シリーズ一覧を見る

この技術が解決した業務課題

記事の技術が実際のプロジェクトでどう活かされているかをご紹介します

【自社導入事例】ブログ運用を完全自動化 - GitHubリポジトリから記事・サムネイル・SNS投稿まで

「ブログ書くのしんどい」「SNS投稿めんどくさい」を解決。GitHubリポジトリから記事生成、サムネイル作成、SNS投稿文まで自動化した、playpark自身の導入事例を紹介します。

事例を読む

【AI採用管理】Gemini API × Next.jsで書類選考を自動化した受託開発事例

Gemini APIとNext.jsで採用書類選考を自動化。中小企業の採用DXをplayparkが受託開発で支援した事例をご紹介します。

事例を読む

【AIシフト管理】AIが提案して店長が決める - 「全自動が不安」なサロンのためのシフト最適化

「AIに全部任せるのは怖い」という店長さんへ。Shift Budの「AI提案→人が判断」ワークフローなら、AIの提案と差分を確認してから採用できます。完全自動化ではなく、人の判断を残したシフト管理の新しいかたちを紹介します。

事例を読む
AI開発の導入支援

Claude CodeやAIコーディングツールの導入・カスタマイズでお困りですか?playparkでは、AI開発環境の構築から運用まで、実践に基づいた技術支援を行っています。

サービス
AI開発について相談する
ブログ一覧に戻る

関連記事

すべての記事
AIエージェントが同じミスを繰り返さない3つの設計パターン【Claude Code実装例】
技術Tips
2026年3月26日34分で読める
AIエージェントが同じミスを繰り返さない3つの設計パターン【Claude Code実装例】

Claude Codeが同じエラーを繰り返す? 構造化ログ・8軸パターン検出・SKILL.md自動修正の3パターンで解決。CLAUDE.mdへの3行追記から始められる実装例付き。

Claude CodeAIClaude Code Skills+2
【Claude Code×営業管理】SFA不要。Git+YAML+Skillで営業パイプラインを自動化した話
実験レポート
2026年4月1日23分で読める
【Claude Code×営業管理】SFA不要。Git+YAML+Skillで営業パイプラインを自動化した話

SFA/CRMを使わず、Claude Code SkillでGitリポジトリの営業パイプラインを自動化。Gmail同期・議事録生成・企業分析・メール下書きまで14サブコマンドで完結する設計と実運用を紹介します。

Claude CodeClaude Code Skills業務自動化+3
【SEO自動化】GA4 × GSC × Google Trendsでコンテンツを自動提案する — エンジニアが作るSEO企画パイプライン
技術Tips
2026年3月25日31分で読める
【SEO自動化】GA4 × GSC × Google Trendsでコンテンツを自動提案する — エンジニアが作るSEO企画パイプライン

GA4・GSC・Google Trendsのデータを3段パイプラインで統合し、SEOスコアリングで記事ネタを自動提案するスキル群の設計を解説。マーケ感覚ゼロのエンジニアでも、データが「次に書くべき記事」を教えてくれる仕組みを作りました。

Claude CodeClaude Code SkillsSEO+3

この技術、実際の現場ではこう使われています

記事で紹介した技術が、実際のビジネス課題をどう解決したか。導入事例で具体的なイメージをつかめます。

導入事例を見る気軽に相談する