
2026/09/21 23:49
Show HN:Mathy を使えば数学計算が自動化できます
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Mathy は、アカウント作成を必要とせず、ゼロから新しい概念を教えることなく、既存の知識を強化して数学的習熟度を高めることを目的とした無料のモバイルアプリです。短期間の回答時間(3〜5 秒)に焦点を当てており、FSRS スペース反復アルゴリズムを使用して、最小の有効用量で自動性を維持するためのレビュースケジューリングを行います。問題は、AI 生成された解答を避けつつ再現可能な解答用紙を確保するために、精選されたリコールターゲットとパラメータ化されたファミリイから決定論的に生成されます。入力正規化は、分数、小数、パーセントなど同等の数値表現を処理し、正しさを確認する前に構文を検証し、無効な形式に対して明確なエラーメッセージを表示します。
アプリはバックエンドなしでデバイス上でローカルに動作し、進捗データはデバイスまたはブラウザに保存され、クラウド同期はオプションのアカウントサポートが追加されるまで後回しにされます。トピックは「領域 > 主題 > コンセプト > リコールターゲット」という構造に従い、Common Core パスウェイに対応していますが、高度な科目についてはカバーギャップが残っています。軽いゲーミフィケーションにはレベル、XP、メダル、ストリークが含まれ、マルチプレイヤー機能が有効化される場合、後続にリーダーボードも追加される可能性のある特別モード「60 秒サプリント」もあります。
React Native で開発されたためクロスプラットフォームサポートに対応しており、iOS(iPhone/iPad)とウェブブラウザに対応しています。コアビルドには数日かかり、その後にコンテンツ品質の向上と荒削りを解消するための 2 週間の調整を行いました。今後のアップデートでは、オプションのクラウド同期、アカウント作成機能、毎日のリマインダー、拡大したコンテンツバリエーション、Math Academy との統合(自動習熟度ニーズとの同期および特定のコースの推奨)を追加予定しています。需要が増加すれば、ホスティングコストを賄うためのオプションの有料プラン(約$1/月)を導入する可能性もあります。iOS アプリは執筆時点では App Store で利用可能でしたが審査中であり、ウェブ版は mathy.game でアクセスできます。
本文
Mathy: 数年来の開発で完成した数学自動化アプリ
ついに待望の「Mathy」を完成させました。 数年来考えてきたこの小さなプロジェクトは、iOS やウェブブラウザ版でアカウント登録不要。無料で気軽に利用可能です。
私は毎日子供の学習を「Math Academy」で行っていますが、これに飽き足らず、以下の欲求から本アプリを開発しました。
- 手軽さ: 手帳(Anki カードなど)よりも便利な方法で、移動中も弱点克服や反復練習に取り組めるようにしたい。
- 隙間時間の活用: スクロールするだけの時間ではなく、短時間で生産的な学習を行いたい。
Mathy の核となる思想
「使えば使うほど利用頻度は減ります」。これがアプリの根幹にあります。 特定のトピックを完全に自動化(刷り込み)できるようになると、推奨される復習の間隔は数週間以上に伸びます(ただし、自主練習はいつでも可能です)。
なぜ Mathy を作ったのか?
- Philosophy: 「Math Academy」の哲学や創設者 Justin 氏の学習法に強く共感しており、基本的な理念は継承しています。
- 限界突破: 高度な数学を学びたいが、凡人なので限界に直面しているため、より簡単な方法で知識の自動化を進めたい。
- 生活スタイルとの整合性: 本気での集中時間は難しく趣味として位置づける。しかし、投入した時間に対して得られる進歩度に満足しており、継続可能である。
- 「現状制約」の活用: 自分の条件下でどの程度自動化できるか、その限界をどう引き上げるかという好奇心から始まった。
- 既存ツールの不足:
- Math Academy はレッスンやクイズに重点があり、「フラッシュカードのようなドリル」とは性質が異なる。
- 代わりとして最も人気が高い「Anki」は、数学専用ツールとしては不向きでカード管理が面倒だった。
- これらの課題を解決する理想的なツールが見当たらず、Mathy が誕生した。
開発までの経緯
- きっかけ: 三角比や公式などの暗記に苦しんだことが動機となった。学ぶコンテンツの多様化に伴い、自動化が急務になった。
- プロセス: 過去にメモを積み重ねたものを製品要件書(PRD)としてまとめ、大まかな方向性を確認。気に入ったため数ヶ月間開発を開始したが、繁忙により一時停止。
- 技術的転換点: 昨年一年間「エージェント型コーディング」に没頭し、AI の活用や開発ワークフローを深めたが、複雑なシステムを作るのは難しかった。そこでシンプルで本質的な製品を作りたいと決断。
- 開発サイクル: コア機能は数日で完成したが、微細な不具合(Rough Edges)の修正やユーザー体験の改善に数週間費やし、現在はベータ段階。
動作原理とコンセプト
Mathy は既存の学習プログラムを補完するシンプルなアプリです。 診断テストや配置判定は一切行わず、トピック選択はすべてユーザー任せです(Math Academy で学んだ内容に合わせて使用することを推奨)。
利用フロー
- 概念習得: Math Academy などで基本概念と初期練習を行う。
- トピック選択: グレードやコースから目標を設定する。
- AI スケジュール: FSRS(分散反復学習アルゴリズム) があなたのパフォーマンスに基づき、「次いつ復習すべきか」を決定。
- 実践: タイムリミット付きの**「スプリント」**に挑み、最高記録を更新する。将来的には他者との競争も予定しています。
プロダクトの焦点と制約条件
私は「何を作るか」「何を作らないか」を慎重に決定しました。
- 目的: 新しい知識を得るためのツールではなく、既存知識の自動化のみ。
- 対応範囲: 心算で処理可能なもの(暗記と簡略化された手順)。熟練すれば約 3〜5 秒以内 で答えられる問題のみ。
- 最小限の効果的用量: 毎日練習する必要はありません。「自動化状態」を維持するだけ。上手になれば下手になるほど頻度は下がります。メンテナンス感覚での利用が目標です。
- オフライン・モバイル最適化: iOS(iPhone & iPad)の主要機能はオフライン動作。バックエンドサーバー不要で、データはローカル保存。
プラットフォーム選定と同期状況
- 技術スタック: ネイティブ開発ではなくReact Nativeを採用し、同じコードベースで iOS と Web を同時サポート。
- 利用者が増えればネイティブアプリへの置き換えも検討します。
- データ管理: 採点・スケジュール・進捗はすべてローカル処理。ネット接続なしでも動作(ヘルプ送信時のみ必要)。完全無料です。
- 同期に関する注意:
- 現在、デバイスの自動同期機能はありません。
- アプリの削除やブラウザデータのエリミネーションによりデータが失われる可能性があります。
- ※今後の予定: アカウント機能による進捗保存とクロスデバイス同期機能をオプションで追加予定です。
分散反復学習アルゴリズム (FSRS)
スケジュール管理には、Math Academy ユーザーでもある Junyao Ye 氏が開発したFSRSを採用しています。 アプリは FSRS が決定するメモリ状態とタイミングに加え、「Mathy 独自のキューポリシー」によって以下を最適化します。
- 復習学習の順序
- 期限切れの作業への優先度
- 新目標の組み込み
- 弱点科目の補強
- 混同可能性(類似問題の回避)
ホーム画面には推奨スケジュールが表示され、「自由に遊ぶ」モードでデイリー・タイムトライアルなど、自分のペースでの練習も可能です。
プログラムによる問題生成
「決定論的な検証ができないものはアプリに入れない」という方針のため、問題生成は大幅に簡素化されました。 Math Academy のような高度な教材作成ではなく、以下のアプローチをとります。
- 厳選された目標: 暗記すべき事柄( banca)を精査し、固定された事実や公式のみを使用。
- 問題ファミリー: パラメータ化された問題群を用意し、許容範囲内でバリエーションを生成。
- 確定解答キー: AI 生成ではなく、事前に検証済みの正解を持つバリエーションのみを表示。
インタフェースと数値入力の正規化
- 再現性: シェッフルされた問題の順序や表示形式に関わらず、常に同じ解答キーが対応します。
- 入力処理: 手動入力の数値は以下のルールで標準化されます。
- 余分な空白の削除
- シンボルの統一
- 決定論的な数値解析によるパース
- 標準形式(割分数、小数など)への変換
等価な数値はすべて同じ価値として処理されます(例:
1/2, 0.5, 50%)。ただし、特定の表現形式を問う問題や構造化された回答については、独自のチェックを行い、「不正な形式」のエラーメッセージも適切に返却します。
自動化度の測定方法
単なる一时的な正解ではなく、以下の基準で自動化度を評価・改善しています。
- 継続的な正解: 時間経過に伴う反復的な正しい行動を追跡。
- 多基準評価: 正確性、最近の正答密度、回答時間、間隔設定、キューのカバレッジなど複数の閾値を使用。
モデルは現実世界の履歴データとどのように合致するかを確認するために改善を続けます。クラウド/同期機能の実装も、長期かつ一貫した履歴データの保存を可能にするための重要なステップです。
トピック構成
アプリの階層構造は以下の通りです。 領域 (Domain) > トピック (Topic) > 概念 (Concept) > 暗記目標 (Recall Target) > プロンプトバリエーション (Prompt Variant)
ユーザーのカリキュラムや学年パスに基づいてトピックを閲覧・フィルタリングできます。しかし、Common Core(共通コア)に適合した短時間の自動化練習に適した教材のみが含まれており、有意な空白(カバー不全)が存在する可能性があります。不足しているトピックはフィードバック機能でお知らせください。
楽しさを保つ工夫:ゲーミフィケーション
単なる学習アプリではなく、ゲームのような要素を取り入れています。
- 報酬: レベル、XP(経験値)、数学メダル、ストリーク(連打数)。
- ストリークの継続: 推奨スケジュールの日付だけでなく、練習不要な日もカウントされます。
- 60 秒スプリントモード: タイムトライアルで最高記録を更新する仕組み。将来的にはリーダーボードによる他者との対戦も検討中。
「最後の 10%」:細かな打磨
コアアプリは数日で完成しましたが、App Store への提出準備(約 2 週間)とバグ修正には多くの時間を費やしました。 移動中の時間を利用して開発版をテストし、フィードバックを即座に反映させることで、短い期間で数十回の改善サイクルを回すことができました。
今後の課題は以下の点です。
- コンテンツの質: 問題ファミリーの拡大に伴うカバー範囲、難易度、バリエーションの工夫。
- 表示と入力: モバイル画面制約下での高度なコンテンツへの対応。
これらの問題は「tractable(解決可能な)」性質を持っており、数学的側面からのアプローチを通じて楽しく学習できます。
次に何をするか(What's next)
現時点での暫定的な計画は以下の通りです。
- アカウント作成機能: 進捗データのバックアップとクロスデバイス同期の実装。
- コンテンツの改善: 特に高度なトピックにおけるカバー範囲、バリエーション、入力・表示の向上。
- リマインダー: 練習すべき日時の通知機能(数日〜数週間空く場合に有効)。
- 競争要素: 他のユーザーとの対戦(リーダーボードなど)。
望みリスト
- Math Academy と連携して、練習により XP を獲得できるようにする。
- 自動化が必要な領域を自動的にアプリと同期させる。
- 学習すべきトピックに対し、適切な Math Academy コースを推奨する。
幸いにもシンプルな構造のため、機能リストの膨張は抑えられます。
料金プランについて: 現在完全無料ですが、一定の利用が見られた場合やクラウド機能を展開した場合は、ホスティングコストなどを賄うためにオプションで月額約 1 ドルの有料プランを導入する可能性があります(クラウド機能やリーダーボード等のマルチプレイヤーコンテンツが必要な方向け)。
まとめと入手方法
今回のプロジェクトは非常に楽しくて多くのことを学びました。 もし興味があれば、以下のリンクから利用可能です。
- App Store (iOS): 検索: Mathy ※レビュー中
- Web 版: mathy.game