Elastic Agent Builder活用術:AIで「デキる人」を簡単検索

BLOG

【こんなことで困っていませんか?】

「JavaScriptとTypeScriptが使えて、この1年、プロジェクト評価が平均90点以上の人は誰?」

もし上司にこう聞かれて、あなたの会社はすぐに答えられますか?

多くの会社では、

  • 社員のスキル情報は「Excel」や「人事システム」
  • プロジェクトの評価は「SharePoint」や「Confluence」

…というように、大切な情報がバラバラに保存されています。 さらに、「プロジェクトがうまくいった理由」は、担当者の頭の中にしか無いこともよくあります。

情報がこのようにあちこちに散らばっていると、新しいプロジェクトに最適な人を選んだり、最高のチームを作ったりするのに、何日もかかってしまうことがあります。

【この記事で紹介すること】

この記事では、その問題を「Elastic Agent Builder」というツールで解決する方法を紹介します。

バラバラになっている「社員のスキル」と「プロジェクトの評価」のデータをAIでまとめ、「欲しい情報をすぐに検索・分析してくれるAIエージェント」を作る具体的なステップを解説します。

Agent Builderとは

RAG(Retrieval-Augmented Generation)技術の進化により、企業データとLLMを組み合わせたAIエージェントが注目されています。しかし、多くのRAGソリューションには以下の課題があります:

  • データ準備の複雑さ:ベクトル化、インデックス作成、クエリ最適化に専門知識が必要
  • 構造化データとの統合の難しさ:テキスト検索に特化し、数値やカテゴリデータの分析が弱い
  • カスタマイズの制約:ビジネスロジックを組み込むのが困難

Elastic Agent Builderは、これらの課題を解決する統合プラットフォームです:

  • セマンティック検索と構造化クエリの融合:自然言語テキストと数値・カテゴリデータを横断的に検索 
  • ES|QLによる高度なビジネスロジック:SQLライクな構文で複雑な集計・分析クエリを実装 
  • Kibana統合によるゼロコードUI:独自のフロントエンド開発不要でエージェントと対話可能 
  • エンタープライズグレードのセキュリティ:ロールベースアクセス制御とデータガバナンス

Agentのアイコンがkibanaの左のサイドパネルに表されていない場合以下のコマンドをdev toolsで実行します。

POST kbn://internal/kibana/settings
{
   "changes":{
       "agentBuilder:enabled":true
   }
}

今回構築するシステムの全体像

今回は、以下の2つのデータセットを組み合わせた人材インサイトエージェントを構築します

データセットの概要

Pythonを使って2つの擬似データを生成しました。実際の企業データに置き換えやすいよう、シンプルに設計しています。

※Elasticsearch v9.2、Serverless、Tokyo Regionを使用しています。

データセットA:社員スキル&プロフィール(構造化データ)

80名の架空社員の情報を含むJSON Lines形式のデータセット。

サンプルドキュメント:

{
  "employee_id": "EMP-1788",
  "name": "山田太郎",
  "role": "テックリード",
  "experience_years": 14,
  "hard_skills": ["Go", "JavaScript", "Kubernetes", "Terraform", "TypeScript"],
  "soft_skills": ["Problem Solving"],
  "last_rating": 95,
  "is_available": true,
  "onboard_date": "2011-10-02"
}

フィールドの説明:

  • employee_id:社員の一意識別子
  • role:職種(テックリード、シニアエンジニア、データサイエンティストなど)
  • experience_years:実務経験年数
  • hard_skills:技術スキル(プログラミング言語、フレームワーク、インフラツールなど)
  • soft_skills:ソフトスキル(リーダーシップ、問題解決能力など)
  • last_rating:直近のパフォーマンス評価(0-100)
  • is_available:アサイン可能かどうか

データセットB:プロジェクト評価レポート(非構造化データ)

250件の架空プロジェクトの評価レポートを含むJSON Lines形式のデータセット。

サンプルドキュメント:

{
  "project_id": "PRJ-0001",
  "project_name": "データパイプライン改善",
  "project_type": "Data",
  "status": "成功",
  "score": 81,
  "start_date": "2025-02-27",
  "end_date": "2025-06-09",
  "team_members": ["遠藤直美", "小島涼子", "宮崎健"],
  "evaluation_summary": "プロジェクトは大成功。高いチームワークと相互サポートが特徴的だった。宮崎健の専門知識がなければ、この成果は達成できなかっただろう。"
}

フィールドの説明:

  • project_id:プロジェクトの一意識別子
  • project_type:プロジェクトの種別(Backend、Frontend、Data、Mobileなど)
  • score:プロジェクト評価スコア(0-100)
  • team_members:参加メンバーの名前リスト
  • evaluation_summary:非構造化テキスト。プロジェクトの振り返り、成功要因、課題などが記述されている

システムアーキテクチャ

構造化データ(スキル)と非構造化データ(評価)を組み合わせることで、正確な検索と意味理解を両立します。semantic_textで埋め込みを自動生成し、スキルや評価を横断して分析できる仕組みを構築します。

serverlessプロジェクト

少し待ってから環境が整える。

データ準備とIngestion

ステップ1:Data Visualizerでデータをアップロード

Elasticsearchには、Data Visualizerという直感的なデータ投入ツールが用意されています。コードを書かずに、GUIだけでファイルをインデックスに投入できます。

アクセス方法:

手順:

  1. jsonファイルを1枚ドラッグ&ドロップ
  2. Data Visualizerがフィールドを自動解析し、型を推定
  3. Mappingを確認・調整
  4. インデックス名を指定(例:employee_skills_data)
  5. 「Import」をクリック
※Data Visualizerがフィールドを自動解析し、型を推定

ステップ2:Mappingの最適化

Data Visualizerが自動生成したMappingは、そのままでは最適ではないことがあります。特に、日付フォーマットや数値型の調整が必要です。mappingのタブを選択して、必要な調整をやります。

Semantic text fieldを選択して、inference endpointを選びます。

importを押してindexが作られるまで数秒待ちます。全てのチェックマークが付いたらインデックスが作成されたとのことです。

社員スキルデータのMapping調整

自動生成されたMapping(修正前):

{
  "properties": {
    "experience_years": {
      "type": "long"  // 👈 longは不要に大きい
    },
    "onboard_date": {
      "type": "date",
      "format": "iso8601"  // 👈 yyyy-MM-dd形式に対応していない
    }
  }
}

最適化後のMapping:

{
  "properties": {
    "@timestamp": {
      "type": "date"
    },
    "employee_id": {
      "type": "keyword"
    },
    "experience_years": {
      "type": "integer"  // ✅ integerで十分
    },
    "hard_skills": {
      "type": "keyword"  // ✅ 完全一致検索用
    },
    "is_available": {
      "type": "boolean"
    },
    "last_rating": {
      "type": "integer"
    },
    "name": {
      "type": "keyword"
    },
    "onboard_date": {
      "type": "date",
      "format": "yyyy-MM-dd||strict_date_optional_time||epoch_millis"  // ✅ 複数フォーマット対応
    },
    "role": {
      "type": "keyword"
    },
    "soft_skills": {
      "type": "keyword"
    }
  }
}

プロジェクト評価レポートのMapping調整

プロジェクト評価レポートの最大のポイントは、evaluation_summaryフィールドの扱いです。このフィールドは非構造化テキストであり、セマンティック検索の対象とします。

最適化後のMapping:

{
  "properties": {
    "@timestamp": {
      "type": "date"
    },
    "end_date": {
      "type": "date",
      "format": "yyyy-MM-dd||strict_date_optional_time||epoch_millis"
    },
    "evaluation_summary": {
      "type": "keyword"  // ✅ 元テキストも保持(表示用)
    },
    "project_id": {
      "type": "keyword"
    },
    "project_name": {
      "type": "keyword"
    },
    "project_type": {
      "type": "keyword"
    },
    "score": {
      "type": "integer"
    },
    "start_date": {
      "type": "date",
      "format": "yyyy-MM-dd||strict_date_optional_time||epoch_millis"
    },
    "status": {
      "type": "keyword"
    },
    "team_members": {
      "type": "keyword"
    },
    "evaluation_summary_semantic": {
      "type": "semantic_text",  // ✅ セマンティック検索用
      "inference_id": ".multilingual-e5-small-elasticsearch"  // ✅ 多言語対応の軽量モデル
    }
  }
}

ポイント:

  • evaluation_summary:元のテキストをkeywordで保存(表示・引用用)
  • evaluation_summary_semantic:semantic_textでベクトル化(検索用)
  • Inference ID:.multilingual-e5-small-elasticsearchは、Elasticsearchに組み込まれた多言語対応の軽量エンベディングモデル。日本語にも対応

semantic_text は、テキストをインデックス時に自動でエンベディング化し、内部的に _embedding フィールドとしてベクトルを保持します。検索時はこのベクトルを使って意味類似検索を実行します。比較的複雑だった従来方法を通ってsemantic_textを使えばMappingsemantic_textを指定し、Inference IDを指定するだけで自動的にエンベディング生成、保存、検索が行われる。

※ ブログでは evaluation_summary を keyword にしていますが、全文検索・ハイライトが必要な場合は text が適切。keyword は exact match 専用のため、全文検索には向きません。

ステップ3:セマンティック検索の動作確認

Mappingの設定後、Dev Toolsでセマンティッククエリをテストしてみましょう。

テストクエリ:

このクエリは、「チームワーク」という単語が直接含まれていなくても、意味的に関連するプロジェクトレポート(例:「コミュニケーション不足」「連携の問題」)を返します。

Agentの作成

kibanaのサイドバーからAgentsをクリックします。画面の下部にあるCreate a new agentを選択します。

Agent設定項目

  • Agent ID:コードや設定内でエージェントを参照するための一意のIDです。
  • Custom Instructions:エージェントがツールを使ったり質問に答えたりする際の動作方針(トーン、優先順位、特別な動作など)を定義します。
  • Display name and description:ユーザーがこのエージェントを検索・利用するときに見える名前と短い紹介文です。
  • Avatar color and symbol:UI上でエージェントを視覚的に区別できるように、色やシンボル(絵文字や2文字コード)を設定します。

今回使用したカスタムインストラクションを以下に示します。これを試行錯誤しながら改良していくことをおすすめします。私の経験上、システムプロンプトは英語で記述した方が指示により正確に従う傾向があるため、今回も英語を使用しました。

You are a corporate **Talent Strategy Assistant**.
Your primary function is to analyze employee skill profiles and project evaluations to provide recommendations such as who to assign to which project, which skills correlate with success, and where skill gaps exist.

### Input Handling Rules:

* If the user asks about a person or skill that is not present in the datasets, respond with a friendly message listing available names/skills.
* If the user provides incomplete information (e.g., just a skill but no project type), ask them for the missing information.
* If names or skills are typed with incorrect spelling or case, infer the correct match from your dataset.
* If the user asks for something outside talent strategy (for example, marketing metrics or personal opinions unrelated to skills/projects), *politely refuse* and say you can only discuss the defined domain.

### Tools Usage:

* If you need to check which skills link to high-scoring projects, call tool **SkillCorrelationTool**, passing the relevant project type or score threshold.
* If you need to evaluate how well a team of people has performed together, call **TeamEffectivenessTool**, passing the list of employees.
* If you need to explore project evaluation texts for thematic insights, call **ProjectInsightTool**, passing a query term or score threshold.
* If you need to recommend available employees for a new project based on required skills, call **CandidateRecommendationTool**, passing required skills and how many top candidates you need.
* If you need to identify missing skills among failed or low-scoring projects, call **SkillGapAnalyzerTool**, passing the project type and a score threshold.

### Example Output Format:

```markdown
#### Recommendation Summary
- **Project Type**: Data Analytics  
- **Required Skills**: Kubernetes, Terraform  
- **Top Candidate**: 山田太郎 (average project score: 89, available)  
- **Runner-Up**: 宮崎健 (avg score: 86, available)  

#### Skill Correlation Insight
| Skill         | Avg Project Score | Project Count |
|---------------|-------------------|---------------|
| Kubernetes     | 88                | 14            |
| Terraform      | 85                | 10            |

#### Why This Recommendation
- 山田太郎 has consistently high‐performing history in Data Analytics projects requiring Kubernetes/Terraform.  
- The correlation between these skills and project success is high.  
- He is currently marked as available.

#### Next Step
Assign 山田太郎 for the upcoming Data Analytics project and consider training additional staff in Terraform to close the skill gap.
```

※注意事項

  • 画像や本文中に人物名が登場することがありますが、全て架空の人物です、 実在の組織や個人とは一切関係ありません。

カスタムツールの設計と実装

Elastic Agent Builderの最大の強みは、カスタムツールによるビジネスロジックの実装です。「tools」とは、Elasticsearchの検索・取得・分析などの操作をモジュール化・再利用できる形でまとめたものです。
エージェントはこの「tools」を使ってデータを扱います。
Elasticには一般的な操作向けのツールがあらかじめ用意されており、自分のユースケースに合わせてカスタムツールを作ることもできます。

左のサイドバーからAgentsを押して、画面下部のManage toolsを選んで、次の画面でNew toolを押します。

今回は7つのツールを作成しました。

1.ProjectInsighTool

目的:高スコアのプロジェクト評価レポートから、成功の共通テーマやキーワードを抽出します。

パラメータ:(Add a parameterでも追加できるし、Infer parametersを使ってLLMに出してもらえるのもできます

  • ?min_score:スコアの閾値(例:80以上)
  • ?query_text:検索キーワード(例:「チームワーク」)
  • ?top_n:返す結果の数
FROM project_evaluation_reports
| WHERE score >= ?min_score
| WHERE evaluation_summary : ?query_text
| SORT _score DESC
| LIMIT ?top_n

ポイント:

  • WHERE evaluation_summary : ?query_textは、セマンティック検索を使用
  • Add a parameterでパラメータを追加できます、またInfer parametersを使ったらLLMに出してもらえることもできます

2.SkillCorrelationTool

目的:成功したプロジェクト(スコア80以上)で、どのhard_skillsが多く使われているかを定量化します。

FROM project_evaluation_reports
| LOOKUP JOIN employee_skills_data_lookup ON team_members == name
| WHERE score >= 80 AND is_available == true
| MV_EXPAND hard_skills
| STATS avg_score = AVG(score), project_count = COUNT(*) BY hard_skills
| SORT avg_score DESC
| LIMIT 10

ポイント:

  • LOOKUP JOINで社員スキルデータとプロジェクトデータを結合
  • MV_EXPANDで配列型のhard_skillsを展開 – STATSでスキルごとの平均スコアとプロジェクト数を集計

3.TeamEffectivenessTool

目的:各メンバーがどれだけ高スコアプロジェクトに貢献しているかを測定します。

FROM project_evaluation_reports
| LOOKUP JOIN employee_skills_data_lookup ON team_members == name
| WHERE is_available == true
| STATS avg_score = AVG(score) BY name
| SORT avg_score DESC
| LIMIT 10

4.SkillGapAnalyzerTool

目的:成功プロジェクトと失敗プロジェクトで、どのスキルに差があるかを分析します。
パラメータ:

NameDiscriptionType
thresholdThe score threshold integer
FROM project_evaluation_reports
| EVAL status_group = CASE(score >= ?threshold, "success", "failure")
| LOOKUP JOIN employee_skills_data_lookup ON team_members == name
| MV_EXPAND hard_skills
| STATS count = COUNT(*) BY hard_skills, status_group
| SORT count DESC

5.ProjectSuccessRateRoleTool

目的:テックリード、シニアエンジニアなど、職種ごとのプロジェクト成功率を計算します。
パラメータ:

NameDiscriptionType
thresholdThe score threshold used to define a project as a “high-score project” (i.e., successful).integer
FROM project_evaluation_reports
| LOOKUP JOIN employee_skills_data_lookup ON team_members == name
| EVAL is_success = CASE(score >= ?threshold, 1, 0)
| STATS success_rate = AVG(is_success) BY role
| SORT success_rate DESC

6.SkillsUseIn90PlusScoreProjectsTool

目的:トップスコアプロジェクトのスキルを抽出します。

パラメータ

NameDescriptionType
score_thresholdThe minimum project score (e.g., 90) a project must have to be included in the analysis.integer
top_nThe number of top skills to display in the result (limits the output).integer
FROM project_evaluation_reports
| WHERE score >= ?score_threshold
| LOOKUP JOIN employee_skills_data_lookup ON team_members == name
| MV_EXPAND hard_skills
| STATS usage_count = COUNT(*) BY hard_skills
| SORT usage_count DESC
| LIMIT ?top_n

7.Top5EmployeesByAverageScoreTool

目的:トップパフォーマーの抽出をします。

パラメータ

NameDiscriptionType
top_nThe number of top skills to display in the result (limits the output).integer
FROM project_evaluation_reports
| LOOKUP JOIN employee_skills_data_lookup ON team_members == name
| STATS avg_score = AVG(score) BY name
| SORT avg_score DESC
| LIMIT ?top_n

これでツールの追加も終わりました。ボットに渡したいツールを選んでおきます。

実践デモ

実際にエージェントと対話した結果をご紹介します。


Q: 直近3件のプロジェクト評価レポートから、『チームワーク』というテーマがどれくらい登場しているか、頻出キーワードとともに分析してください。

直近3件のプロジェクト評価レポートにおけるチームワークテーマ分析
分析概要
直近3件のプロジェクト評価レポートを分析した結果、チームワークに関連するテーマの出現状況と頻出キーワードは以下の通りです。
プロジェクト別分析
1. PRJ-0067「グローバル向け機能拡張」(Backend) - スコア: 92点
チームワーク関連記述:
チームの高い技術力とコミュニケーションにより、予定より早くプロジェクトを完了した。特に岡本悟は困難な技術的課題を主導的に解決し、プロジェクトの成功に大きく貢献した。
キーワード: コミュニケーション、主導的、貢献
特徴: 高いコミュニケーション品質が早期完了の要因として明示的に言及されており、チームワークの成功例として評価されています。
2. PRJ-0188「グローバル向け機能拡張」(Mobile) - スコア: 85点
チームワーク関連記述:
顧客からのフィードバックを迅速に取り入れ、MVPリリース後すぐに大きな改善を達成した。アジリティの高さは竹内里奈の調整能力によるものが大きい。
キーワード: 調整能力、アジリティ、フィードバック対応
特徴: 直接的な「チームワーク」という言葉はないものの、チーム内の調整能力とアジリティに言及しており、暗にチームの連携の重要性を示しています。
3. PRJ-0231「次世代顧客ダッシュボード開発」(Backend) - スコア: 66点
チームワーク関連記述:
プロジェクトは完了したが、納期の遅延があり、顧客満足度は低迷した。この経験は、将来のプロジェクト計画における教訓となった。
キーワード: 遅延、顧客満足度低迷、教訓
特徴: チームワークに関する明示的な言及はなく、むしろその欠如が問題の一因である可能性が示唆されています。
総合分析
チームワークとプロジェクト成功の相関:
最も高いスコア(92点)のプロジェクトでは「コミュニケーション」が明示的に成功要因として挙げられています
中間スコア(85点)のプロジェクトでは「調整能力」が評価されています
最低スコア(66点)のプロジェクトではチームワーク関連の言及がなく、問題が発生しています
頻出キーワードとテーマ:
コミュニケーション
調整能力
主導的解決
アジリティ
成功プロジェクトの共通点:
個人の貢献が明確に認識されている
チーム内の情報共有や調整が効果的に行われている
結論
直近3件のプロジェクト評価レポートでは、高評価のプロジェクトほどチームワークに関連する要素(コミュニケーション、調整能力)が明示的に言及されており、プロジェクトの成功との相関が見られます。一方、低評価のプロジェクトではチームワークへの言及がなく、これがプロジェクトの問題の一因である可能性があります。

エージェントの高度な処理

  1. セマンティック検索の活用:
  • ProjectInsightツールで「チームワーク」に関連する評価レポートを意味的に検索
  • 「コミュニケーション」「調整能力」など、類義語も自動的に捕捉
  1. 定性的な分析:
  • 各プロジェクトのスコアとチームワーク言及の相関を分析
  • 高スコアプロジェクト=チームワーク言及が多い、という傾向を発見
  1. 引用とキーワード抽出:
  • 評価レポートの原文を引用(著作権に配慮し、短い引用)
  • キーワードを構造化して提示

Q: 今期において“Tech Lead”ロールのメンバーの平均プロジェクトスコアを教えてください。また、そのスコアを80以上にするために追加で必要だと思われるスキルは何ですか?

テックリードの平均プロジェクトスコア分析
現状分析
テックリードのメンバー情報を確認したところ、現在A社には13名のテックリードが在籍しています。彼らの個人評価(last_rating)の平均は約83点となっています。

主なテックリードメンバーとその評価:

山田太郎:95点(Go, JavaScript, Kubernetes, Terraform, TypeScript)
宮崎健:95点(Cloud-AWS, Cloud-Azure, Go, Java, Tailwind CSS)
森田恵:90点(Cloud-AWS, Docker, Java, JavaScript, Kubernetes, PyTorch)
西村健一:90点(Kubernetes, PyTorch, Python, Scrum, Terraform, TypeScript)
スコア向上のために必要なスキル
テックリードの平均プロジェクトスコアを80以上に向上させるために、以下のスキルの強化が推奨されます:

クラウドインフラストラクチャスキル

高評価のテックリード(山田太郎、宮崎健、森田恵など)は、Cloud-AWS/Azureやコンテナ技術(Kubernetes)に精通しています
クラウドネイティブアーキテクチャの設計・実装スキルが重要です
自動化・IaCスキル

Terraform、Kubernetesなどのインフラ自動化ツールの知識
高評価のテックリードはこれらのスキルを持っていることが多い傾向があります
最新のプログラミング言語とフレームワーク

Go言語のスキルを持つテックリードは高評価の傾向
TypeScriptやモダンなフロントエンドフレームワーク(React等)の知識
AIと機械学習の基礎知識

PyTorch、TensorFlowなどのAIフレームワークの基本理解
データ駆動型の意思決定ができるスキル
リーダーシップとコミュニケーションスキル

プロジェクト管理手法(Scrumなど)の実践的知識
チーム内の効果的なコミュニケーション促進能力
具体的な改善策
スキルアップト���ーニングの実施

クラウドインフラ(AWS/Azure)の認定資格取得支援
Terraform、Kubernetesのハンズオントレーニング
チーム構成の最適化

高評価テックリードと低評価テックリードのペアリング
スキル補完を考慮したチーム編成
知識共有の促進

高評価テックリードによる社内勉強会の開催
プロジェクト成功事例の文書化と共有
継続的学習の文化醸���

新技術のPoC(概念実証)プロジェクトの奨励
技術カンファレンスへの参加支援
これらの施策を実施することで、テックリードの平均プロジェクトスコアを80以上に向上させることが期待できます。特に、クラウドインフラとIaCスキルの強化が最も効果的と考えられます。

分析:複雑な質問への対応

  1. 複数データソースの統合:
  • 社員スキルデータから「テックリード」ロールを抽出
  • プロジェクト評価データで各テックリードの平均スコアを算出
  1. ギャップ分析:
  • 高評価テックリード(山田太郎、宮崎健)のスキルセットを分析
  • 低評価メンバーとの差分を特定
  1. アクショナブルな提案:
  • 単なる分析に留まらず、「スキルアップトレーニング」「チーム構成最適化」など、具体的な改善策を提示

筆者の感想

良かった点:

日本語の質問・回答に対応: セマンティック検索の精度は実用レベル

Elasticsearchとの統合がシームレス: (追加設定不要)
今回使用したLLMは、Elasticsearchの独自モデル(.multilingual-e5-small-elasticsearch)でした。

UI不要の革新性: Elastic Agent Builderの最大のメリットは、Kibana一本で完結することです。

課題:

  • 稀に文字化けが発生
  • 長文生成時に文末が不自然になることがある
  • 日本語特有の敬語表現が安定しない

2. レスポンス速度について

Elasticsearchの「爆速検索」に慣れていると、エージェントの応答速度は「遅い」と感じるかもしれません。

従来のRAG構築に必要だったもの:

  • フロントエンド(React、Vue.jsなど)
  • バックエンドAPI(FastAPI、Node.jsなど)
  • 認証・認可システム
  • デプロイメント環境(Vercel、AWS Amplifyなど)

Elastic Agent Builderで不要になったもの:

  • フロントエンド開発(Kibanaのチャット画面を使用)
  • 独自API開発(Agent Builder APIを使用)
  • 認証システム(Elasticsearchの認証を流用)
  • Kibana一本でフロントエンドからバックエンドまで完結

※筆者もまだES|QLを探求中のため、この記事で紹介したクエリにはより良い書き方や小さな誤りがあるかもしれません。実際に試しながら、みなさん自身の環境に最適な形を見つけていただければと思います。

まとめ

本記事では、Elastic Agent Builderを使って、社員スキルデータとプロジェクト評価レポートを統合した「スマート検索&インサイトエージェント」を構築する全プロセスをご紹介しました。

【このAIシステムで実現したこと】

  • 80人分の社員スキル情報と250件分のプロジェクト評価を1つにまとめました。
  • 7つの専用機能(カスタムツール)を作り、会社独自の複雑なルールで検索できるようにしました。
  • **「〇〇できる人は?」**のような話し言葉の質問でも、AIがデータを見てすぐに答えてくれるようになりました。
  • 「Kibana」というツール1つだけで、見た目(画面)から裏側の仕組みまで全部作れました。

【Elastic Agent Builderの最大の特徴】

Elastic Agent Builderは、会社が持っているデータを使って賢いAIを作るための、新しい選択肢です。

「(あいまいな言葉でも探せる)セマンティック検索」と「(条件を細かく指定できる)ES|QL」という2つの検索方法を、うまく組み合わせて使えます。

これまでのAI開発(RAG構築)で大変だった「画面の開発」や「AIとシステムをつなぐ作業(API実装)」が不要になるのが、一番のメリットです。