14
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AI商談評価システム(文字起こしから営業力を数値化)

Last updated at Posted at 2025-06-22

はじめに📝

こんにちわ、バンコクで1週間風邪を引いた後に、食あたりでゲボ吐いて高熱出してた、ノベルワークスのまとっち(@matoi_thai)です。

ほぼ非エンジニアの僕が、生成AIにひたすら教えてもらって、kintoneで商談文字起こしをAIが自動で評価してくれるシステムを作ったので、記事として残しておきます。

こんな人に見てほしい👀

  • 営業の品質を数値化して改善したい人
  • AIを活用した業務改善に興味がある人

今回やったこと⚙️

商談の文字起こしデータをkintoneに入れると、Gemini AIが営業パフォーマンスを項目で評価して、改善点まで教えてくれるシステムです。

  1. kintoneに商談文字起こしを入力 → レコードとして新規登録する
  2. AIによる評価実行 → ワンクリックでGemini AIが分析する
  3. 結果を自動反映 → 6つの⭐評価・5つの✅評価・具体的な改善点を表示する

システム構成🏗️

下記の3層構成で動作します。

  • ① kintone(フロントエンド)
  • ② Google Cloud Run(APIサーバー)
  • ③ Gemini AI(評価エンジン)

image.png

① kintone(フロントエンド)

役割: ユーザーインターフェースと評価結果の表示
技術: JavaScript、Kintone UI Component、SweetAlert2

  • kintoneアプリに「文字起こし」フィールド(文字列複数行)を作成
  • 評価結果用フィールド(6つの⭐評価・5つの✅評価・具体的な改善点)を作成
  • 「AIによる評価を実行」ボタンを配置し、ボタン押下で処理開始
    image.png

👇データ処理フロー概要(一部抜粋)

// ①現在のレコードから文字起こしデータを取得
const currentRecord = kintone.app.record.get().record;
const transcript = currentRecord['文字起こし'].value;

// ②外部APIにPOSTリクエスト送信
const apiUrl = 'https://gemini-api-XXXXXXXXXXXX.asia-northeast1.run.app/';
const response = await fetch(apiUrl, {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ prompt: transcript })
});

// ③評価結果をkintoneレコードに反映
const body = {
    app: kintone.app.getId(),
    id: kintone.app.record.getId(),
    record: recordToUpdate
};
await kintone.api(kintone.api.url('/k/v1/record.json', true), 'PUT', body);

② Google Cloud Run(APIサーバー・バックエンド)

役割: kintoneとGemini AIの仲介、プロンプト管理
技術: Python Flask、generativeai、flask-cors

  • PythonのFlask APIをコンテナ化
  • 環境変数GEMINI_API_KEYでAPIキーを設定
  • kintoneからのCORSリクエストを許可

👇API処理フロー概要(一部抜粋)

from flask import Flask, request, jsonify
from flask_cors import CORS
import os, json
import google.generativeai as genai

# ①Flask アプリ初期化 & CORS設定
app = Flask(__name__)
CORS(app)

# ②POSTリクエスト受信・バリデーション
req = request.get_json()
transcript_text = req.get("prompt")

# ③詳細なプロンプトテンプレート適用
PROMPT_TEMPLATE = "(ここにプロンプト入れる)"
full_prompt = PROMPT_TEMPLATE.format(transcript=transcript_text)

# ④Gemini API呼び出し(API キーは環境変数で設定)
genai.configure(api_key=os.getenv("GEMINI_API_KEY"))
model = genai.GenerativeModel("gemini-2.5-pro")
response = model.generate_content(full_prompt)

# ⑤レスポンス変換
cleaned_text = response.text.strip().replace("```json", "").replace("```", "")
result_json = json.loads(cleaned_text)

# ⑥構造化データとしてkintoneに返却
return jsonify(result_json)

③ Gemini AI(評価エンジン)

役割: 商談内容の自然言語解析と営業力の評価
モデル: Gemini 2.5 Pro(最新の大規模言語モデル)

  • Google AI Studioで新しいAPIキーを作成
  • AIには明確な役割(厳しい営業コンサルタント)
  • 商談の評価基準を具体的に定義する

👇入力するプロンプト概要
image.png

おわりに💬

僕は「kintoneに入れた営業商談の文字起こしをAIで評価するシステムを作りたい」ということだけを生成AIに伝えただけです。もちろん、途中で細々とした追加指示を出してますが、商談評価項目・システム構成・詳細コーディング・Qiita記事作成まで全てやってくれました。

14
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?