営業ネタ探しAIエージェントをDataiku Code Agentで作ってみた

営業ネタ探しAIエージェントをDataiku Code Agentで作ってみた | Tableau-id Press -タブロイド-
eyecatch_dataiku

本ブログでは、Dataikuの「Code Agent」を活用し、営業活動をサポートするためのWEB検索AIエージェントを試作した事例をご紹介します。

背景と目的

営業先に関するちょっとした情報を事前に知っておけたら便利だなと思うことがありました。そんな発想から、DataikuのCode Agentを使って、営業ネタを検索して報告するAI Agentを試験的に作ってみました。

本来であればVisual Agentを使えば、すでに定義済みのツールを簡単に呼び出して設定することができます。ただし、手元の環境ではWeb Searchできるツールが事前に用意されていなかったため、今回はCode Agentを使い、API呼び出しも含めてツール定義から実装する形をとりました。

Code Agentとは:DataikuでAI Agentを自由に実装

DataikuのCode Agentは、Pythonコードを用いて自由にツールを定義し、Dataiku上で動作するAIエージェントに組み込むことができる機能です。外部APIとの連携や、複雑なカスタムロジックの組み込みを行えるため、柔軟なAI Agent開発が可能になります。

公式マニュアル:https://doc.dataiku.com/dss/latest/generative-ai/agents/code-agents.html

Developer Guide(チュートリアル):https://developer.dataiku.com/latest/tutorials/genai/agents-and-tools/code-agent/index.html

作成したAI Agentの概要:営業先の企業様のニュースを取得するCode Agent

Google APIを用いて、指定した企業に関連する日本語の最新ニュースを自動で検索し、タイトル・要約・リンクを表示するAI Agentを作成しました。これは営業支援用の情報収集を目的とした簡易的なアプリケーションです。

実装手順:Code Agentを使ったAI Agent開発

  1. Code Agentの作成:
    Flow画面下部の OTHER → Generative AI → Code Agent をクリックし、新しいAgentを作成します。
  2. テンプレートの選択:
    Dataikuには複数のテンプレートが用意されています。今回は「simple tool-calling agent」を選択。
  3. ツールの定義(Google検索APIを活用):
    Google Custom Search APIを呼び出すツールを以下のように定義します。
    ※生成AIに作ってもらうのもあり!
    # 企業ニュース検索    
    def get_company_news(company_name: str) -> str:
    """
    指定した企業名から、営業トークのネタになりそうな最新ニュースをGoogle検索で収集します。
    入力:企業名
    出力:ニュースのタイトル、要約、日付、URL(最大3件)をセットで返します。
    """
    query = f"{company_name} 最新ニュース"
    url = "https://www.googleapis.com/customsearch/v1"
    params = {
    "key": GOOGLE_API_KEY,
    "cx": SEARCH_ENGINE_ID,
    "q": query,
    "hl": "ja",
    "lr": "lang_ja",
    "num": 3
    }
    
    response = requests.get(url, params=params)
    if response.status_code != 200:
    return f"ニュース検索中にエラーが発生しました({response.status_code})"
    
    data = response.json()
    items = data.get("items", [])
    if not items:
    return f"{company_name} に関するニュース記事は見つかりませんでした。"
    
    summaries = []
    for i, item in enumerate(items, 1):
    title = item.get("title", "")
    snippet = item.get("snippet", "")
    link = item.get("link", "")
    summaries.append(f"{i}. {title}\n{snippet}\n{link}")
    
    return "\n\n".join(summaries)
    
    # ツールを登録
    tools = [get_company_news]
  4. APIキーの設定:
    コネクションやSecretsに関する設定は忘れずに。コード中で環境変数として取得できるように設定します。
    ※生成AIに作成・修正してもらう際に、機密情報を削除して渡すように忘れないでね

  5. テスト:
    Quick testタブで、プロンプトを入力し、結果が返ってくることを確認します。(プロンプトまだまだ工夫する必要がありそうですね!)
  6. Agent Connectへの実装:
    作成したCode AgentはAgent Connectに実装することで、チャットボットのようなUIから呼び出すことも可能になります。複数のAI Agentを連携させることで、プロンプトに応じた分岐処理も実現できます。

      おまけ:Code Agentのカスタマイズ方法いろいろ

      • Embedded tools(今回使用)
        •  Code Agentの定義内にツールを直接記述。
        •  小規模なツールや素早い実装に適している。
      • Project Libraryに格納する方法
      • Custom Tools定義
        •   独自フォーマットや設定項目を持つツールとして定義。
        •   GUI上で再利用可能な汎用ツールとして展開可能。

      まとめ:Code AgentでできるAI Agent開発の可能性

      今回は、営業ネタを取得できるAI AgentをCode Agentで試験的に作成してみました。DataikuのAI Agent機能は、営業支援や業務自動化に向けた柔軟な拡張が可能です。今後も、Agent ConnectやLLM活用の具体例を中心に、実践的な情報を発信していければと思います。