Claude Codeで、自律的にエラー対応(Issue/プルリクエスト)できるかやってみた結果。

こんにちは!
九保すこひです(フリーランスのITコンサルタント、エンジニア)

さてさて、最近いくつかClaude Codeの記事を書きましたが、実は時代の流れに乗ってない部分があります。

それが・・・・・・

自律(AIが判断して作業する)

です。

たとえば、Devinは情報収集や計画立案、コーディング、テストまで自分の判断で開発を進めます。

個人的にAIに任せすぎるのは怖いですが「自律」というのは時代のキーワードです。ちゃんとバランスを考えるなら、とても役立ちそうですよね。

そこで「自動化で、何を解決したいか」を考えたところ、思いつきました。

たまに・・・・・・

知らないところで、エラー出てるじゃねーかッ😫

そうです。

私は(ほぼ泣かず飛ばずですが)たくさん個人サイトを運営してるので、どこかでエラーが出ても、気づかないまま放置しちゃったりするわけです。

※前まで、エラーが発生したらメール通知するようにしてましたが、同じエラーでメールが鳴り止まなくなったり、だったら重複をなくす開発をするか、ってなっても「うーん、それだけのためにな・・・」ってなってました。

でも、今はAI時代。それこそ自律的に

  1. 問題点のチェック
  2. エラー内容の解析
  3. その対処

まで実行できるわけです。

ということで、今回は以下のような人のために記事を書いています。
ぜひ最後まで読んでくださいね!

  • 「サイトの保守管理、辛れぇ…(とくに個人サイトは後回し)😫」
  • 「え?やらなくていい苦労??しなくていいだろ!💪」
  • 「繰り返し作業はAIに勝てねーよ。俺達、疲れるし…😅」
  • 「時代の流れに乗り遅れた!今から自律のプロになる!😡」
  • 「AIで●●自動化してますけど?ってドヤりたい(笑)」

「やっぱ中村屋のコロッケ
世界一やなぁ!」

用意するものはたった3つ!

今回の「自律的なエラー対応」を実現するには以下3つが必要です。

  • PostHog:エラーログを管理するサービス(フロントエンド、バックエンド両方に対応。無料枠あり)
  • Claude:スケジュール機能が必要なのでPro以上
  • GitHub:無料アカウントでOK!

ちなみに、MCP接続ができればいいので、これじゃないと駄目ってわけじゃないです。

つまり、

  • エラーログを管理できるもの(代替サービス:Sentry)
  • 生成AI(代替サービス:ChatGPT、Gemini)
  • コード管理(代替サービス:Bitbucket、GitLab)

でもいけるんじゃないでしょうか(注:未検証です)

今回は、先にあげた構成で実装しますね。

PostHogを設置する

PostHogは以下のように多くの環境でつかえます。

  • Capacitor
  • .NET
  • Elixir
  • Go
  • JavaScript web
  • iOS
  • Android
  • Next.js
  • Java
  • Kotlin Multiplatform
  • PHP
  • Python
  • Node.js
  • Flutter
  • React
  • React Native
  • Vue.js
  • Rust
  • Ruby
  • Roblox
  • Unity
  • React Router

今回は、我らがLaravel(PHP)と、(Reactより好きな)Vue.jsに設置します。

まずはPostHogにユーザー登録して、Project tokenを取得しましょう。

※手順がわからない場合はAIに聞いてください。

そして、インストールはClaude Codeで以下のように指示するといいでしょう。

PostHogでエラー監視ができるようLaravel(PHP)とフロント(Vue)両方に導入してほしい。キーは.envにセットする想定。

エラー監視は、

■Laravel
個別の例外に1つずつ仕込むのではなく、storage/logs/laravel.logと同じように標準のログ経路に乗せるだけで自動的に飛ぶ汎用的な仕組みにしてほしい。対象はerror以上のみ(warning/notice/info以下は含めない)。既存の類似のログチャンネル/ハンドラがあればそれと同じ構成に合わせて。

■Vue
実際にブラウザで読み込まれる主要なJSエントリーポイントを確認した上で、そこに初期化コードを入れて。

※作業が完了したら、必ず変更内容をチェックしてください。git statusで変更ファイル一覧を見ればやりやすいでしょう。

そして、わざとエラーを出して、PostHogの「Error tracking」にデータが入ってきていたら成功です!

Claudeから「PostHog」と「GitHub」にMCP接続できるようにする

Claudeなら「設定 > コネクタ」から接続すればいいだけです。

まず、GitHubは公式コネクタが用意されているので簡単に接続できます。

あとは、PostHogですが、こちらも公式MCPがあります。
Claudeのコネクタから、以下のようにしてコネクタを追加してください。

そのまま追加ボタンを押します。

連携/連携させる」ボタンをクリック。

すると、権限の選択ページになります。今回の機能としては読み込みだけでいいので、Read-Onlyを選択するといいでしょう。

そして「Authorize Claude」ボタンをクリックします。

これでClaudeがPostHogにアクセスできるようになりました。
チャットから「PostHogからデータ取ってきて」みたいに言うと、自動でやってくれるようになります。

ClaudeがGitHubのリポジトリにアクセスできるようにする

Claudeとの連携ができていれば「Settings > Applications」から、どのリポジトリをClaudeからアクセスできるようにするか?を指定できるので、該当のリポジトリを選択しておいてください。

※全部のリポジトリを対象にはしないほうがいいです。特にクライアントさんのリポジトリは!

Claude Codeにルーティン(スケジュール)を登録する

では、Claude Codeが定期実行するように「ルーティン」をセットしておきましょう。

追加するプロンプトは以下です。

# 目的
PostHog(Error tracking)を分析して対応する

## 対象GitHubアカウント
SUKOHI

## 対象期間
過去7日間

## 処理手順

### 1. データ取得
PostHog MCPをつかってフロントエンド・バックエンド両方のエラーを取得。

### 2. 重複・既出チェック
各エラー対応前に必ず確認。
- gh issue list --state all --search "<特徴的なキーワード>"
- gh pr list --state all --search "<同上>"
- git log --all -S"<エラーメッセージの一部>" --oneline

もし同じIssueやプルリクエストが存在しない場合のみ作業を続ける。

### 3. 原因調査
取得したエラー内容をつかって原因を特定する。

### 4. Issue/プルリクエストの判断
以下の条件で処理を分岐する。

【Issueの場合】開発者への質問や判断が必要なもの
- タイトル:エラー内容を理解しやすい要約
- 本文に発生URL、影響、PostHogへのリンク、原因調査結果を箇条書きで各5秒以内に理解できるように記載
- assignee:対象GitHubアカウントを指定

【プルリクエストの場合】タイポなど軽微なものや、ロジックがシンプル、よく知られた既知の問題。
- 修正を実装し、既存テストを実行して通ることを確認。該当テストが無ければ追加する
- 本文に原因、修正内容、検証方法、PostHogへのリンクを箇条書きで各5秒以内に理解できるように記載
- 絶対に自動マージしない。
- reviewer:対象GitHubアカウントを指定

そして、他の設定もしておきましょう。

  • 該当するGitHubリポジトリ(複数可)
  • トリガー(いつ実行するか)
  • コネクタ:PostHogだけにする

ちなみに、今回はテストなので、1時間毎に実行するようにしていますが、実際にはプロンプトに書いた期間と合わせてください。

また、Claudeの週間リミットが気になる場合は、リセットの直前にスケジュールしておけば精神的に安心でいられるんじゃないでしょうか(私はビビリなので、そうしてます)

テストサイトで試してみた結果

テストサイトとして、フロントエンドとバックエンド両方にタイポをつくり、必ずエラーが出るようにして試してみました。

まず、PostHogのエラーはこんなカンジ。
このままある程度時間を待ってみましょう。


約6時間後


では、肝心の「自律的なエラー対応」の結果です。
うまくいっているでしょうか・・・・・・🤔

↓↓↓

はい!
プルリクエストが一件入っています。
まずは成功です。

では、中身も見てみましょう。

セキュリティの観点からすべて出しませんが、

  • 原因
  • 修正内容
  • 検証方法
  • PostHogへのリンク

全て指示どおりにつくってくれました。

わーぉ!完璧です。

ちなみに、Claude Codeルーティンはこんなカンジ。

つまり、6回実行されたのに、プルリクエストは1回(2件の修正内容が一緒に入っています)だけなので、ちゃんと必要がない場合はスキップしてるということです。

これなら何回も通知が来ることはありませんね。

すべて成功です👍

おわりに

ということで、今回は時代の流れ「自律的に動くAI」をテーマに記事を書いてみました。

便利ですよね!

ただ、やはり最後は人の目で確認しないといけません。
なので、Claude Codeをつかうと「プルリクエストの確認作業がたまってしまって、忙しくなった😫」状態になります。

あたかも「あ、この本おもしろそう!」って買うけど、積ん読(つんどく)になるみたいなイメージですね。

そして、今回の自律エラー対応は、この状態を加速します。

AI時代のボトルネックは人間だ。
とはよく言われますが、それはホントに感じますね。

また、エラーが多ければClaudeの消費トークンも大きくなるわけで、その辺のバランス感覚も鍛えていく必要がありそうです。

時代の流れについていくのは、簡単じゃないですね。
だから面白いんですけどね(笑)

ぜひ皆さんも有効なやりかたを研究してみてください。
ではでは〜❗

人気パン屋さんのコルネ
めちゃウマかった!
朝一番に行って良かった」

このエントリーをはてなブックマークに追加       follow us in feedly  
お問い合わせ、お待ちしております。
開発のご依頼はこちら: お問い合わせ
どうぞよろしくお願いいたします! by 九保すこひ