はじめに
Claude Code Desktopに最近スケジュール機能が追加されました。時間や頻度を指定してClaude Codeを定期実行できるようになった機能です。
もともとこういった定期実行はcronやGitHub Actionsで実装している人が多かったと思いますが、Claude自体にスケジュール機能が組み込まれたことで、セットアップのハードルがかなり下がりました。
自分はまずブログの自動生成に使い始めたのですが、次のステップとして開発そのものを自動化できないかと考えて試してみました。この記事ではその仕組みと結果、今後の課題についてまとめます。
Claudeスケジュール機能とは
Claudeでタスクを定期実行する手段は、大きく2つあります。
| 手段 | 特徴 | 制約 |
|---|---|---|
| Claude Code Desktopのスケジュール | サイドバーの「Schedule」からGUIで設定。Hourly/Daily/Weekdays/Weeklyなどの頻度を選択可能。アプリの再起動後も永続的に動作する | デスクトップアプリが開いていてPCが起動中である必要がある |
Claude Codeの/loopコマンド |
CLIからワンライナーで定期実行を設定可能 | セッション内でのみ動作し、72時間(3日間)で自動停止する |
今回自分が使ったのはClaude Code Desktopのスケジュール機能です。サイドバーの「Schedule」→「+ New task」からタスクの名前・プロンプト・頻度を設定すると、指定した間隔でClaudeが自動的に新しいセッションを立ち上げて実行してくれます。/loopと違って再起動しても消えないので、自動開発のような継続的な用途に向いていました。
まずはブログ自動生成から始めた
最初に試したのは、このブログのAIニュース記事の自動生成です。毎朝9時にスケジュールを設定して、AI関連のニュースを調査→記事にまとめ→ブログに投稿するという流れを自動化しました。
スキルを事前に整備しておいて、それをスケジュールで定期実行するという形です。これがうまく動いたので、次は開発自体の自動化に進みました。
自動開発の仕組み
今回やったのは、2つのスケジュールを1時間おきに交互に回すという構成です。
スケジュール1: Issue作成
1つ目のスケジュールでは、自動でIssueを作成します。やっていることは大きく2つあります。
- ドッグフーディング: ブラウザを使ってWebアプリを実際に操作させ、「ここがエラーになる」「この挙動がおかしい」といった問題を洗い出す
- ソースコード解析: コードベースを直接読ませて、バグ・リファクタ・パフォーマンス改善などの観点でIssueを起票する
ラベル付けや優先順位の判定もここで自動的に行ってもらっています。
スケジュール2: 自動実装
2つ目のスケジュールでは、Issueを取ってきて実装するところまでやらせます。
- 未着手のIssueを優先度順に取得
- 実装
- mainブランチにプッシュ
- デプロイ
個人開発なので人間のレビューは省略し、CI/CDを通ったらそのまま本番に反映する形にしています。
結果
この2つのスケジュールを1時間おきに回し続けた結果、1日あたり約100コミットを積み上げることができました。
やってみて感じたこと
この仕組みを動かしてみて感じたのは、これはある種のソフトウェア生産工場を作ることだなということです。人間が方針を決めて投げるだけで、あとは自動で改善が回り続ける。
現時点ではローカルPCで動かしていますが、将来的にはリモートのコンテナ上に開発環境を立ち上げることもできるはずです。そうなればスケール面でもかなりスピード感が上がっていくと思います。
今後の課題
自動でデプロイまでやれるのは便利ですが、安全かどうかは別の話です。今後重要になってくる観点が2つあります。
ハーネスエンジニアリング
自動生成されたコードを安全にリリースするためには、しっかりとしたガードレールが必要です。
- E2Eテストの整備: 自動デプロイの前にE2Eテストを必ず通す
- デプロイ戦略: カナリアリリースやブルーグリーンデプロイなど、段階的なリリース戦略の導入
- テストカバレッジの担保: 自動実装時にテストも同時に書かせる仕組み
品質管理の自動化
100コミット/日のペースで変更が入ると、人間がすべてを確認するのは現実的ではありません。自動でのコード品質チェックやセキュリティスキャンの仕組みも合わせて整備していく必要があります。
まとめ
- Claudeのスケジュール機能を使えば、Issue作成→実装→デプロイの開発サイクルを自動化できる
- 2つのスケジュールを1時間おきに回すだけで、1日100コミットの自動開発が実現できた
- ただし、安全なリリースのためにはハーネスエンジニアリング(E2Eテスト、デプロイ戦略、ガードレール)の整備が不可欠
- 個人開発の生産性を爆上げする手段として、スケジュール機能はかなり面白い
今後もこの仕組みを改善しながら、自動開発のベストプラクティスをまとめていきたいと思います。