0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

# 勉強で作った創作将棋ツールの紹介#1-2

0
Last updated at Posted at 2026-03-30

#1の続きです
ここではツールを使ってみたいという人のために、セットアップ方法を示します。

セットアップ方法

手順

  1. Githubアカウントの作成
  2. Gemini APIの設定
  3. リポジトリのインポート
  4. Github Secretsの設定
  5. Renderの設定

1. Githubアカウントの作成

本ツールはGithubというサービスでデータを管理する仕様上、お持ちでない方はGithubのアカウントを作成する必要があります。アカウントの作成や利用は無料です。アカウント名はデフォルトのままだとメールアドレスになるため、必ず設定してください。設定方法はたくさんの方が書いてくれているので、そちらをご覧いただければと思います。下記に参考となるリンクを貼っておきます。


2. Gemini APIの設定

本ツールで棋譜の解析やコーチングレポートの作成など、AIを利用するために必要な設定です。このAIは、Googleが提供しているGeminiという言葉を扱うAIモデルです。
本ツールでは、APIというキー情報を使って外部のGeminiを呼び出して使っているイメージになります。
このGemini APIの設定は、Google AI Studioにアカウント登録して使うことができます。下記に参考となるリンクを貼っておきます

動作や品質を安定させるためには、APIを有料プランに設定しておくことをお勧めします。
APIキーは個人情報と同レベルの極秘情報として、厳重に管理して下さい。
「Get API Key」>「利用額」から、APIの上限額が決められるので、設定しておきましょう。費用感は末尾の「本ツールの使い方や設計について」に記載したQ3の内容を参照してください。


3. リポジトリのインポート

私が配布しているパブリックレポジトリを、ご自身のプライベートリポジトリへコピーする作業です。
まず、下記のリンクへアクセスしてください。
https://github.com/new/import

「The URL for your source repository」に下記URLを記入
https://github.com/MByte-Violin/Public-Shogi-ReportAI
Repository nameを指定
⚠️必ず非公開(Private)を選択⚠️

スクリーンショット 2026-03-30 190113.png
⚠️※レポジトリをPublic にすると API キーが漏洩し、悪用された場合に、高額請求が来る危険があります⚠️
レポジトリのインポートが成功すると下記のような画面が現れます。そのまま青字で書かれているリンクへアクセスすると、あなたのリポジトリが確認できます。
image.png


4. Github Secretsの設定

プログラムの実行に必要なパラメータを非公開で設定します。
下記に参考となるリンクを貼っておきます

設定が必要なパラメータは下記です。

  • WARS_ID:あなたの将棋ウォーズID
  • API_KEY_FREE:「2.Gemini APIの設定」で設定したGemini API キー(コチラは無料枠のキーを入力した方がよい)
  • API_KEY01:「2.Gemini APIの設定」で設定したGemini API キー
  • API_KEY02:
  • API_KEY03:
  • API_KEY04:
  • API_KEY05:
  • APP_PASSCODE:任意のパスコード
  • REPO_OWNER:あなたのGitHubユーザー名
  • REPO_NAME:あなたのリポジトリ名
  • REPO_BRANCH:main
  • REPO_ACCESS_TOKEN:GitHub Personal Access Token
ウォーズID

将棋ウォーズの「マイページ」を開くと、段位の左にIDが表示されます。いつも表示されている内容なのでそこまで説明はいらないかもしれませんが、完全一致で入力してください。

Gemini APIキーを複数設定する理由

Geminiは短時間にAPIキーを利用すると制限がかかることがあります。本ツールはGeminiに繰り返し対局データを渡す動作を行うため、1つのAPIキーでは動作が不安定になる可能性があります。一方、同じ支払情報から5つまでAPIキーのプロジェクトを登録することができますので、APIキーを5種類設定してルーティングしながら利用することで、この制限を避けるやり方をしています。API_KEY01~API_KEY05について重複するAPIキーを指定することもできますが、動作の安定性は保証できません。
そして、下記2点に注意してください

  • API キーは絶対に .env やコードに書かない
  • GitHub に push しない
APP_PASSCODE

本ツールの機能である、AIと対話するUI機能について、ログインする際に必要なパスワードです。「最低 8 文字以上」「英語、数字、記号の混同」を推奨します

GITHUB_OWNER/GITHUB_REPO/GITHUB_BRANCH

これらは説明の通りです。

REPO_ACCESS_TOKEN

GitHubのアクセストークン(Personal Access Token / PAT)という、GitHub API や Git 操作でパスワードの代わりに使う認証情報の設定です。以下に手順を示します。

  • ⚠️こちらの情報も極秘情報として厳重管理してください⚠️
  • 期限切れになったら再発行
  • 不要になったらすぐ削除

🔐 GitHub アクセストークンの作り方

  1. GitHub にログイン
    右上のプロフィールアイコンをクリック → Settings を開く。
  2. Developer settings を開く
    左側メニューの一番下にある Developer settings をクリック。
  3. Personal access tokens を選ぶ
    Tokens (classic) で OK。
  4. 「Generate new token」をクリック
    トークン作成画面が開く。
  5. トークンの設定
  6. 📝 基本情報の設定
     ・Note:トークン名(例:my-tool-access
     ・Expiration:有効期限
      ※セキュリティ的には期限あり推奨
  7. 🔧 権限(Scopes)の設定
    'repo' にのみチェック
  8. トークンを生成 → コピーして保存(超重要)
    生成後に 一度だけ表示される
    画面を閉じると二度と見られないため、必ず安全な場所に保存し、REPO_ACCESS_TOKENに設定。

5. Renderの設定

Renderとは、個人開発規模のWebサービスをデプロイできるサービスで、Githubと連携できます。
下記は参考ページですが、設定のやり方は自分が確認した状態と違うので、スクショ画面を表示しながら説明します。

本ツールにおいて、Renderは無料プランで充分です。
下記に手順を示します。


1. Renderアカウントの作成し、Github

Render公式サイト にアクセスし、Webアプリを公開するためのサーバーアカウントを作ります。
本ツールにおいて、Renderは無料プランで充分です。

2. Githubのプライベートリポジトリをつなげる手順

手順

  • Render にログイン
  • 右上の プロフィールアイコン → Account Settings
  • 左メニューの GitHub または Git Deployment Credentials を開く
    • … → Configure on GitHub をクリック
  • GitHub の画面へ移動するので、Render アプリの設定を開く
  • Only select repositories を選択
  • あなたのプライベートリポジトリを選択して保存

3. Webアプリの公開(デプロイ)手順

Renderダッシュボードにて、「+NEW」ボタンを選択。

  • Name:リポジトリ名で問題なし
  • Language:Node
  • Branch:main
  • Region Sinapore(Southeast Asia)
    スクリーンショット 2026-03-30 211548.png
    下記はデフォルトのまま何も触らない
    スクリーンショット 2026-03-30 211623.png
    本ツールにおいて、Renderは無料プランで充分です。
    スクリーンショット 2026-03-30 211659.png
    Github Secretに入力した
  • APP_PASSCODE
  • REPO_OWNER
  • REPO_NAME
  • REPO_BRANCH
  • REPO_ACCESS_TOKEN
  • API_KEY01
    を入力し、「Deploy Web Service」を選びます。
    スクリーンショット 2026-03-30 225738.png
    ※少し修正が必要になったので修正画面の画像になってしまっていますが、大体同じような操作画面です。

しばらくすると、サーバーを立てるサービスが動きます。緑色の「Live」状態になったら、「https://~」からはじまるGithubのレポジトリURLをクリックすれば、AIとの対話機能が使えます。
スクリーンショット 2026-03-30 214409.png

下記の画面が見えれば成功です!
APP_PASSCODEをパスワードに入力すれば、選んだ対局データについてAIとの対話機能が使えます!
image.png


お疲れさまでした。リポジトリの中に.github/workflows/auto-run.ymlが正しく設定されていれば、その次の日の午前1時から自動的に分析が実行されます。
設定でこんなエラーが出た、ここが分からないなどは、リポジトリ内のファイルをCopilotなどにアップロードしつつ相談することをお勧めします。
⚠️ただし!AIはセキュリティ設定の考えがガバガバなので、その点「ホントに」要注意です⚠️

本ツールの使い方や設計について

システムの内容は開発者向けにworkspace/CLAUDE.mdを作成しているので、バイブコーディングの際にご利用ください。
ここでは、本ツールの使い方や設計に関するポイントについて、Q&A形式で記載いたします。
※下に行くほど内容が少し専門的になります。

  • Q1. 1日で解析される対局データの最大数は?
    • A1. 直近の負けた対局データのうち、10局分です

  • Q2. APIは有料じゃないとダメなの?
    • A2. 利用できる機能の動作や品質が安定しない可能性があります。内部で利用するAIモデルは、有料APIの契約者が優先的に高機能モデルが使える仕組みになっています。高機能モデルは人気であるため、無料APIでは性能が低いモデルしか使えないことが多いです

  • Q3. なんとか有料APIで使える高機能モデルを無料で使ってみたい
    • A3. 2026年3月現在では、Google AI Studio を初めて利用する場合、
      決済情報などを設定して3ヶ月間で一定額の無料クレジットが付与されます。この無料枠の範囲内であれば、高機能モデル(Gemini-3.1)を無料でお試しいただけます。
      ただし 無料クレジットについては、Google の仕様変更により変わる可能性があるため、最新情報は必ずご自身でご確認ください。この範囲内をお試し期間として、その中で継続利用されるかご判断する方法もあるかと思います。
      1日で最大3局指す開発者の私の場合にはなりますが、3/5~3/28まで利用している現在、「¥45,854 クレジット中の ¥1,251 クレジットが使用されました」となっているので、
      24日間で利用している無料クレジットは ¥1,251 / ¥45,854
      です。おそらく3カ月では使いきれない量の無料クレジットになります。

  • Q4. Renderの設定がメンドクサイ
    • A4. AIと対局データについて対話する機能が使えなくなりますが、それでも問題なければ設定の必要はありません

  • Q5. 設定が面倒だし有料API使ってるのに解析品質が低い
    • A5. 申し訳ありません。AIの性能については私の力ではどうすることもできません。#2でご紹介しているツールであれば設定が簡単かつ無料でご利用いただけます

  • Q6. Excelに記載される勝率はどのように計算しているのか
    • A6. コーチングレポートが作成されるタイミングで、前のコーチングレポートの作成から新しい対局データの直近最大100件をダウンロードし、棋譜データに記載されている情報からカウントしています

  • Q7. なぜコーチングレポートを作成するタイミングが、負けた対局データが40局分以上蓄積した時かつ、最頻でも月に1回なのか
    • A7. 理由は下記の2つです
      • ユーザーの敗因傾向に変化が表れてくるタイミングだと思ったため
      • 敗因傾向を分析するのにある程度のデータが必要であり、かつ一方で内部のAIにとって分析可能なデータ量に抑える必要を考えて設定したため

  • Q8. なぜLLMに棋譜解析ソフトの評価値を渡していないのか
    • A8. 入力プロンプトを増やすと、トークン量が増大してコストが嵩むためです。あと、やねうら王を使ってみようとしたのですが、評価値が乱高下してしまうので採用できませんでした(やり方分かる人はぜひ教えてほしいです)。

  • Q9. どのようにして敗因別に対局データを分類しているのか
    • A9. コーチングレポートの際にGeminiによって対局データを敗因別に分類させ、後工程のLLMでjson形式に変換、プログラムで分類コピーという流れで分類しています。

  • Q10. 対局データの解析時やコーチングレポート作成時のプロンプトを自分で編集したい
    • A10. 動作不具合の可能性がある点に注意して、対局データ解析時のプロンプトはgemini_local.pyのPROMPT_PREFIX変数を、コーチングレポート作成時のプロンプトはgemini_trend.pyのprompt変数を編集してください。CopilotやGeminiなどに.pyファイルとCLAUDE.mdをアップロードしながら相談しつつ編集する方法をお勧めします

最後までお読みいただき、ありがとうございました!
このツールは、厳重管理が必要な内容に関する複雑な設定作業が多い上に、有料にしても成果物の品質が安定しないデメリットがあります。開発者の私としては、これらのデメリットがなく愛用している#2のツールもオススメしています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?