MISAKA — designed by Luciole Studio


MISAKA

DAGと徴候的読解を組み合わせ、多元的なナラティブを掘り起こす、人文・社会科学研究に特化したAIエージェント・アーキテクチャ。

現前より大切なのは不在なんだから!ってミサカはミサカはあなたの頭をこつんと叩いてみたり。

Licence: Apache 2.0 Python 3.12+ macOS, Linux and Windows

English · 简体中文 · 日本語

MISAKAでは、コーディネーターの**Last Order**と一緒に問いを分解して研究計画を練り上げ、各分野の調査を、報告・連絡・相談を得意とする**Sisters**に割り振ります。専門家の調査報告を集約して読み込み、執筆し、審査員の前で答弁を行い、結論が扱いきれない方向を新たな研究へとつなげます。研究ブランチからなるグラフはグラフ理論のアルゴリズムで管理され、最終報告は研究論文としてプロジェクトフォルダに保存されます。すべての引用は出典までたどれます。

MISAKAのパネル:左にスペース、セッション、エージェント、右にLast Orderのウィンドウ

## 主な特徴
スキルのように専門家を呼び出すLast OrderはSisterを、スキルを呼び出すのと同じように呼び出します。スキルはHermesと同様に段階的に読み込まれ、システムプロンプトには各スキルの名前と概要だけが載り、SKILL.md本文と参考資料は必要になった時点で読み込まれます。Sisterも同じ段階で公開されます。DESCRIBE.mdはスキルの概要に相当し、Last Orderは普段その説明と冒頭部分だけを参照し、研究を計画する際に紹介文の全体とそのSisterのスキル一覧を読み込みます。SOUL.mdと各スキルの本文はそのSister自身のセッションでのみ読み込まれ、Last Orderのコンテキストを消費しません。
手段と目的の分業各Sisterは独自の専門分野、スキル、モデル(Claude、GPT、Gemini、ローカルモデル)を持ち、担当分野の検索と精読を行います。Claude CodeやCodexもメンバーとしてタスクを担当できます。検索やツール操作は主に専門家が担うため、Last Orderはコンテキストを提出された資料の精読に集中させられます。手段を思わずして、目的に専心する。
徴候的読解レッドチームは事実と推論を検証するだけでなく、Last Orderの推論過程を読み、結論が明言しないまま論証を支えている箇所を指摘します。続く分岐レビューでは、こうした不在を二種類に分けます。研究ラインが自ら補える見落としはそのノード内で補い、前提によって覆い隠された方向はLast Orderに委ねられます。Last Orderはそれを新しい研究として開くか、開かない理由を記録します。これは、アルチュセールが徴候的読解で区別した二つの不可視性、すなわち見落とされたものと、問題構成が見ることを許さないものに対応します。
可能性の有向非巡回グラフ新しい方向はそれぞれLast Orderのセッションから分岐し、それまでの推論をすべて引き継いで、専用のチームとレッドチームを持つノードになります。グラフは層ごとに展開し、同じ可能性は一度だけ開かれ、複数のラインが提起した問いは一度だけ研究されます。同じ地点に至ったラインは合流点で突き合わせ、統合できるものは統合し、調停できないものは対立点を明確にします。
問いの解消ある問いが概念の混同やイデオロギー的な前提の上に成り立っており、そのままでは成立しないと研究が論証した場合、それ自体を正当な結論として扱います。あなたの問いを変更することになる場合、Last Orderは事前に同意を求めます。
ドクサの外へ一度の問答で得られる答えは、多くの場合、モデルが最も頻繁に出力する見解、つまり広く受け入れられながら検証されていないドクサにとどまります。すべての研究計画にはカバレッジ表が付き、空欄はあらかじめ宣言された欠落として扱われます。カバレッジマップは各分野が自らの文献分類に用いる体系をもとに作成されており、その空白は、その分野がこれまで問いとして扱ってこなかった方向を示します。文献スキャンでは、問いが研究史のどこに位置するかを特定できます。
トレーサビリティ引用はページと文字位置まで、コンテキストは元の対話までたどれます。仕組みは後述の「人文・社会科学研究のためのコンテキストと資料の管理」を参照してください。
監査可能な研究プロセス計画、タスクカード、結論の各バージョン、批評、出典一覧はすべてMarkdownファイルとしてプロジェクトに保存され、プロジェクト自体がgitリポジトリになります。MISAKAはあなたの指示があり、ファイルを確認したうえでのみコミットするため、批判を受けて論証がどう変化したかが履歴に残ります。
主導権はあなたにすべての計画はあなたの同意を得てから実行され、同意は通常の会話で伝えられます。各ブランチはパネル上に専用のタブを持ち、各エージェントはいつでも入れるペインで動作します。研究は中断・再開できます。
## クイックスタート ```sh uv tool install "misaka[providers] @ git+https://github.com/Luciole-Studio/Misaka-Agent.git" mkdir ~/Documents/my-research cd ~/Documents/my-research misaka setup # サインイン、モデル選択、最初の二人のSisterを作成 misaka # MISAKAを起動し、/researchと入力 ``` 動作環境はmacOS、Linux、Windows(x86_64またはarm64)で、macOSでの実行を推奨します。[uv](https://docs.astral.sh/uv/)、git、[ripgrep](https://github.com/BurntSushi/ripgrep)、[fd](https://github.com/sharkdp/fd)、popplerのインストールと、モデルプロバイダ(APIキー、またはChatGPT・GitHub Copilotのサブスクリプション)が必要です。Claudeアカウントでもサインインでき、その利用分はAnthropicによりトークン単位の追加利用として課金されます。インストールは本リポジトリから行ってください。PyPIの`misaka`は無関係のパッケージです。 各GitHubリリースには、同じアーキテクチャ向けのビルド済みアーカイブも付きます。中身はuv、git、ripgrep(`rg`)、fd、poppler(`pdftotext`)です。`misaka`を実行すると、そのプロセスのPATHにこれらのツールが入ります。ocrmypdf、DjVuLibre、LibreOfficeは任意のままで、アーカイブには含まれません。 ```sh curl -fsSL https://raw.githubusercontent.com/Luciole-Studio/Misaka-Agent/main/scripts/install.sh | sh ``` Windows(PowerShell): ```powershell irm https://raw.githubusercontent.com/Luciole-Studio/Misaka-Agent/main/scripts/install.ps1 | iex ``` `brew install luciole-studio/tap/misaka` と `winget install Luciole-Studio.Misaka` は、tapとwingetパッケージが公開されたあと、同じアーカイブを使います。配置と公開手順は [release/README.md](release/README.md) にあります。 MISAKAは`Documents`以下の作業フォルダ(上の例の`~/Documents/my-research`など)で実行し、ルートディレクトリでは決して実行しないでください。 [はじめに](docs/getting-started.ja.md)では、インストール手順から最初の研究までを順を追って説明しています。 ## 研究の流れ > *計画ができたよ!あなたが「いいよ」って言ったらすぐ始めるから!ってミサカはミサカは計画書を両手で差し出してみたり。* 一回の研究は、可能性からなるグラフです。あなたの問いがルートノードとなり、結論が退けた可能性の一つひとつが、層ごとにその下のノードになります。

一回の研究はグラフです:あなたの問い、第1層に別の仮説・別の方法・問いそのものへの批判、第2層にそこから選ばなかった道、二つのラインが挙げて一度だけ研究する問い、同じところでの合流、そして最終報告

1. **各ノードは一つの完結した研究です。** Last Orderはあなたと計画を相談し、同意を得てから実行します。専門家の資料が提出されるまで、Last Orderは問いを下位の問いと前提となる問いに分解するだけで、結論を先取りしません。Sistersはタスクカードを並行して進め、発見ごとに出典を記録します。Last Orderはそれを精読したうえで結論を書きます。 2. **レッドチームと分岐レビュー。** レッドチームのSisterが事実と推論を検証し、結論が明言しない箇所を指摘します。Last Orderは異議に一つずつ応答し(カードの資料に関わる異議は、提出したSisterに確かめてから答えることができます)、改訂した結論は再度レビューされます。このループが終わると、同じSisterが新しいセッションで分岐レビューを行い、結論が退けた可能性と残された欠落を区別します。欠落はノード内で補われ、補った版も再び分岐レビューを受けます。 3. **研究グラフの展開。** 前提の異なる真の代替可能性だけが、Last Orderのセッションから分岐して新しいノードになり、それまでの推論をすべて引き継ぎます。各ノードにはLast Order、Sisters、レッドチームが付き、設定した深さまで層ごとに展開します。複数のラインが提起した問いは一度だけ研究され、同じ可能性が二度開かれることはありません。同じ地点に至ったラインは合流点で突き合わせます。 4. **最終報告。** すべてのノードが完了すると、Last Orderは全体を通覧し、研究が到達した論点を一本の研究論文にまとめます。論文には注と参考文献が付き、付録にはすべての研究ライン、答えが引き受けた代償、採られなかった道が記録されます。草稿は独立したレッドチームのレビューを受け、Last Orderが異議の一つひとつに裁定を下して最終稿とします。 研究の深さ、並列数、進行状況の確認と再開については、[研究ガイド](docs/guide/research.md)(英語)を参照してください。 ## 人文・社会科学研究のためのコンテキストと資料の管理 人文・社会科学の研究が依拠する資料は、しばしば大部で多言語にわたり、出典の検証可能性も厳しく求められます。これは単一のモデルのコンテキストウィンドウが担える範囲を超えています。MISAKA は次の問題に対して、それぞれ設計上の対処を行っています。 | 問題 | 対処 | |---|---| | 長大な文献がコンテキストウィンドウの容量を超える | PageIndex が長い文書に章の階層索引を作成し、章または頁範囲ごとに必要な部分のみを読み込む | | 長期にわたる研究で、コンテキストの圧縮が情報を歪める | LCM が以前の対話を階層的に要約し、各要約は原文までたどれる。同一プロジェクト内のセッションは検索索引を共有する | | スキルとツールの説明が取りまとめ役のコンテキストを圧迫する | スキルとツールを専門に応じて各 Sister に割り当て、カードは独立したセッションで実行する。Last Order のコンテキストは提出資料の精読にのみ用いる | | 引用の検証可能性が乏しく、出典が捏造される恐れがある | 引用を頁と文字位置まで特定する。結論は実際に読んだ資料のみを引用し、出典一覧と原ファイルを結論とともに保存する | | スキャン資料、DjVu、多言語資料 | 中国語・英語・日本語の OCR、DjVu、旧形式の Office ファイルに対応する。プレーンテキストは CHAPTER や LIVRE などの見出しから章構成を認識する | | モデルの出力が主流の見解に傾く | 分野別のカバレッジマップと文献スキャンで研究の欠落を示し、分岐レビューが採られなかった研究の方向を提起する | ### PageIndex:階層索引と必要箇所の読み込み - プロジェクトごとに独立した文書索引を保持します。20 頁以上の文書には章の階層目次が作成され、各章の頁範囲が示されます。 - エージェントはまず目次を確認し(`doc_outline`)、章のノードまたは頁範囲を指定して本文を読みます(`doc_read`)。コンテキストに載るのは必要な部分のみです。 - 頁の定義:PDF と DjVu ではファイル自体の頁順(1 から数える)を用い、紙面に印刷された頁番号と一致するとは限りません(PDF の頁ラベルや柱・ノンブルから分かる場合は、印刷頁を併記します)。その他の形式は段落の境界で約 3,000 字ごとに区切られ、引用の頁番号はこの区切りを指します。 - `doc_find` は文字列検索を行い、`doc_verify` は引用の頁、文字オフセット、チェックサムを返します。 - スキャン頁は頁ごとに判定して OCR で読むため、組版頁とスキャン頁が混在する書籍でもどちらも失われません。 - `doc_read` は本文が担わない図を示します。PDF 頁上の画像と線画、地図や図版と思われるスキャン頁、内容が図にあるスライド、Word 文書や EPUB に埋め込まれた画像です。`doc_page_image` はその頁、スライド、または一枚の図を表示します。視覚に対応しないモデルには、すべての画像を一つの視覚モデル(`vision.model`)が文字に起こして渡します。 - 研究の過程で生成されたテキストは完成時に自動で索引に加わります。最終報告の執筆では各ノードの結論を文書として検索するため、すべてを同時にコンテキストへ載せる必要はありません。 ### LCM:たどり直せる階層的圧縮 - セッションがコンテキストウィンドウの設定割合(既定では 35%)に達すると、以前の対話が要約に圧縮され、要約はさらに段階的に統合されます。 - 元の対話はすべて保存されます。どの要約もその根拠となった原文まで展開でき、原文を直接検索することもできるため、圧縮によって情報が不可逆に失われることはありません。 - 同一プロジェクト内のすべてのセッションが検索索引を共有し、どのエージェントもほかのエージェントの対話記録を検索できます。 - オプション機能:ローカルの埋め込みモデルによる意味検索、関連する履歴の能動的な想起、長大なツール出力の外部保存、日・週・月単位の時系列要約。 - 研究ごとに圧縮のしきい値と出力上限を個別に設定でき、全体の設定には影響しません。 詳しくは[文書とウェブ](docs/guide/sources.md)と[設定リファレンス](docs/reference/configuration.md)(英語)を参照してください。 ## 出力 > *引用した資料は、すべて確かめられる場所に綴じてあります、とミサカは報告します。* すべての出力はプロジェクトフォルダに書き込まれます。 ```text my-research/ ├── final/-final.md 最終報告(引き受けた代償と採られなかった道を含む) ├── final/-sources/ 報告が引用したすべてのファイル(元の場所へのリンク) └── nodes// 研究ごとのディレクトリ ├── plan.md Last Orderの研究計画とSisterの選定理由 ├── cards// 各Sisterの成果とレッドチームの批評 ├── synthesis.md 結論(改訂版はsynthesis-2.md以降) └── SOURCES.md 結論が引用したファイルと、それぞれが支える主張 ``` MISAKAがコミットするのは、あなたが指示したときだけです。プロジェクトがgitリポジトリの場合、`/commit`を実行するとファイルが一覧表示され、確認後にコミットされます。 ## 主なコマンド | 用途 | コマンド | |---|---| | MISAKAを起動する | `misaka` | | 研究を開始する | `/research`に続けて問いを入力 | | 研究の確認・中断・再開 | `/research status`、`/research stop`、`/research resume` | | 実行中のノードに話しかける | `/research tell [--to ノードID] メッセージ` | | 実行中の研究のパラメータ変更 | `/research limits --sister-parallel 2` | | 研究の費用を見る | `misaka usage --run RUN_ID` | | 特定のSisterと対話する | `/sister 10032` | | Sisterを作成する | `misaka create 10036 --desc "計量経済学と因果推論"` | | 文書をインデックス化する | `misaka doc scan sources/` | | モデル選択、サインイン | `/model`、`/login` | | すべてのコマンドを表示する | チャットで`/`、ターミナルで`misaka --help` | | パネルのキー操作を表示する | `ctrl+b`に続けて`?`([パネルガイド](docs/guide/panel.md)を参照) | | アップデートする | `misaka update --apply` | すべてのコマンドは[コマンドリファレンス](docs/reference/commands.md)(英語)に掲載しています。 ## ドキュメント | 内容 | ドキュメント | |---|---| | インストールと最初の研究 | [はじめに](docs/getting-started.ja.md) | | 研究の実行と舵取り | [研究ガイド](docs/guide/research.md) | | チームの編成、Claude CodeやCodexの追加 | [チームガイド](docs/guide/team.md) | | パネル:タブ、ペイン、キー操作 | [パネルガイド](docs/guide/panel.md) | | サインイン、モデル選択、ローカルモデル | [モデル](docs/guide/models.md) | | 文書とウェブの利用 | [文書とウェブ](docs/guide/sources.md) | | トラブルシューティング | [トラブルシューティング](docs/guide/troubleshooting.md) | | MISAKAが守るもの・守らないもの | [安全に使う(英語)](docs/guide/security.md) | | コマンドと設定のリファレンス | [コマンド](docs/reference/commands.md)、[設定](docs/reference/configuration.md) | [docs/README.md](docs/README.md)はすべてのドキュメントの索引で、MISAKAの用語も解説しています。「はじめに」以外のドキュメントは現在英語版のみです。 ## データの取り扱いと費用 MISAKAが保存するデータはすべてお使いのマシン上にあります。設定、認証情報、履歴は`~/.misaka/`に、研究の出力はプロジェクトフォルダに保存されます。プロンプトは設定したモデルプロバイダにのみ送信されます。ウェブ検索は設定した検索サービスに送信され、未設定の場合やサービスがエラーになった場合は、Exa、Parallel、Firecrawl、Keenableの無料公開枠を利用します(`misaka web set keyless_fallback false`で無効化できます)。文献スキャンでは、問いの検索語がOpenAlexに送信されます。MISAKAはテレメトリを一切送信しません。 研究は大規模になることがあります。初期設定では最大四つのブランチが同時に動作し、各ブランチで最大四人のSisterが(メモリの許す範囲で)並行して作業するため、深い研究では多数のモデル呼び出しが発生します。費用を抑えるには研究の深さを小さくしてください。研究ごとのトークン上限を設定するには、`~/.misaka/settings.json`で`research.token_cap`を指定します。 ## 名前の由来 MISAKAの名前は、鎌池和馬『とある魔術の禁書目録』『とある科学の超電磁砲』に由来します。原作において妹達(シスターズ)は「超電磁砲」御坂美琴のクローンであり、ミサカネットワークを通じて記憶を共有しています。 | 原作 | MISAKA | |---|---| | **御坂美琴**、すべての妹達のオリジナル | `MISAKA.md`:各エージェントが自身の設定より先に読み込む共通の人格 | | **妹達(シスターズ)**、検体番号で呼ばれる:ミサカ10032号、10033号…… | あなたの専門家。それぞれが番号、専門分野、固有の`SOUL.md`を持ちます | | **打ち止め(ラストオーダー)**、ミサカ20001号、ネットワークの上位個体 | あなたが対話するコーディネーター | | **ミサカネットワーク**、一人が学んだことを他の妹達も思い出せる | プロジェクト内の会話。すべてのエージェントが検索できます | このREADMEの「とミサカは報告します」といった一節は演出です。各エージェントの話し方はそれぞれの`SOUL.md`で決まり、妹達と同じ口調にしたい場合は`SOUL.md`に一行加えるだけです。 MISAKAは独立したプロジェクトであり、原作者および出版社とは一切関係がなく、公認も受けていません。 ## 技術基盤 MISAKAのエージェントカーネルは[pi](https://github.com/earendil-works/pi)のPython移植で、パネルは[herdr](https://github.com/herdrdev/herdr)の移植です。各ペインの端末エミュレーションには[ghostty](https://github.com/ghostty-org/ghostty)の端末ライブラリを使用しています。長い会話の管理には[hermes-lcm](https://github.com/stephenschoettler/hermes-lcm)、文書構造の解析には[PageIndex](https://github.com/VectifyAI/PageIndex)を使用し、ウェブツールとスキルは[Hermes Agent](https://github.com/NousResearch/hermes-agent)から、Office対応は[FrontierAgent](https://github.com/ApodexAI/FrontierAgent)から移植しています。各部分の出所は[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)に記録しています。 MISAKAがpiを基盤としているのは、カーネルがシンプルで、成熟したコミュニティによってメンテナンスされており、アップストリームの更新にそのまま追従できるためです。MISAKAのグラフが扱うのは研究の内容と可能性です。ノードは完了した一つの研究、エッジは推論を引き継いで分岐した一つの問いを表します。 ## ライセンス 本プロジェクトは[Apache License 2.0](LICENSE)の下で公開されています。サードパーティのコンポーネントはそれぞれのライセンスに従い、[THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)に記録しています。 MISAKAを再配布する場合、またはMISAKAをもとに派生物を作成する場合は、[NOTICE](NOTICE)の表記を残してください。Apache-2.0では、配布物にこの表記を添えることが求められています。

以上、ミサカネットワークより通信を終わります、ってミサカはミサカは締めくくってみたり。