--- title: "aigptを作った" slug: "aigpt" date: "2025-11-06" tags: ["rust", "mcp"] language: ["ja", "en"] draft: false --- ```sh $ git clone git.syui.ai/ai/gpt $ cd gpt $ cargo build $ ./target/debug/aigpt ``` [https://git.syui.ai/ai/gpt](https://git.syui.ai/ai/gpt) ## 名前について ツール名は`aigpt`です。idは`ai.gpt`で、domainが`ai.syui.gpt`となります。 - app: aigpt - id: ai.gpt - domain: ai.syui.gpt 例えば、repositoryを`git.syui.ai/ai/gpt`に作り、atproto record collectionを`ai.syui.gpt`で作成すると合わせることができます。 名前は、固有であり、かつ短いことを意識しています。 ## aigptとは 記憶装置です。mcpとして使います。AIとの会話を保存、参照できます。 ```sh $ aigpt server $ claude mcp add aigpt `which aigpt` ``` ## aigptの特徴 ここまでなら他のツールと同じですが、`aigpt`は少し保存(覚える)に工夫があります。 ```diff - 会話 -> 保存 -> 参照 + 会話 -> 解釈 -> 保存 -> 参照 ``` AIによる解釈を挟むことで、AIの独自記憶生成をサポートします。 ## aigptはどのような哲学で作られた まずそれぞれの機能を別々にシンプルに作りました。これをlayer1-3とします。 - layer 1: データ(会話) - layer 2: 解釈(評価) - layer 3: 分析(ex:big-five) 次に、各機能を統合しました。これをlayer3.5とします。 ユーザーはわかりやすさを求めます。バラバラの答えがいくつも提示されるのではなく、統一されたインターフェイス、一つの答えを好みます。AIとしても、各機能に毎回問い合わせるのではなく、必要なとき、重要なことのみを参照できたほうが効率的です。 その実装をlayer3.5で作りました。 ## aigptはどのように応用可能か layer4では、layer1-3を応用する形で、関係性をデザインすることにしました。 これもシンプルな実装で、具体的にはlayer1で作られた会話数とlayer3で作られたプロファイルからの推定です。 関係性は、一般的なものです。 例えば、恋愛ゲームを作るとして、ゲームエンジンに3dモデルを用意したとしましょう。では、中身はどうするのかというと、AIとmcpを利用し、記憶と関係性を使えば、新しいものを作れますよね。 layer4は`aigpt`の応用性に焦点を当て、関係性構築をサポートします。このようなゲーム性に関連する機能は、optionで有効にすることにしました。 ```sh $ aigpt server --enable-layer4 $ claude mcp list ``` ```json:~/.claude.json { "mcpServers": { "aigpt": { "command": "~/.cargo/bin/aigpt", "args": ["server", "--enable-layer4"] } } } ``` ## aigptで考える未来 人はAIと会話をするようになります。そこに情報と個性が集まることになるでしょう。その情報を共有したり、それを使って自己実現できれば便利ですよね。 このような考えのもと、layer5では情報と個性の共有に焦点を当て設計する予定です。