# Pize プラグインのドキュメント

> Pize は、科学技術計算と統計分析のための AI コーディングアシスタントです。Pize Code と Positron で動作し、SDK としても提供されます。

Pize は、科学技術計算と統計解析のための AI コーディングアシスタントです。Pize Code と Positron で動作し、SDK としても提供されます。最も失敗しやすく、見過ごされがちな工程である統計データの認識と読み取りに力を注ぎます。データを正しく理解して初めて、その後の計算・検定・推論も正しく行えます。

## Pize がすること、しないこと

多くのプログラミングエージェントは、より多くのコードを書くことに力を注ぎます。しかし、統計や研究の失敗は、たいていもっと手前で起きます。データを誤って読み込むと、その後の検定、モデル、推論はすべて、その誤りを気づかないまま引き継ぎます。Pize が注力するのはこの部分です。まずデータの形状、型、欠損状況をモデルに正確に把握させ、そのうえで、普段使っている R / Python セッション内でコードの作成と実行、プロットの確認、修正まで行います。

Pize は、複数ファイルにまたがる編集、ターミナル操作、計画と実行、プロジェクトルール、モデルの選択に対応した、完全なプログラミングエージェントでもあります。さらに MCP を通じて、研究室や社内システムにすでにあるツールへ接続できます。Pize Code、Positron、CLI、SDK から利用できます。

- **Pize とは。** 数値計算と統計分析に最適化されたプログラミングエージェントです。データの読み取り、計算、検定は実際のセッション内で行われ、結果は再計算できます。
- **Pize ではないもの。** 汎用コード補完ツールの外観を変えたものでも、幅広いコードを少しずつ書く Cursor の代替でもありません。重点はコード補完ではなく、データを正しく読み取り、計算結果を確かなものにすることです。
- **動作環境。** Pize Code、Positron、CLI、SDK で動作します。
- **モデルに渡すもの。** データの構造、型、欠損状況、要約です。表全体をコンテキストに詰め込むことはありません。元の観測値はセッション内に残ります。

### 3 つの入口、1 つのエージェント

エディターではサイドバーのプラグインとして動作します。独自のツールには SDK として組み込めます。データベース、計測機器用ソフトウェア、社内ナレッジベースへの接続には MCP を使います。どの入口でも、同じデータ読み取りロジック、同じ計算処理、同じ承認境界が適用されます。

## Pize が動く場所、モデル利用料の支払い方法、操作を承認する人

同じプログラミングエージェントがファイルを読み、コードを書き、コマンドを実行し、ブラウザも操作できます。書き込みとコマンドの実行には毎回あなたの承認が必要です。Pize Code、Positron、CLI、SDK で利用できます。

### 現在利用できる形態

- **Pize Code.** エディタのサイドバープラグイン。ファイル横断の編集、ターミナル、計画と実行、レビュー可能な diff を利用できます。
- **Positron.** 同じエージェントに加え、現在フォーカスしている R または Python セッションへの橋渡しを利用できます。
- **SDK.** すでに使用しているプログラムへ同じエージェントを組み込め、CLI でも利用できます。

### モデル利用料の支払い方法

セルフサービスの利用はプリペイドクレジットで支払います。1 クレジットは 1 米セントです。料金ページでパックを購入し、Stripe が決済を処理します。エンタープライズ条件は問い合わせのうえ決定します。

### エンタープライズ

研究室向けおよび個別条件の公開価格はありません。問い合わせのうえ決定します。

### 同時に、一通りのプログラミングエージェントでもある

データ読み取りとセッションブリッジが、Pize の追加する層です。これ以降に示すのは、Pize が同時に備える完全なプログラミングエージェントとしての機能です。これらがなければ、統計処理の一連の流れも完結しません。

- **ファイル横断の編集と差分レビュー** 複数ファイルをまとめて直します。各編集はレビューでき、取り消せる diff で、タスク全体の巻き戻しもできます。
- **ターミナル実行とリアルタイム出力** 統合ターミナルでコマンドを走らせ、出力をその場で読みます。エラーとテスト失敗はすぐ捕捉します。
- **計画 / 実行の 2 モード** まずデータとコードを調べ、分析計画に合意してから実行します。最初から誤った統計モデルを走らせることを防ぎます。
- **文脈参照とブラウザデバッグ** @file、@folder、@problems、@url で文脈を正確に渡します。ブラウザを動かし、スクリーンショットとログで問題を特定できます。
- **プロジェクト規則とスキル** 統計の口径、作図規約、ディレクトリ約束を規則ファイルに書き、チーム全員のセッションがそれに従います。
- **モデル選択と MCP** Anthropic、OpenAI、Gemini、DeepSeek、Bedrock、OpenRouter、ローカルモデルを接続でき、MCP でデータベースにも届きます。

## SDK は別のプログラムから呼び出せる開発キットであり、別のウェブサイトではない

SDK（Software Development Kit、ソフトウェア開発キット）は、API、型、サンプルをひとまとめにし、別のプログラムが同じ機能を再実装せずに呼び出せるようにするものです。

SDK がなければ、連携先ごとに HTTP 通信を実装し、フィールドの意味を推測することになりがちです。SDK があれば、呼び出し側は安定した関数名、型、実際に動作するサンプルを利用できます。研究室のデータ収集ソフトウェアや社内分析プラットフォームにモデルを組み込むのが、この層の役割です。

- **提供するもの。** 呼び出し可能なインターフェース、型、動作する最小限のサンプルです。呼び出し側がデータ読み取りやセッション連携を一から作り直す必要はありません。
- **提供しないもの。** 製品の UI を置き換えるものでも、統計手法を決めるものでもありません。手法は引き続きモデルが提案し、利用者が確認します。
- **プラグインとの違い。** プラグインはエディター内で開きます。SDK は、同じエージェントをすでに使っているプログラムへ組み込むため、別のサイドバーは必要ありません。

### Pize SDK の役割

Pize は、データ読み取り、セッションブリッジ、プログラミングエージェントを、組み込み可能なパッケージとして提供します。研究室のツールや社内プログラムは、別のエディターウィンドウを開かなくても、モデルに実データを計算させ、利用者の確認後に変更させることができます。

## MCP は接続口であり、別のモデルではない

MCP（Model Context Protocol、モデルコンテキストプロトコル）はオープンなプロトコルです。データソースごとに独自の接続方法を用意することなく、モデルが実行時に外部のツール、データ、プロンプトへ接続できるようにします。

モデル自体が行うのは推論です。データベースの中身を直接見ることも、計測機器用ソフトウェアのパラメーターを操作することもできません。MCP は、ツール（呼び出せる操作）、リソース（読み取れるデータ）、プロンプト（再利用できる指示）の 3 つを定義します。この規約を実装したシステムなら、モデルは同じ方法で利用できます。

- **解決すること。** モデルと外部システムが、それぞれ独自の接続方法を考案する必要がなくなります。データベース、ナレッジベース、社内ゲートウェイへ、1 つのプロトコルで接続できます。
- **MCP ではないもの。** モデルでも SDK でもありません。エージェントを独自のプログラムへどう組み込むかは決めず、実行中のエージェントが外部へどう接続するかだけを定めます。
- **Pize での使い方。** Pize はクライアントとして他の MCP サーバーへ接続します。安全性の境界は引き続き利用者の承認です。既定では読み取り専用で、操作の実行前には承認を待ちます。

### SDK と混同しないために

SDK が答えるのは「Pize を自分のプログラムにどう組み込むか」です。MCP が答えるのは「実行中のエージェントが、既存のツールやデータへどう接続するか」です。一方は組み込み、もう一方は外部接続を担います。

## モデルが考え、SDK が組み込み、MCP が外部へつなぐ

AI システムが研究で正しい数値を得るために不足しているものは、多くの場合「より大きなモデル」ではありません。モデルが実データを確認でき、実際のツールを操作でき、普段使っているソフトウェア内で動作できるかどうかです。

Pize はこの 3 つの層を分けながら、相互に接続します。モデルは手法を選び、コードを書きます。SDK はそのエージェントを利用者のツールに組み込みます。MCP は、実行時にライブラリ、計測機器用ソフトウェア、社内システムへ接続できるようにします。データの読み取りが最初であることは変わりません。データが誤っていれば、後の 2 層はその誤りをさらに広げるだけです。

| 層 | 役割 | Pize での実装 |
| --- | --- | --- |
| モデル | 推論し、手法を選び、コードを書く | 接続した任意のプロバイダーのモデル、またはローカルモデル |
| SDK | 既存のプログラムにエージェントを組み込む | エディタープラグインと同じデータ読み取り、計算、承認 |
| MCP | 実行時に外部のツールやデータへ接続する | クライアントとして接続。既定では読み取り専用。操作は利用者の承認を待つ |

順序は変わりません。まず正しく読み取り、次に組み込み、その後に外部へ接続します。いずれかの層の順序を逆にすれば、その後の数値は信頼できません。

## なぜ「正しく読み取る」ことが統計分析の前提なのか

統計上の誤りがクラッシュとして現れることはほとんどありません。区切り文字を間違えればすべての列がずれ、先頭行をヘッダーとして扱えば最初の観測が消えます。NA や NULL を 0 として扱えば平均と分散が変わり、数値列を文字列型と判定すれば回帰分析では因子として扱われます。それでもプログラムは止まらず、もっともらしい誤った数値を返します。読み取り時の誤りは、その後の検定・モデル・推論すべてに引き継がれます。

そのため、Pize の目的はモデルにより多くのコードを書かせることではありません。まずデータの形状、各列の型、欠損値の数、おおよその行数を把握させ、その後で計算・モデリング用のコードを書き、実際のセッションで実行して結果を示します。

## 統計データの認識と読み取り

形式はファイル拡張子ではなく内容から判定します。研究データでは .txt に表が入っていることが多い一方、.csv がわずか 3 行の設定ファイルであることもあります。以下の各判定が、その後に得られる数値を直接左右します。

- **区切り文字の判定。** タブ、カンマ、セミコロン、パイプ記号（|）から一つを選びます。各行の列数が一定で、フィールドが表のセルらしく見えることも確認し、文ごとにカンマを含む文章を 2 列の表と誤認しないようにします。
- **ヘッダーかデータか。** 先頭行の数値列に相当する位置に数値が含まれていれば、その行は列名ではなく観測です。最初の観測をヘッダーと誤認することは、サンプルが一つ失われる典型的な原因です。
- **欠損値は型推論から除外する。** 空文字列、NA、NaN、NULL はそれぞれ欠損値として認識します。そうしなければ、空値だけの列が数値列と判定され、存在しない数値の要約をモデルに促すことになります。
- **列ごとの型推定。** 数値 / テキスト / 空列を列ごとに付けます。平均・分散・回帰に入れてよいかは、この一段で決まります。
- **コメントとメタデータを剥がす。** #、!、@XX で始まる先頭ブロックを先に除きます。VCF は列名を最後のコメント行に隠しますが、それも復元し、列に名前が付きます。
- **圧縮表は透過的に読む。** .gz は自動展開し、大きさは展開後で判断します。1 MB の書庫に 20 MB の表が入っていることがあります。
- **行数の見積り。** すでに読んだ接頭のバイト比から総行数を見積り、見積りだと明示します。事実としては報告しません。
- **上限を超えるファイルには、エラーではなくデータカードを返す。** コンテキスト予算を超えた場合は、サイズ、区切り文字、推定行数、列名と推定型、先頭 2 行を返します。モデルはその情報から適切な読み取りコードを書けるため、100 万行の表がコンテキストを使い切ることはありません。

### 統計・研究でよく使われるバイナリコンテナ

統計データはプレーンテキストばかりではありません。Parquet、Feather、Arrow、RDS、RData、h5ad、Loom、HDF5、NumPy、SPSS（.sav）、Stata（.dta）、SQLite、DuckDB を付けても、Pize は「バイナリは読めない」とは返しません。形式名と開き方（readRDS、anndata.read_h5ad など）を告げ、正しい読み取りコードを書かせます。PDF、DOCX、XLSX、Notebook はテキスト抽出で、同じように読めます。

## 推測の上ではなく、本物のデータで計算する

読んでから計算します。Pize は統計手法を代わりに発明しません。モデルが本物のデータを見ていること、各段の結果が見えることを保証します。

- **本物の分布から手法を選ぶ。** モデルは行数、列数、列型、列ごとの欠損数と要約を受け取り、パラメトリックか非パラメトリックか、変換するか、欠損をどう扱うかを判断します。
- **書いたらすぐ走らせる。** 生成した R または Python は、確認後に今のセッションで実行されます。返るのは本物の出力であり、モデルが想像した数字ではありません。
- **図で診断する。** 直近の図を取れます。QQ 図、残差図、分布図など、見て判断する診断にモデルも加われます。
- **反復を閉じる。** 実行、結果を読む、直す、は同じセッションで完結します。プロセスを替えて中間変数が消えることはありません。
- **集約だけ渡し、生の行は渡さない。** 表の要約は構造と統計量を返します。生の観測はセッションに残ります。

## Positron ランタイム橋渡し

分析の真実はファイルではなくメモリにあります。橋渡し層は Positron 公開の拡張 API で、いまフォーカスしている R または Python セッションを読みます。ランタイムを作ったり切り替えたりはせず、すでに使っているものだけを使います。

### 読み取り、要約、実行、図の取得

| ツール | 役割 | 承認レベル |
| --- | --- | --- |
| `get_session_context` | セッションの言語、状態、変数一覧を読む（メタデータのみ） | 読み取りクラス |
| `inspect_variables` | 名前で変数の構造と切り詰めプレビューを見る | 読み取りクラス |
| `summarize_table` | データフレームの行数・列数、列の型、欠損値の数、要約統計を取得する | 読み取りクラス |
| `execute_code` | 確認後、今のセッションで統計コードを実行する | コマンドクラス、既定はオフ |
| `get_current_plot` | 直近の図をモデルが見られるよう取る | コマンドクラス、既定はオフ |

安全境界は設計の一部です。呼び出しのたびに対象セッションが引き続きフォーカスされているか確認し、別のセッションに切り替わっていれば拒否します。出力総量、変数数、プレビュー長、画像サイズには厳格な上限があります。生データの行、コンソール履歴、機密情報は返しません。通常の Pize Code では、これら 5 つのツールは自動的に表示されなくなります。

### 添付ファイルはエディタバッファから取得する

入力欄下の添付チップが読むのはディスクの古い版ではなく、エディタバッファです。保存前に直したスクリプトやデータが、モデルが見るそのものです。同じ内容の重複添付はハッシュで除きます。

## 読み取りロジックは、推測ではなく検証に基づく

- **生成コーパスを使った回帰テスト。** 31 種類のファイル形状についてラベル付きサンプルを生成し、1 回につき 1 万件を検出器に通します。初回は 458 件が失敗し、判明した 4 種類の欠陥を一つずつ修正しました。乱数シードは固定されているため、同じ入力を使って修正済みの不具合が再発しないことを確認できます。
- **すべての接続点にトリップワイヤーテスト。** upstream コードとの接続点はすべてテストされています。マージで接続用の 1 行が抜ければテストが直ちに失敗するため、テストスイートが成功したまま機能だけが気づかれずに壊れることはありません。
- **マージのたび完全な点検表を走らせる。** 数千のユニットテスト、二系統の型検査、リポジトリ全体の lint。梱包後は成果物を開いて、挙動が本当に入っているか確認します。
- **ワンクリック自己点検。** コマンドパレットの橋渡し点検は、本当にセッションを一度読みます。合格は、ツールが本物のデータに届いた証明です。
- **公式版と共存する。** 独立した拡張 ID で出荷するので、上流プラグインと同時インストールでき、上書きしません。

アーキテクチャには一貫した原則があります。新しい動作は必ず新しいファイルに実装し、upstream ファイルは必要な呼び出し箇所だけ変更します。そのため、10 件の upstream コミットを取り込むマージでも競合が 1 行だけで済むことがあります。一度リリースして止まるのではなく、upstream の更新を継続的に取り込めます。

## 最初に確認したい 7 つの質問

### Pize とは何ですか？

Pize は、科学技術計算と統計分析のための AI コーディングアシスタントです。Pize Code と Positron で動作し、SDK としても提供されます。

### SDK とは何ですか？ Pize にもありますか？

SDK は、機能を別のプログラムへ組み込むための、呼び出し可能なインターフェース、型、サンプルのセットです。Pize は SDK を提供しており、同じデータ読み取り機能と同じエージェントをエディター以外でも利用できます。

### MCP とは何ですか？ Pize は対応していますか？

MCP は、モデルが外部のツールやデータへ接続するためのオープンなプロトコルです。Pize はクライアントとして MCP サーバーへ接続します。MCP を通じてデータベースや社内ゲートウェイへ接続でき、既定では読み取り専用です。

### Pize SDK と MCP は AI モデルとどう連携しますか？

モデルが推論し、SDK がエージェントを製品へ組み込み、MCP が実行時に実際のツールやデータへ接続します。Pize は 3 つの層すべてを連携させ、その前段にデータ読み取りを置きます。

### Pize はどこで動作しますか？

Pize Code、Positron、CLI、SDK で動作します。

### Pize は Cursor の代わりになりますか？

いいえ。Pize は数値計算と統計分析を対象としています。重視するのはデータ読み取りと実際のセッション内での計算であり、幅広いコードを少しずつ書く汎用ツールになることではありません。

### Pize はどのようなデータを読み取れますか？

内容から区切り文字、ヘッダー、欠損値、列の型を検出します。テキスト表に加え、Parquet、RDS、h5ad、SPSS、Stata などのコンテナ形式を開く方法も示します。コンテキスト予算を超えるファイルにはデータカードを生成し、表全体をコンテキストへ詰め込むことはありません。

## 四つの手順で、一つのデータから一つの結論へ

プラグインをインストールし、モデルを接続して、データを渡します。あとは「コードを書く—実行して結果を得る—図を確認して修正する」というサイクルを繰り返します。

1. **プラグインを入れる** Pize Code または Positron に拡張を入れます。サイドバーに Pize アイコンが出ます。
2. **モデルをつなぐ** 任意のプロバイダーの API Key を入力するか、ローカルモデルと自己ホスト型エンドポイントを指定します。
3. **データを渡す** 現在のデータファイルを添付するか、Positron でデータがすでに読み込まれているセッションにフォーカスします。
4. **まず計画し、それから実行する** 計画モードで分析方針をそろえます。確認後、Pize にコードを書かせて実行し、図を基に修正させます。

Positron ツールは Positron ホスト内でのみ表示され、既定では読み取り専用です。コード実行と図の取得にはコマンドクラスの承認が必要で、明示的に有効にしなければなりません。行数は推定値、要約統計はランタイム由来であり、どちらも結果内に出所が明記されます。
