[開発者向け]Claude Codeで科学計算を長時間自律実行——設計パターンと実践例

目次

はじめに

 Anthropicは2026年3月23日、同社のDiscoveryチーム研究員であるSiddharth Mishra-Sharma氏による技術解説記事を公開しました。テストオラクルや永続メモリ、オーケストレーションパターンといった手法を組み合わせ、Claude Codeを数日間にわたって自律的に稼働させる方法を、宇宙論的な数値計算の実装例を通じて紹介しています。

参考記事

要点

  • 科学計算のような成功基準が明確なタスクは、長時間の自律エージェントワークフローに適している
  • CLAUDE.mdに計画・設計方針を、CHANGELOG.mdに進捗・失敗事例を記録することで、セッションをまたいだ継続的な作業が可能になる
  • テストオラクル(参照実装との比較)とGitコミットを組み合わせることで、エージェントの品質管理と進捗の可視化を実現できる
  • 「Ralphループ」と呼ばれるオーケストレーションパターンを用いることで、エージェントが途中で作業を打ち切る問題に対処できる
  • Claude Opus 4.6を使用した宇宙論的ボルツマンソルバーの実装では、参照実装との差を1%未満に抑えることに成功した

詳細解説

長時間エージェントワークフローが適した科学計算タスク

 Anthropicによれば、AIエージェントを用いた科学研究の多くは、各ステップをこまめに管理する会話型のループで進められてきました。しかし、モデルの長期タスク遂行能力が向上した現在、高レベルの目標を指定してエージェントに自律的に作業させるスタイルが現実的な選択肢になってきています。

 特に適しているのは、作業範囲が明確で、成功基準が定量的に測定でき、人間の監視が断続的で済むタスクです。具体例として、数値ソルバーの再実装、古いFortranコードの現代言語への移植、参照実装に対するデバッグなどが挙げられています。こうした特性を持つタスクは、エージェントが自律的に判断し続けやすく、長時間ワークフローの恩恵を受けやすいと考えられます。

 Anthropicが以前実施したCコンパイラプロジェクト(約2,000セッションにわたりLinuxカーネルをコンパイルできるCコンパイラをClaudeが構築)が、このアプローチの先例として紹介されています。本記事では、それと同様のパターンをClaude Codeで再現する方法が解説されています。

CLAUDE.mdによる計画の明文化

 長時間自律ワークフローの中心となるのが、プロジェクトのルートディレクトリに置くCLAUDE.mdファイルです。Claudeはこのファイルをコンテキストに保持し、全体計画の参照先として扱います。重要なのは、エージェント自身が作業を進める中でこのファイルを更新できる点で、問題への対処法や設計判断が逐次記録されていく仕組みになっています。

 実践例として取り上げられているのは、Claude Opus 4.6を用いた宇宙論的ボルツマンソルバーの微分可能版(JAX実装)の開発です。ボルツマンソルバーとは、宇宙初期の光子・バリオン・ニュートリノ・暗黒物質の連立方程式を解き、宇宙マイクロ波背景放射(CMB)の統計的性質を予測する数値コードです。CLASS・CAMBといった既存ソルバーは宇宙論研究の中核的インフラとして使われており、その微分可能版を実装することで勾配ベースの推論手法が利用可能になります。精度目標は参照実装(CLASS)との差0.1%以内に設定されました。

 なお、この0.1%という値はCLASSとCAMBという二つの標準的なボルツマンコード間の一般的な合意水準であり、科学的に妥当な目標と言えます。研究者自身はこの分野の専門家ではなく、自力で実装することは現実的でない難易度のタスクだったと記事では正直に述べられています。

CHANGELOG.mdによるセッション間の記憶

 長期ワークフローにおけるもう一つの重要な仕組みが、CHANGELOG.md(進捗ファイル)です。このファイルはエージェントの「持ち運び可能な長期記憶」として機能し、現在の状態、完了済みタスク、試みたが失敗したアプローチとその理由、主要チェックポイントでの精度テーブル、既知の制限事項などを記録します。

 失敗事例の記録が特に重要です。記録がなければ、後続セッションで同じ行き詰まりを繰り返すリスクがあります。記事中では「Tsit5による常微分方程式の求解を試みたが、システムが過度に硬直しており、Kvaerno5に切り替えた」といった具体的な記述例が示されています。このような詳細な経緯の記録が、長時間にわたる開発の継続性を支えます。

テストオラクルとGitによる品質管理

 自律的な長時間作業を成立させるためには、エージェント自身が進捗を判断できる仕組みが不可欠です。科学計算の場合、参照実装・定量的な目標・既存のテストスイートがその役割を担います。本事例では、CLASSのCソースコードを参照実装として単体テストを構築・継続実行するようエージェントに指示し、回帰を防ぎながら開発が進められました。

 あわせて、Gitをコーディネーションの手段として活用することも推奨されています。意味のある作業単位ごとにコミット・プッシュすることで、問題が発生したときの復旧履歴が確保され、計算資源が途中で尽きた場合の作業ロスも防げます。CLAUDE.mdには「コミット前にpytest tests/ -x -qを実行し、既存のパステストを壊すコミットはしない」といった具体的なルールを記載することで、エージェントの行動を制約できます。

Ralphループ:エージェントの停滞を防ぐオーケストレーションパターン

 長時間・多段階タスクでは、エージェントが完了を宣言して作業を打ち切ってしまう「エージェント的な怠慢」が課題になることがあります。これに対処するパターンとして紹介されているのがRalphループです。

 これは、エージェントが完了を宣言した際に「本当に終わっているか」を問い返すループ構造で、/pluginコマンドでインストール可能です。典型的な呼び出し例として以下が示されています:

/ralph-loop:ralph-loop “パラメータ範囲全体で0.1%の精度という成功基準を達成するまで作業を続けてください。” –max-iterations 20 –completion-promise “DONE”

 最大20回まで反復し、「DONE」という宣言で完了とみなす仕組みです。同様のパターンとして、GSD(Get Stuff Done)やClaude Code標準の/loopコマンドも紹介されています。

 実行環境としては、HPCクラスタ上でSLURMジョブスケジューラを用い、tmuxセッション内でClaude Codeを起動することが推奨されています。tmuxを使うことで、ローカルのラップトップを閉じてもセッションが維持され、後からsrun –jobid=… tmux attachでいつでも再接続・状況確認・指示変更ができます。

実際の成果と示唆

 Claude Opus 4.6はこのプロジェクトを数日間かけて進め、CMB角度パワースペクトルなど主要な出力において参照実装CLASSとの差を1%未満に抑えることに成功しました。記事では精度の推移がグラフで示されており、段階的に改善が進む様子が確認できます。

 Anthropicはこの成果について、プロダクション品質には至っていないとも率直に述べています。例えばテストカバレッジが長期間単一のパラメータ点のみに偏っていた期間があり、宇宙論の専門家であればすぐに気づくようなバグを解消するのに時間を要した場面もあったとのことです。それでも、従来であれば研究者の数ヶ月〜数年を要するような実装が数日で一定の精度に到達した点は、エージェント駆動開発の可能性を示す結果と言えます。

 副次的な効果として、研究者自身がgitのコミット履歴を追うことでボルツマンソルバーや関連物理に関する理解が深まったという点も興味深いです。エージェントの漸進的な進捗を観察することが、専門外の領域を学ぶ有効な方法になりうると考えられます。

まとめ

 本稿では、Anthropicが公開した長時間エージェントワークフローの設計パターンを紹介しました。CLAUDE.md・CHANGELOG.md・テストオラクル・Ralphループという組み合わせは、科学計算以外にも成功基準が明確なタスク全般に応用できる可能性があります。エージェントを使った長時間自律作業の設計を検討している方にとって、参考になる実践的な知見ではないでしょうか。

この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!
目次