SHIROKANE は AI コーディングエージェント「OpenCode」の提供を開始しました
はじめに
SHIROKANE では、2026 年 8 月 31 日から、AI コーディングエージェント「OpenCode」の提供を開始しました。
OpenCode は、ターミナル上で自然言語による指示を受け取り、コードやジョブスクリプトの作成、qsub によるバッチジョブの実行、トラブルシューティングなどを支援します。 OpenCode のすべての動作は SHIROKANE にて行われ、ホームディレクトリにあるファイルやディレクトリを参照しながら作業を依頼できます。
このニュースでは、SHIROKANE 版 OpenCode の特徴と使い方を紹介します。詳しい利用方法や注意事項については、以下のスパコン Wiki を参照してください。
OpenCode とは
OpenCode は、オープンソースの AI コーディングエージェントです。質問への回答だけでなく、ファイルの検索・読み書きや、シェルでのコマンド実行など、指示された作業を進めるための機能を備えています。
SHIROKANE 版 OpenCode の特徴
SHIROKANE 版 OpenCode は、SHIROKANE 内で稼働する大規模言語モデル (LLM) と接続しています。これには SHIROKANE に固有の利用方法や解析ツールに関する知識の SKILL が補完されています。
SHIROKANE 上で直接利用できる
SHIROKANE の OpenCode へ接続するコマンドを実行することで、ターミナル上から利用できます。
OpenCode は、起動した利用者の権限で動作し、ホームディレクトリの作業ディレクトリ内のファイルを参照しながら、コードやジョブスクリプトの作成、コマンドの実行などを支援します。
SHIROKANE 固有の知識を SKILL で補完
既存の大規模言語モデルが元々持っていない SHIROKANE についての知識は、SKILL と呼ばれるファイルで補完しています。
現在、以下の SKILL があります。
- SHIROKANE でのジョブ管理
- SHIROKANE 独自コマンド
- CaGMeJ の実行
- Parabricks の実行
これにより、SHIROKANE のジョブスケジューラである AGE の利用方法や、CaGMeJ、Parabricks を使用した解析について、支援を受けられます。
また、自分で使いたい SKILL を ~/.config/opencode/skills/ 配下に追加・作成することもできます。
入力した情報を外部へ送信せずに利用できる
一般的なクラウド型の生成 AI サービスでは、入力した内容や参照させたデータが外部へ送信されます。このため、秘匿性のあるデータなどを扱う作業では、生成 AI の利用が難しいという課題がありました。
SHIROKANE 版 OpenCode は、SHIROKANE 内で稼働する LLM を使用します。入力した内容や参照させたファイルを外部の生成 AI サービスへ送信することがなく、生成 AI を活用できます。
OpenCode との会話は、利用者ごとのセッションとして SHIROKANE 内に保存されます。保存されたセッションは、利用者自身が過去の作業を再開するために使用します。
前回までのセッションを再開する場合は、OpenCode の起動後、チャット入力欄に /sessions と入力して送信します。
$ /sessionsセッションの一覧が表示されるので、再開するセッションを選択してください。なお、一覧に表示されるのは、現在と同じ作業ディレクトリで OpenCode を起動したときのセッションのみです。
OpenCode の利用方法
SHIROKANE に SSH ログインした後、以下のコマンドで OpenCode を利用する計算ノードに接続します。
$ qlogin -l code,s_vmem=20G
接続後、作業用ディレクトリに移動し、以下のコマンドで OpenCode を起動します。
$ opencode
初回起動時は利用規約が表示されます。内容を確認して「Agree」を選択し、続いて表示される SKILL のインストール確認で「Yes」を選択すると、利用を開始できます。
起動後は、実施する作業を文章で入力します。
OpenCode でできること
Build モードと Plan モード
OpenCode には、Build モードと Plan モードの 2 つのモードがあり、Tab キーで切り替えられます。
- Build モード (デフォルト): ファイルの編集やコマンドの実行を含め、エージェントに作業を行わせます
- Plan モード: ファイル編集など書き込みを行う機能が無効になり、分析や作業計画の提案のみを行わせます
まず Plan モードで進め方を相談し、内容を確認してから Build モードで作業させる使い方もできます。
自然言語によるコード作成および解析実行
実施する処理を文章で伝えることで、シェルスクリプトや AGE 用のジョブスクリプトを作成できます。また、使用する解析ツール、入力ファイル、参照ゲノム、出力先、CPU Core 数、メモリ、GPU などの実行条件を指定し、ジョブスクリプトの作成から qsub による実行までを依頼できます。
必要な項目や出力させる内容を具体的に記載することで、目的に沿った説明、サンプルコードおよびジョブスクリプトを依頼できます。
解析を依頼する場合は、例えば以下のような情報を指定します。
- 使用する解析ツール
- 作業ディレクトリ
- 入力ファイル
- 参照ゲノム
- 出力先
- 使用する CPU、メモリ、GPU
- qsub による実行の要否
- 実行後に確認する内容
Parabricks の fq2bam を使用する場合は、例えば以下のように指示します。
入力例
SHIROKANE で Parabricks の fq2bam を使用し、FASTQ ファイルから BAM ファイルを作成してください。
条件は以下のとおりです。
* 作業ディレクトリ: 〈作業ディレクトリのパス〉
* 入力 FASTQ: 〈Read 1 の FASTQ ファイルのパス〉、〈Read 2 の FASTQ ファイルのパス〉
* 参照ゲノム: 〈参照ゲノムのパス〉
* 出力先: 作業ディレクトリに fq2bam_output ディレクトリを作成し、ジョブスクリプト、ログ、出力ファイルを保存する
* GPU: L4 1 枚
ジョブスクリプトの内容を示したうえで、qsub を実行してください。
実行後は、qstat によるジョブ状態の確認方法、ログの出力先および出力ファイルの確認方法も示してください。※ 使用したいツールが決まっている場合は、ツール名も指示に含めてください。ツール名を指定しない場合、GPU での実行を想定していても CPU 向けのツールが選択されるなど、意図と異なる処理方法が提案されることがあります。
CaGMeJ を利用する場合は、解析タイプ、サンプルシート、出力先、使用する GPU などを指定して、解析用ジョブスクリプトの作成と qsub による実行を依頼できます。
入力例
CaGMeJ を SHIROKANE で実行してください。
条件は以下のとおりです。
* 解析タイプ: DNA (WGS、somatic)
* サンプルシート: 〈サンプルシートのパス〉
* 出力ディレクトリ: 〈出力先のパス〉
* 使用 GPU: L4
サンプルシートと設定内容を確認し、実行するジョブスクリプトの内容を示したうえで、qsub を実行してください。
実行後は、ジョブの状態とログの確認方法も示してください。CaGMeJ の使い方や、必要な入力ファイルと設定内容が分からない場合は、実行前の準備から OpenCode に相談できます。実施する解析や使用するデータについて伝えることで、必要なファイルや設定項目について案内を受けたり、解析の進め方を相談したりできます。
入力例
CaGMeJ を使用して、腫瘍検体と正常検体のペア解析を行いたいです。
解析に必要な入力ファイル、サンプルシートの記載内容、設定ファイルおよび実行条件を教えてください。
必要な情報が不足している場合は、実行前に確認してください。やりたいことが細かく決まっていなくても利用できます。例えば「この FASTQ ファイルから最終的な BAM ファイルを作りたい」といった目的だけを伝えても、OpenCode が手順を検討し、必要なスクリプトの作成や実行を進めます。
解析時のトラブルシューティング
OpenCode は、解析条件や入力内容の確認、エラー原因の調査、修正方法の検討にも利用できます。 qsub の実行後にエラーが発生した場合は、ジョブスクリプトやログを OpenCode に確認させ、エラーの原因と修正方法を相談できます。
このように、次のような場面で OpenCode を活用できます。
- 使用するコマンドや入力ファイルの形式が正しいか確認したい
- GPU、設定ファイル、解析条件の組み合わせを確認したい
- ジョブスクリプトや実行ログを基に、エラーの原因を調べたい
- 修正内容を確認してから qsub を再実行したい
入力例
以下のジョブがエラー終了しました。
ジョブスクリプトとログを確認し、原因と修正案を示してください。
修正する前に、変更する箇所と理由を説明してください。
* ジョブスクリプト: 〈ジョブスクリプトのパス〉
* 標準出力: 〈標準出力ログのパス〉
* 標準エラー出力: 〈標準エラー出力ログのパス〉安全に利用するために
OpenCode は、質問への回答だけでなく、ファイルの編集やコマンドの実行も行う AI エージェントです。SHIROKANE 版では、作業ディレクトリ配下のみを書き込み可能にするなど、意図しない変更を抑えるための制限を設けています。
一方で、生成される回答、コマンドまたはジョブスクリプトが誤っている場合や、利用者の意図と異なる処理が提案される場合があります。同じ指示でも応答が変わることがあるため、実行前後に内容を確認してください。
上手な利用には、以下の点にご注意ください。
- 使用するツール、入力ファイル、参照ゲノム、出力先、GPU などの解析条件を明記する
- 生成されたコマンドやジョブスクリプトの内容を、実行前に確認する
- qsub の実行後は、qstat、標準出力、標準エラー出力および出力ファイルを確認する
- 編集や削除されると困るファイルは、事前に作業ディレクトリ外にバックアップする
- 生成されたコマンドやジョブスクリプトに不明な変更や意図しない処理が含まれる場合は、そのまま実行せず、内容と理由を OpenCode に相談する
初回起動時に表示される利用規約を確認したうえで利用してください。
コードやジョブスクリプトの作成、解析の準備、qsub によるバッチジョブの実行、入力条件の確認、エラー原因の調査など、日々の SHIROKANE 利用に OpenCode をお役立てください。
