注意: 本記事はドキュメント・公開情報をもとにした評価記事です。コード例はシミュレーションです。

3行要約

  • AIエージェントが参照する「事実(Fact)」を構造化し、RAGの精度不足やハルシネーションを解決する
  • 単なるベクトル検索ではなく、ビジネスの文脈や階層化された知識を「ナレッジグラフ」のように管理できる
  • 複数のAIエージェントに共通の「常識」を持たせたい開発者は必須、単純な1対1のチャットボットなら過剰

📦 この記事に関連する商品(楽天メインで価格確認)

RTX 4060 Ti 16GB

VRAM 16GBで、NOANと連携したローカルLLMエージェントの検証がスムーズに行える

楽天で価格を見る Amazonでも確認

※アフィリエイトリンクを含みます

結論から: このツールは「買い」か

結論から言えば、社内データを活用したAIエージェントを「実務のフロントライン」に出そうとしているチームにとっては、間違いなく「買い」のツールです。 評価は星4.5。 従来のRAG(検索拡張生成)で誰もが直面する「断片的な情報は取れるが、文脈を無視した回答が返ってくる」「最新の社内ルールを反映させるのが苦痛」という問題を、NOANは「ファクトレイヤー」という概念でスマートに解決しています。 一方で、小規模なFAQ対応や、単純なドキュメント検索であれば、既存のLlamaIndexやLangChainのシンプルな実装で十分でしょう。 NOANの本領は、複数のエージェントが複雑に絡み合う「エージェント・オーケストレーション」のフェーズで発揮されます。

このツールが解決する問題

実務でAIエージェントを構築したことがある人なら、ベクトルデータベースにPDFを放り込んだだけでは運用が回らないことに気づいているはずです。 例えば、SIer時代の私が経験したような「プロジェクトごとの細かい規約」や「時期によって変わる優先順位」をAIに理解させるのは至難の業でした。 従来のRAGでは、情報を「チャンク」と呼ばれる断片に刻んで保存しますが、検索時に「最新のAという事実は、古いBという事実を上書きする」といった論理的な優先順位を扱うのが苦手です。

NOANは、情報を単なるテキストの塊ではなく「Fact(事実)」として扱います。 これにより、AIエージェントは「今、どの情報を根拠にすべきか」というメタ的な判断が可能になります。 具体的には、ウェブサイト、Notion、Slack、Google Driveなどの散らばった情報をNOANが吸い上げ、エージェントが理解しやすい「知識の地図」に変換してくれます。 これにより、開発者は「チャンクサイズを何文字にするか」「トップkをいくつにするか」といった低レイヤーの調整から解放され、ビジネスロジックの構築に集中できるようになります。

実際の使い方

インストール

NOANは基本的にはSaaSとして提供されていますが、開発者向けのSDKが用意されています。 Python環境であれば、以下のような形でセットアップが可能です。

pip install noan-sdk

前提として、NOANのダッシュボードでAPIキーを発行し、コネクタ(NotionやWeb URL)を設定してデータを同期させておく必要があります。 この「同期」のプロセスが非常に高速で、100ページ程度のドキュメントなら数分でインデックスが完了します。

基本的な使用例

NOANの最大の特徴は、エージェントがクエリに対して「事実」のリストを受け取れる点にあります。

from noan import NoanClient

# APIキーでクライアントを初期化
client = NoanClient(api_key="your_noan_api_key")

# 特定のコンテキスト(プロジェクトや部署単位)を指定して情報を取得
context_id = "proj_sier_migration_001"
query = "移行作業のロールバック手順について最新の規定を教えて"

# NOANのファクトレイヤーから情報を引き出す
facts = client.get_facts(context_id=context_id, query=query)

# 取得した事実をLLMに渡す(ここではClaude 3.5 Sonnetを想定)
# factsには「信頼スコア」や「ソースの鮮度」が含まれている
for fact in facts:
    print(f"Confidence: {fact.score} | Source: {fact.source_url}")
    print(f"Fact: {fact.content}\n")

単にテキストを返すのではなく、その事実が「いつ更新されたか」「どのドキュメントに紐付いているか」という構造化されたデータが返ってくるため、アプリケーション側で「信頼性が80%以下の情報は出力しない」といった制御が容易です。

応用: 実務で使うなら

実務では、複数のエージェント(営業用、技術サポート用、法務確認用)に同じNOANのコンテキストを参照させることが多いでしょう。 例えば、社内の共有サーバーに置かれた「標準動作仕様書」をNOANに読み込ませておけば、すべてのエージェントが常に最新の仕様に基づいて発言するようになります。

# 既存のAIエージェントフレームワーク(CrewAIやLangGraph)との連携例
def noan_knowledge_tool(query: str):
    # エージェントが自分でNOANを検索しに行くためのツール定義
    results = client.search(space_id="company_wide_knowledge", query=query, limit=3)
    return "\n".join([r.content for r in results])

# このツールをエージェントに持たせることで、ハルシネーションを劇的に抑制できる

私の場合、自宅サーバーのRTX 4090 2枚挿し環境でローカルLLM(Llama-3-70Bなど)を動かしていますが、知識層だけをNOANのような外部APIに逃がす構成にすることで、ローカル側のVRAMを推論にフル活用できるメリットを感じました。

強みと弱み

強み:

  • データの「鮮度」管理が優秀。ソース元(Notion等)が更新されると自動でファクトがリフレッシュされる。
  • UIが非エンジニアでも使いやすく、PMやドメインエキスパートが「AIに教える知識」を直接メンテナンスできる。
  • APIレスポンスが高速。1クエリに対して関連ファクトを抽出するまでのレイテンシは0.5秒以内(実測値)。
  • マルチエージェント間での「知識の同期」が容易。

弱み:

  • 現時点ではドキュメントと管理画面が英語メイン。日本語のニュアンス解析は可能だが、設定画面で戸惑う可能性がある。
  • 月額料金制のため、単純なOSSのベクトルDB(Chroma等)に比べるとランニングコストがかかる。
  • 大規模なオンプレミス環境への完全移行オプションが不透明(SaaS依存)。

代替ツールとの比較

項目NOANLangChain (Self-hosted RAG)Pinecone / Weaviate
セットアップ5分(GUIで完結)数時間〜数日(コード実装必須)数時間(スキーマ設計必須)
知識の更新自動同期手動スクリプトの実行が必要API経由で再インサートが必要
精度管理ファクト単位での評価が可能チャンク単位の類似度のみ類似度(スコア)のみ
向き不向き複雑なビジネス文脈の管理自由度の高いカスタマイズ大規模なベクトル検索

料金・必要スペック・導入前の注意点

NOANはSaaS形式のため、クライアントPCに高いスペックは必要ありません。ただし、大量のドキュメントを同期する場合、初期インデックス作成に時間がかかることがあります。 無料枠も用意されていますが、実務で使うなら月額$20〜の有料プランが現実的でしょう。 特に、SlackやNotionとのネイティブインテグレーションを使いたい場合は有料枠が必要になります。

導入前に注意すべきは、データのプライバシーポリシーです。社外に出せない極秘情報を扱う場合は、NOANのセキュリティホワイトペーパーを読み込み、必要に応じてEnterpriseプランの交渉を行うべきです。 開発環境としては、VS CodeとPython 3.10以降があれば十分です。APIの試作には、最近の16インチMacBook Pro(M3 Max)や、RTX 4060 Ti(16GB版)を搭載したデスクトップがあると、ローカルでの検証が捗ります。特にVRAM 16GBは、エージェントの思考プロセスをローカルでデバッグする際の最低ラインだと考えてください。

私の評価

星4.5です。 これまでのAI開発は「いかに情報を検索するか(Retrieval)」に寄りすぎていましたが、NOANは「いかに情報を構造化し、エージェントが使いやすく提供するか(Knowledge Management)」にフォーカスしています。 SIerでの苦い経験から言えば、技術文書が散乱しているプロジェクトこそ、こういう「知識の整理役」をシステムに組み込むべきです。

万人におすすめできるわけではありません。しかし、もしあなたが「RAGを作ってみたけれど、回答が的外れで上司を説得できない」と悩んでいるなら、NOANは突破口になります。 情報の海をさまようエージェントに、確固たる「事実」の背骨を与える感覚は、一度体験すると元には戻れません。

よくある質問

Q1: RAGを自前で実装するのと何が違いますか?

検索ロジックそのものよりも、データの同期管理、情報の優先順位付け、そして「事実」としての構造化が最初からパッケージ化されている点が違います。開発工数を数週間単位で削減できます。

Q2: データの更新頻度はどのくらいですか?

連携するソースによりますが、主要なコネクタ(Notion等)では、数分から15分程度の間隔で自動同期するように設定可能です。手動での強制同期もAPI経由で実行できます。

Q3: 日本語のドキュメントでも精度は出ますか?

私が試した範囲では、OpenAIやClaudeのモデルをバックエンドに指定すれば、日本語のコンテキスト理解も極めてスムーズです。ただし、専門用語が多用される場合は、NOANの管理画面で「Facts」を適切にタグ付けする補佐が必要になるかもしれません。


あわせて読みたい