2-16 / Series
2-16 № 16 · 2026

全ての上に、
自前の AIを乗せる。

全ての上に AI を乗せる ── 自社データに通じた答えを、自分の側で

自社のデータに通じた AI は、自分の側に置ける。

前章で情報を整えた。整備が本体で、AI は最後の一手だ ── その最後の一手が、この章である。自立編の最後に、これまで立てた全ての上に AI を乗せる。土台・門番・文書・コード・メール・会議 ── そこに積まれた自社のデータに通じた AI を、自分の側に持つ。 2-03 で有効にした pgvector が、ここでようやく効く。

自前の AI を持つ理由は三つある

モデルは North Mini Code を Ollama で立てる

手軽に始めるなら Ollama である。オープンウェイトのモデルを一行で立て、API として使える。

最初に入れるのは North Mini Code(Cohere)── オープンウェイト(Apache 2.0)の、エージェント型コーディングモデルだ。「ビルダーが AI にコードを書かせる」という、本連載の中心の道具にあたる。30B の MoE でアクティブは 3B と軽く、ローカル機でも低遅延で動く。

置き場は、2-02 の一台ではなく別のサーバーだ。入れ方は Docker を使わず、公式の入れ方で systemd のサービスとして入れる(2-02)。待ち受けは社内の口に限り、 2-02 の一台からだけ届くようにする。

curl -fsSL https://ollama.com/install.sh | sh   # 公式の配布。systemd のサービスとして入る
ollama pull north-mini-code-1.0                  # オープンウェイト、手元で動く

試すだけなら OpenRouter の無料枠で叩けるが、本番は自前で動かし、コードもデータも外に出さない。Cohere は、欧州の Aleph Alpha と並ぶソブリン AI の一角だ(→ ブログ 027)。

RAG やチャットには、これとは別に汎用モデル(Qwen など)と埋め込みモデルを、同じ Ollama に並べて乗せる。処理量が増えたら、スループットの高い vLLM(PyPI)に載せ替える。まず立てて、必要に応じて差し替える。

RAG で、2-03 の pgvector に中身を入れる

ここが 2-03 の回収だ。社内の文書・コード・メールを埋め込み(ベクトル)にして pgvector に入れ、質問に近い断片を引いて、モデルに答えさせる ── これが RAG(検索拡張生成)である。

# 1) 文書を埋め込み、2-03 の pgvector に入れる
emb = embed(text)                       # ローカルの埋め込みモデル
pg.execute("INSERT INTO docs(body, embedding) VALUES (%s, %s)", [text, emb])

# 2) 質問に近い断片を引き、モデルに渡して答えさせる
hits = pg.execute(
  "SELECT body FROM docs ORDER BY embedding <=> %s LIMIT 5", [embed(q)])
answer = llm(f"次の資料に基づいて答えよ:\n{hits}\n\n質問: {q}")

2-03 で器だけ用意したテーブルが、いま中身を得る。自社の実データに基づいて、出典つきで答える AI が、自分の側に立つ。

AI は門番を迂回しない

一つだけ、先に設計として決めておくことがある。*RAG は、聞いた人が開ける文書の中でだけ検索する* ── これを最初から仕様に書く。全社の文書を食わせた AI に、権限のない社員が質問すれば、開けないはずの文書の中身が答えとして漏れる。門番(2-05)と文書の置き場の権限(2-07)を、ここで迂回させてはいけない。

やり方は二段でいい。既定では、RAG に載せるのは 2-15 で整備した全員が読める共有知識だけにする ── 載せる範囲を整備の時点で決めるのが、一番確実だ。権限のある文書まで検索させたい場合は、pgvector の行に文書の権限を持たせ、検索をその人のトークンで絞る。出典が、その人の開ける文書だけになる。

検索も、鍵の内側で行う。 AI は、門番を迂回しない。

人が使う窓口は Open WebUI で立てる

人が使う窓口は Open WebUI である。ChatGPT や Copilot に似た画面で、立てたモデルと RAG につながる。PyPI にあるので uv tool install open-webui で入り(Docker は要らない)、 Ollama と同じ AI のサーバーに置く。外からの入口は 2-02 の一台の Caddy が受け、門番の内側で、AI のサーバーの社内の口へ渡す。

ai.example.com { reverse_proxy <AI のサーバーの社内アドレス>:8080 }

自前と借用の線は、正直に引く

オープンモデルは実用十分まで来た。だが、*最も難しい判断や大規模なコード生成では、いまも最前線のモデル(2-02 で契約した AI)が強い*。これはメールの送信中継(2-08)や Cloudflare(2-11)と同じ構図だ。

主導権は自分の側に、能力は必要な分だけ借りる。全部を自前にすることが目的ではない ── データと日常処理を手元に置き、難所だけ外に出す。

そして、自前に持てる範囲は、ハードの進化とともに広がる。AMD の Ryzen AI Max PRO 400 シリーズ(2026 年第 3 四半期、ASUS・HP・Lenovo から)は、最大 192GB の統合メモリ(うち最大 160GB を VRAM に)を積み、300B 級のモデルをローカルで動かせる(AMD の発表、2026 年)。これが載った機械が AI のサーバーになれば、いま借りるしかない重い文書 RAG も、手元に降りてくる ── 借りる側の線は、年々後退していく。

自前の AI の価値は、賢さの最大化ではない。自社データを手放さずに、AI を日常に組み込めることだ。

確かめ方

この章は、次の五つができていれば済みだ。

  1. ブラウザで ai.example.com を開くと、2-05 の門番のログインを通ってから画面が出る
  2. 社内の文書について聞くと、出典つきで答えが返る。出典を開くと、その文書が実在する
  3. 権限の無いアカウントで同じことを聞くと、その文書の中身が答えに出ない
  4. Ollama に立てたモデルの一覧に、North Mini Code と汎用モデルと埋め込みモデルが並ぶ
  5. コードを書かせている間、社内の機械から外へ出る通信が無い
curl -s localhost:11434/api/tags           # 立てたモデルの一覧が返る
psql -c "SELECT count(*) FROM docs;"       # pgvector に入った文書の数
curl -sI https://ai.example.com | head -1  # 窓口の頁が返る

人が持つ物

人が渡す値

AI が「やる前に言う」操作

確かめた版と日付

まとめ ── 立て終えたもの

全ての上に、自前の AI を。

2-02 から 2-16 まで、Microsoft 365 と基幹のベンダー製品を、一つずつ OSS に置き換えてきた。AI に渡した一台の機械・土台・門番・文書・コード・メール・会議・予約・Web・ API・情報の整備・AI ── そのどれも、書いたのではなく、立てた。

1-05 に書いたとおり ── AI の効果より、OSS の効果のほうが大きい。汎用は、すでに世界で共有されている。

立て終えたら、次に決まるのは運用だ。次章では、据えた AI にどこまで任せるかの線を引く ── 自律で動かさず、決まったことはコードとコマンドに凍結する。それで自立編は閉じる。


関連記事