TECHNICAL SPECIFICATION

Go Lab 機能詳細・仕様ガイド

KataGo AIの全機能と内部仕様、UI/UXのこだわりまでをSwiftソースコードより生成

※ご注意: 本ページの内容は、アプリのSwiftソースコードをAIが解析・自動生成した技術ドキュメントです。実際のアプリの仕様や挙動と細部が異なる場合があります。あらかじめご了承ください。

Go Lab の全体像:対局から上達までのワンストップ

Go Lab は単なる対局アプリではありません。「対局 → 終局 → 分析 → 検討 → 分岐 → 保存」という一連の流れが、アプリ1つで完結します。外部ツールへの書き出しや、別アプリへの持ち替えは一切不要。以下に、その全体像を示します。

① 対局 → ② 終局・死石判定 → ③ 分析 → ④ 検討・分岐 → ⑤ 保存・レポート
フェーズできること関連章
① 対局 CPU/対人/オンライン。HumanSL の現代・古典棋風、Lv.1〜63、置石、白番開始に対応。 第1〜5章
② 終局 2連続パス・投了で終局。日本ルールでは死石判定フェーズを経て、AIが候補をハイライト。 第1章
③ 分析 形勢グラフ・候補手・地合い・思考時間の可視化。悪手分析(スコア低下/勝率低下)もワンタップ。 第6〜8章
④ 検討・分岐 盤面タップで分岐作成。PV ゴースト再生・一括適用・バリエーションツリーで全体俯瞰。 第7章
⑤ 保存・レポート 棋譜を JSON でローカル保存。レポートは画像/PDF で共有。SGF 入出力対応。 第8章, 第9章
+ 学習 詰碁(ストリーク・複数正解)と、Live2D キャラクターによるレッスン(カリキュラム+操作型テスト)。 第10章, 第11章

このページの読み方: 各章の冒頭には「この章でできること」(製品紹介)を、その後に「技術仕様・内部仕様」を配置しています。Part I〜IV は製品の利用フロー順、最後の横断章はアプリ全体に共通する設計をまとめています。

Part I:対局・オンライン対局

第1章 対局モードとルール設定

F-101〜F-107

この章でできること: CPU・1台2人・オンラインの3モードで対局できます。日本・中国・韓国の3ルール、9路・13路・19路の全組み合わせに対応。置石や白番開始も可能で、終局後はAIが死石候補を自動ハイライトします。

1.1 対局モード

モード概要ネットワーク
CPU対局KataGoエンジンと対局。難易度・モデル・手番を選択可能。不要
1台2人対局1台のデバイスを2人で交互に操作。不要
オンライン対局アプリ独自サーバーによるマッチング。レーティング変動あり(第4章)。必要

1.2 ルールセットとコミ

ルール地の計算コミ備考
日本ルール地 + アゲハマ6.5目伝統的な日本方式。
中国ルールエリア(石 + 地)7.5目中国方式。コミが大きい。
韓国ルール地 + アゲハマ6.5目日本ルールに類似。

1.3 盤サイズとルールの組み合わせ

盤サイズ日本ルール中国ルール韓国ルール
9路盤◯◯◯
13路盤◯◯◯
19路盤◯◯◯

全盤サイズ × 全ルールの組み合わせに対応しています。

1.4 置石(ハンディキャップ)と手番選択

1.5 終局処理と死石判定

2連続パスまたは投了で終局します。日本・韓国ルール(地+アゲハマ方式)では、終局後に死石判定フェーズが入ります。

1.6 終局後アクション

— 01 —

第2章 CPU対局の難易度制御(Lv.1〜63)

F-108

この章でできること: CPUの強さをLv.1からLv.63までの63段階から選べます。入門者からプロ級まで、自分のレベルに合った相手と対局できます。

2.1 難易度と内部パラメータの関係

難易度は単純なVisits数の増減ではなく、KataGoの推論結果に対して意図的なノイズ(ランダム性やミス)を加えることで実現されています。

2.2 レベル帯ごとの傾向

レベル帯強さの目安内部挙動
Lv.1〜Lv.10入門〜初級Random RateとMistake Rateが高く、意図的に悪手を打つ頻度が高い。
Lv.11〜Lv.25中級ミス率が減少。Visits数も徐々に増加。
Lv.26〜Lv.40上級ミスがほとんどなくなり、読みの深さが増す。
Lv.41〜Lv.63高段〜プロ級弱体化処理なし。KataGoの純粋な推論結果に近い。
— 02 —

第3章 HumanSL(人間らしいAI)

F-109, F-110

この章でできること: 「最善手」ではなく「指定した級位・段位の人間が打ちそうな手」を選ぶAIです。現代棋風/古典棋風を選べ、対局用と分析用で別々の棋力を設定できます。

3.1 HumanSLの技術的特徴

3.2 現代棋風と古典棋風の2系統

系統プリフィックス特徴使いどころ
現代棋風 rank_20k 〜 rank_9d 現代の人間プレイヤーの棋譜で学習。AI時代の合理的な着手感覚を再現。 「今どきの人間らしい手」で練習したい時
古典棋風 preaz_20k 〜 preaz_9d AlphaGo以前の人間の棋譜で学習。布石の自由度が高く、旧来のスタイル。 「AI以前の人間らしい手」を体験したい時、古典棋書の感覚を味わいたい時

3.3 対局用モデルと分析用モデルの分離

Go Lab では「対局用」と「分析用」で、使用モデルと HumanSL プロファイルを別々に設定できます。

使い分けの例: 「対局相手は HumanSL の15級(人間らしい手)」「分析は High モデル(b18c384nbt)で正確に」——という組み合わせが可能です。HumanSL で対局し、その対局を高精度モデルで振り返る、という学習サイクルが実現します。

なお、HumanSL を対局用に選んだ場合、分析用には b6c96(Light)を選べません(精度差が大きすぎるため)。分析用は b18c384 または HumanSL から選択します。

注意点

HumanSLは「最善手」を指すわけではないため、形勢グラフが通常のKataGoよりも不安定になる傾向があります。精度の高い分析が必要な場合は、Highモデル(b18c384nbt)を使用してください。

— 03 —

第4章 オンライン対局

F-111

この章でできること: アプリ独自サーバー経由で、世界中のプレイヤーとリアルタイム対局できます。対局結果に応じてレーティングが変動し、ランキング上位を目指せます。

4.1 マッチングとレーティング

4.2 対局の流れ

  1. 対局設定で「Online」を選択し、クイックマッチを開始。
  2. マッチ成立で、3.5秒の開始演出(カウントダウン)。
  3. 対局中は、双方の指し手がリアルタイムに同期されます。
  4. 終局(2連続パス/投了)で、勝敗とレーティング変動が確定。
— 04 —

第5章 OGS連携

F-112, F-113, F-114

この章でできること: 世界最大級のオンライン囲碁サーバー「OGS」と連携。観戦(Watch)と対局(Play)の両方をサポートし、観戦した棋譜はSGFとして保存して分析できます。

5.1 OGS観戦(Watch)

5.2 OGS対局(Play)

5.3 時間設定(Time Control)

システム説明
Fischer初期時間に加え、1手ごとに指定時間が加算される方式(例: 5分 + 7秒)。
Byoyomi持ち時間を使い切った後、1手ごとに指定時間が与えられる方式(例: 5分 + 5x30秒)。
Canadian指定された手数内に打ち切る方式(例: 5分 + 10手で5分)。

5.4 対局中の操作とクロック補正

5.5 観戦・対局棋譜の履歴保存

— 05 —

Part II:AI分析・検討・棋譜

第6章 リアルタイム分析

F-201〜F-204, F-220-1

この章でできること: 対局中・対局後を問わず、KataGoの分析結果をリアルタイムに確認できます。形勢グラフ、候補手の5段階色分け、地合い表示、思考時間のハイライトで、盤面の優劣を客観的に把握できます。

6.1 形勢グラフ

6.2 候補手(5段階色分け)

盤面上に、AIが推奨する上位の候補手が表示されます。

Tier色条件(1位との差)
1青最善手
2緑≦ 2目 かつ ≦ 2%
3黄≦ 5目 かつ ≦ 5%(文字は黒)
4橙≦ 10目 かつ ≦ 10%
5赤それ以上

6.3 地合い表示(Ownership Overlay)

「地図のアイコン」をタップすると、AIが予測する地の所有状況が盤面上に表示されます。

設定値挙動
色のみサイズ固定、濃さで表現。黒地は不透明度 0.05〜0.65 / 白地は 0.08〜0.85。
サイズのみ濃さ固定、サイズで表現。非線形カーブ(指数 0.65)で「弱い方の差」を強調。
両方サイズ+濃さの両方で表現。

6.4 思考時間の可視化

— 06 —

第7章 検討モード

F-205〜F-208, F-220-2, F-220-3

この章でできること: 任意の局面から盤面をタップして自分なりの手を試せます。分岐(バリエーション)はタブで管理され、PVゴースト再生・バリエーションツリーで全体を俯瞰できます。形勢グラフ・棋譜リスト・ツリーのどこからでも、該当局面へ瞬時にジャンプできます。

7.1 分岐(バリエーション)の作成

分岐管理の内部仕様

7.2 PV(推奨手順)の再生

PVプレビューの内部仕様

7.3 バリエーションツリー

作成した分岐の全体像をツリー形式で表示します。各ノードをタップするとその局面にジャンプします。右端の列には各手の「目差」と「合計」が表示され、形勢の変化を視覚的に把握できます。

7.4 局面ナビゲーション(相互ジャンプ)

Go Lab では、複数の画面から同じ局面へアクセスできる導線を用意しています。

導線起点遷移先
形勢グラフのタップグラフ上の任意位置該当手数へジャンプ
棋譜リストのタップ棋譜の任意の手該当局面へジャンプ
バリエーションツリーのノードタップツリー上の任意ノード該当局面へジャンプ

7.5 検討モード中の盤タップ制御

— 07 —

第8章 レポート生成

F-209, F-210

この章でできること: 対局の悪手を「スコア低下」「勝率低下」の2種類のレポートで分析できます。AI推奨手との比較、価値差の表示、PDF/画像での保存・共有にも対応しています。

8.1 2種類のレポート

レポート種別対象手の抽出条件ソートキー
スコア低下 指定した手番側の手のみ/スコア低下 1.0目以上/AI最善手と一致しない/評価値あり スコア低下幅の降順
勝率低下 同上 + 勝率低下 2.0%以上 かつ スコア低下 1.0目以上 勝率低下幅の降順

8.2 悪手の5段階評価

評価スコア低下幅意味
Good1.0目未満ほぼ最善手に近い
Normal1.0〜2.5目軽微な損
Doubtful2.5〜5.0目やや疑問
Bad5.0〜10.0目悪手
Blunder10.0目以上大悪手

8.3 AI推奨手との比較

レポートには「打った手」と「AI推奨手」の両方が盤図で並記され、「もしこの手を打っていたら」のPV(推奨手順)も確認できます。

8.4 価値差(Value Gap)

「打った手」と「AI推奨手」の形勢差を、同じ局面同士で比較した純粋な価値差として算出。打った手=推奨手の場合は定義上0.0目になります。

8.5 低信頼度フラグ

その手を解析した時の訪問回数が500未満の場合、「低信頼度」フラグが付きます。分析の精度が十分でない手を「悪手」と断定しないための配慮です。

8.6 非同期解析と進捗表示

  1. 対象手の候補を全件抽出
  2. 各候補手について「AI最善手」が未キャッシュならエンジンで再解析し、最善手・形勢値・推奨手順・訪問回数を棋譜に埋める
  3. 1手ごとに進捗コールバックを呼び、UIに「N / M」を表示
  4. 有効候補を指定件数に絞り、各手のハイライト情報を生成
  5. 勝率の変化量をシグモイドで計算して埋め込み

8.7 レポート出力

— 08 —

第9章 棋譜管理・SGF入出力

F-211, F-212, F-220-2

この章でできること: 対局履歴はJSON形式で1件1ファイル保存。SGFのインポート/エクスポートに対応し、他アプリの棋譜も取り込んで分析できます。オートセーブにより、アプリが落ちても最後の手から再開できます。

9.1 SGF入出力

9.2 対局履歴の管理

9.3 オートセーブと再開

9.4 棋譜からの局面ジャンプ

— 09 —

Part III:学習・レッスン・詰碁

第10章 詰碁(Tsumego)

F-301〜F-306

この章でできること: 実戦的な詰碁問題を多数収録。手数やステータスでフィルタでき、AIが応手を返します。複数正解の可視化、解答再生、ストリーク(連続学習)機能で、毎日の学習習慣をサポートします。

10.1 問題の構成

10.2 解答判定とAI応手

10.3 複数正解の可視化

複数正解の表示: 正解が複数ある問題で正解の一つを打つと、他の正解候補が緑の破線円として盤上に表示されます。「もっと別の手もあったのか」と気づける学習効果の高い演出です。

10.4 解答再生モード

10.5 進捗管理とストリーク

10.6 正解演出

3段構成のアニメーション

  1. チェックマークの回転登場: -180° → 0°と回転しながら、scale 0.2 → 1.0で弾むスプリングアニメーション。
  2. 星の放射: 14個の星が放射状に飛散。角度は2π/14ずつ+±0.15radのジッター、飛散距離は90〜160pt、サイズは12〜24pt。
  3. メッセージポップ: 「Solved!」メッセージとボタンをスプリングでポップ表示。ストリーク数は🔥 N day streakとしてオレンジのカプセル内に表示。

※内部名「くるりん〜ぱっ!キラーん」。製品紹介としては「正解演出」として扱います。

— 10 —

第11章 レッスン

F-307〜F-310

この章でできること: Live2Dキャラクターがガイド役となって、囲碁の基礎から応用までを学べます。「読む → 試す → 解く」の3段階構成で、盤面操作型の教材とテストで能動的に学習できます。

11.1 レッスンカリキュラムの構造

カリキュラムのねらい: 「読んで理解する」だけでなく、盤面を実際にタップして答える操作型テストを挟むことで、受け身ではなく能動的な学習を促します。詰碁と同じ「複数正解の破線円」も共通機構として使い、正解が複数ある問題では他の正解候補も示されます。

11.2 Live2Dキャラクターの統合

11.3 盤面連動解説とテロップ

11.4 レベル管理と多言語

— 11 —

Part IV:エンジン・システム・データ管理

第12章 システム概要と動作環境

F-401

この章でわかること: Go Lab がどのような技術構成で動いているか、どのデバイスで利用できるかの概要です。

12.1 動作環境

項目要件・仕様
対応OSiOS 15.0 以降 / iPadOS 15.0 以降
対応デバイスiPhone, iPad(Apple Silicon搭載デバイス推奨)
ストレージHighモデル利用時: 約1GB以上の空き容量
ネットワークオンライン対局・OGS観戦・モデルダウンロード時に必要
オフライン動作CPU対局・詰碁・レッスンは完全オフラインで動作

12.2 アプリの構成

— 12 —

第13章 AIエンジン「KataGo」の技術仕様

F-402, F-402-1, F-403, F-404

この章でわかること: Go Lab の中核をなす KataGo エンジンのモデル3種、バックエンド、推論パラメータの技術仕様です。

13.1 モデルの種類と技術的差異

モデル名バックエンドパラメータ数特徴
Light (b6c96) Metal (GPU) 約103万 アプリに同梱。軽量・高速。g170世代。
High (b18c384nbt) CoreML (ANE) 約2,633万 追加DLが必要。高い推論精度。kata1世代。
HumanSL CoreML (ANE) 約2,633万 + 人間模倣層 Highモデルをベースに、人間の対局データで学習した追加ネットワーク。

※パラメータ数は公開されているKataGoのネットワークアーキテクチャに基づく。

13.2 モデルの選択と利用可否判定

13.3 バックエンドの違い

シミュレータ環境では、自動的にMetal + b6c96が使用される仕様です。

13.4 エンジンの推論パラメータ

— 13 —

第14章 設定とデータ永続化

F-405, F-406

この章でできること: アプリの設定項目(エンジン・表示)を一覧で確認できます。データの永続化方式とオートセーブの仕組みを解説します。

14.1 設定項目一覧

タブ項目仕様・範囲
Engine使用モデルLight / High / HumanSL
Engineモデルのダウンロード/削除High/HumanSLの追加DL・削除
Engine分析用Visits(評価)40〜1000(デフォルト: 100)
Engine分析用Visits(候補手)64〜1000(デフォルト: 280)
EngineHumanSLプロファイルrank_20k〜rank_9d / preaz_*
Displayレッスンタブの表示ON / OFF
Display盤面スタイルWood(木目)/ Plain(無地)
Display地の表示方法色のみ / サイズのみ / 両方
Display候補手の表示数3〜30件

14.2 データ永続化

14.3 オートセーブの堅牢性

サポート: 解決しない問題がある場合は、サポート窓口([email protected])までご連絡ください。アプリのバージョン、デバイス名、問題の詳細を添えてください。

— 14 —

第15章 モデル管理とアプリ運用

F-407, F-408, F-409

この章でわかること: AIモデルの追加ダウンロード・削除の仕組み、レビュー依頼のルール、リリースノート・強制アップデートの動作です。

15.1 モデルダウンロードマネージャ

15.2 レビュー依頼

15.3 リリースノートと強制アップデート

— 15 —

第16章 通信とオンライン対局の堅牢性

F-410, F-411

この章でわかること: オンライン対局中にネットワークが不安定になっても、対局が破綻しないための仕組みです。

16.1 バックグラウンド離脱時のタイマー

16.2 相手投了の検知と終局

16.3 手数同期のズレ防止

16.4 ネットワーク回復時のリカバリ

16.5 多重送信防止

— 16 —

横断

第17章 UI/UXのこだわりと隠れた便利機能

F-501〜F-505

この章でわかること: 盤面操作の心地よさ、没入感を高める演出、Zen Mode、物理アニメーションなど、アプリ全体に共通する設計のこだわりです。

17.1 盤面操作の心地よさと誤操作防止

17.2 没入感を高める演出とフィードバック

17.3 分析・検討機能の便利ポイント

17.4 学習・レッスン機能のこだわり

17.5 オンライン・OGS連携の便利機能

17.6 Zen Mode の操作体系

17.7 その他の細かいUX・サポート機能

17.8 その他の隠れた配慮

— 17 —

付録:機能マスター台帳

本ページに掲載した全機能の台帳です。将来の更新の原本として使用します。ステータス凡例: ✅機能 = ユーザーが直接使える機能 / 🔧内部 = 内部動作 / 📄説明 = ドキュメント上の説明項目 / 📂分類 = 親機能ID(子の束ね役)/ ❓未確認 = コード未確認。

Part I:対局・オンライン対局

ID機能名章ステータス親ID関連ID
F-101対局モード(CPU/1台2人/オンライン)1✅機能—F-111, F-113
F-102ルールセット1✅機能—F-107
F-103終局処理(2連続パス・投了)1✅機能—F-104
F-104死石判定1✅機能—F-103
F-105置石(AB/AW)1✅機能—F-106
F-106手番選択(黒/白)1✅機能—F-105
F-107盤サイズ×ルールの組み合わせ1✅機能—F-102
F-108難易度Lv.1〜632✅機能——
F-109HumanSL(現代/古典)3✅機能—F-110
F-110対局用/分析用モデルの分離3✅機能—F-109
F-111オンライン対局4✅機能—F-101
F-112OGS観戦5✅機能——
F-113OGS対局5✅機能—F-101
F-114OGS時間設定5✅機能—F-113

Part II:AI分析・検討・棋譜

ID機能名章ステータス親ID関連ID
F-201形勢グラフ6✅機能—F-220-1
F-202候補手(5段階色分け)6✅機能——
F-203地合い表示6✅機能——
F-204思考時間の可視化6✅機能——
F-205検討モード(分岐作成)7✅機能—F-206, F-207, F-208
F-206PVゴースト再生・一括適用7✅機能—F-205
F-207バリエーションツリー7✅機能—F-220-3
F-208分岐の前方一致マージ7✅機能—F-205
F-209レポート生成8✅機能—F-210
F-210悪手の5段階評価・AI推奨手比較8✅機能—F-209
F-211棋譜管理(JSON履歴)9✅機能—F-212
F-212SGF入出力9✅機能—F-211
F-220局面ナビゲーション(横断)6・7・9📂分類——
F-220-1形勢グラフのタップジャンプ6✅機能F-220F-201
F-220-2棋譜リストのタップジャンプ7・9✅機能F-220F-205, F-211
F-220-3ツリーノードのジャンプ7✅機能F-220F-207
F-220-4検討一覧から該当検討へ移動TBD❓未確認F-220—
F-220-5検討ドリルから該当局面へ移動TBD❓未確認F-220—

Part III:学習・レッスン・詰碁

ID機能名章ステータス親ID関連ID
F-301詰碁問題構成10✅機能——
F-302解答判定とAI応手10✅機能—F-303, F-304
F-303複数正解の表示10✅機能—F-302
F-304解答再生モード10✅機能—F-302
F-305進捗管理・ストリーク10✅機能——
F-306正解演出10✅機能—F-302
F-307レッスン(Live2D)11✅機能—F-308, F-309
F-308盤面連動解説11✅機能—F-307
F-309カリキュラム構造11✅機能—F-307
F-310レベル管理・多言語11✅機能—F-307

Part IV:エンジン・システム・データ管理

ID機能名章ステータス親ID関連ID
F-401システム概要と動作環境12📄説明——
F-402KataGoモデルの種類13📄説明—F-402-1
F-402-1モデルの選択・利用可否判定13✅機能F-402F-110
F-403バックエンド(Metal/CoreML)13📄説明—F-402
F-404推論パラメータ(Visits)13📄説明—F-108
F-405設定項目一覧14✅機能——
F-406オートセーブ・再開ヒント14✅機能—F-211
F-407モデルダウンロードマネージャ15🔧内部—F-402-1
F-408レビュー依頼15🔧内部——
F-409リリースノート・強制アップデート15🔧内部——
F-410ネットワーク回復・多重送信防止16🔧内部—F-111, F-113
F-411バックグラウンド離脱タイマー16🔧内部—F-111

横断:UI/UX

ID機能名章ステータス親ID関連ID
F-501盤面操作(追従・ズーム・パン)17✅機能——
F-502物理アニメーション17🔧内部——
F-503Zen Mode17✅機能——
F-504触覚フィードバック17🔧内部——
F-505その他の隠れた配慮17🔧内部——

未確認事項: F-220-4(検討一覧から該当検討へ移動)と F-220-5(検討ドリルから該当局面へ移動)は、提供いただいたソースコード上で該当UIを確認できていないため、ステータスを「❓未確認」としています。実装有無の確認が取れ次第、ステータスと掲載章を更新します。

※ご注意: 本ページの内容は、アプリのSwiftソースコードをAIが解析・自動生成した技術ドキュメントです。実際のアプリの仕様や挙動と細部が異なる場合があります。あらかじめご了承ください。

Go Lab トップページへ戻る