自己進化するAIの舞台裏:Tian AIのアーキテクチャ
クエリを処理するだけでなく、実際に成長し学習して自分自身を改善していくAIシステムを作るには、何が必要なのかと思ったことはありませんか?
この記事では、Tian AIのアーキテクチャの中身を紹介します。Tian AIは、Android上で完全に動作するオープンソースのローカルAIシステムです。クラウドもありません。APIもありません。あるのはコード、ローカルの言語モデル、そして34GBの知識ベースだけです。
全体像
Tian AIのアーキテクチャは、シンプルな洞察に基づいています: 小さなモデル + 優れたアーキテクチャ + ローカルの知識 > 大きなモデルだけ。
┌──────────────────────────────────────────────┐
│ Web/Mobile UI │
├──────────────────────────────────────────────┤
│ Flask API Layer │
├────────────┬───────────┬─────────┬───────────┤
│ Thinker │ Memory │ Search │ Evolve │
│ Engine │ System │ Engine │ Engine │
├────────────┴───────────┴─────────┴───────────┤
│ LLM Bridge (llama.cpp API) │
├──────────────────────────────────────────────┤
│ Knowledge Base (34GB SQLite) │
└──────────────────────────────────────────────┘
1. 3層の思考エンジン
ここがTian AIの心臓部です。すべてのクエリに対して単発で処理するのではなく、システムには3つの思考モードがあります:
Fast Mode
単純なクエリ向け—挨拶、事実、まっすぐな質問。単一パスで、連鎖(チェーニング)は行いません。応答は約~0.04s。
アーキテクチャ:最小限のコンテキストでLLMを直接呼び出す
Chain-of-Thought Mode
段階的な推論の恩恵を受ける問題向けです。LLMには、回答する前に「考えを声に出す(think aloud)」よう促します。
アーキテクチャ:
- ユーザーのクエリ → CoTプロンプトのテンプレート
- 「これを順を追って分解してみましょう…」
- 中間トークンが推論を導く
- 推論の連鎖から最終回答を抽出
Deep Mode
複雑な分析、多面的な評価、そして熟考向けです。システムは複数の視点を生成し、それらを統合します。
アーキテクチャ:
- クエリ → 視点分析 → 3つの視点
- 各視点を独立して掘り下げる
- 視点をまたいだ統合
- 熟考を含む最終回答
2. 34GBの知識ベース
知識ベースは切り札です。事前に構築されたSQLiteデータベースで、以下を含みます:
- 69,000+のコンセプト(100以上の領域にまたがる)
- 各コンセプトにつき30の質問パターン(2.07百万のクエリ可能なキー)
- 多言語対応(中国語 + 英語)
- 即時のインデックス検索(クエリあたり0.04〜0.1s)
仕組み
# 簡略化したクエリの流れ
def answer_query(user_input):
# 1. キーとなるコンセプトを抽出
concepts = extract_concepts(user_input)
# 2. 知識ベースで検索
results = knowledge_base.search(concepts)
# 3. KBに答えがある場合はそのまま返す
if results.confidence > 0.8:
return results.answer
# 4. そうでない場合、KBのコンテキストでLLMを補強する
context = format_kb_context(results)
return llm.generate(augmented_prompt(user_input, context))
なぜSQLite?
- サーバ不要 — プロセス内で動作
- 持ち運び可能 — 単一ファイル
- インデックス付き — 高速なLIKE + FTSクエリ
- 更新可能 — 再学習なしで新しい知識を追加
3. 自己修正システム
これは最も大胆な機能です:Tian AIは、自身のソースコードを分析し、改善案を提案し、パッチを適用することができます。
class SelfModifyEngine:
def scan_code(self):
"""ASTベースでプロジェクト内のすべてのファイルを解析"""
def analyze_complexity(self, filepath):
"""循環的複雑度、重複、スタイル上の問題を検出"""
def suggest_improvement(self, filepath):
"""LLMが生成した改善提案"""
def apply_patch(self, filepath, old, new):
"""自動バックアップ付きの安全なパッチ適用"""
def auto_improve(self):
"""完全なループ:スキャン → 分析 → 提案 → パッチ"""
流れ:
-
SCAN — プロジェクトを巡回し、
astで各Pythonファイルを解析する - ANALYZE — 複雑度を測定し、重複を検出し、問題を見つける
- SUGGEST — 構造化されたプロンプトでローカルLLMに分析結果を送信する
- APPLY — パッチを適用する(必ず先にバックアップを取る)
-
VERIFY —
compile()で構文を検証し、基本的な動作をテストする
4. Evolution Engine
Tian AIは、ただ動くだけではありません。成長します。進化システムは以下を追跡します:
- XP — 会話やタスクを通じて獲得
- レベル — マイルストーンが新しい能力の解放につながる
- バージョン — 名前付きリリース(M1-E1-Theme形式) 返却形式: {"translated": "翻訳されたHTML"}
- Topics — ドメイン知識に向けた深さのトラッキング
5. 詳細なテックスタック
| レイヤー | 実装 | 理由 |
|---|---|---|
| LLM | llama.cpp + Qwen2.5-1.5B GGUF | ARM上で動作し、GPU不要 |
| バックエンド | Flask、RESTful API | 最小構成で、よく理解された仕組み |
| フロントエンド | 純粋なHTML/CSS/JS | 依存関係ゼロ、移植性が高い |
| データベース | SQLite(34GB) | ファイルベースで、サーバー不要 |
| 認証 | シンプルなセッション + localStorage | 外部依存なし |
| 検索 | DuckDuckGo API(任意) | ローカルKBを補強 |
| ツール類 | C++(tian_engine)、C(tian_hash)、Java(tian_tools) | 性能が重要なパス |
6. 実機でのパフォーマンス
実機の realme V70s(Android、aarch64、RAM 5.5GB)でテストしました:
| 操作 | 時間 |
|---|---|
| トークン生成 | 約7 tok/s |
| プロンプト処理 | 約12 tok/s |
| 知識ベースの参照 | 0.04〜0.1s |
| コールドスタート(モデル読み込み) | 約45s |
| チャット応答(Fastモード) | 1〜3s |
| チャット応答(Deepモード) | 15〜30s |
7. 次に何をするか
- マルチモーダル対応 — ローカルのビジョンモデルによる画像理解
- プラグインシステム — 拡張可能なツール呼び出し
- RAGの改善 — ドキュメント取り込みの強化
- Android APK — スタンドアロンアプリ、Termux不要
- 連合学習 — プライバシーを保護したモデル改善
Getting Started
# クローンして実行
git clone https://github.com/yourusername/tian-ai
cd tian-ai
# 依存関係をインストール
pip install -r requirements.txt
# モデルをダウンロード
wget -O ~/storage/downloads/qwen-1.5b-q4.gguf [model_url]
# LLMサーバーを起動
llama-server -m ~/storage/downloads/qwen-1.5b-q4.gguf --port 8080
# Tian AIを起動
python run.py # バックエンド全体
# もしくは単に開く
xdg-open tian_ai_standalone.html # 純粋なフロントエンド
Tian AI — オープンソース、プライベート、誰のためにも自律的に進化するAI。
開発をサポート:
USDT(TRC-20):TNeUMpbwWFcv6v7tYHmkFkE7gC5eWzqbrs
BTC:bc1ph7qnaqkx4pkg4fmucvudlu3ydzgwnfmxy7dkv3nyl48wwa03kmnsvpc2xv


