KINTO Tech Blog
生成AI

技術資料をもっと広く!生成AIで実現するMarkdown変換の自動化

Cover Image for 技術資料をもっと広く!生成AIで実現するMarkdown変換の自動化

はじめに

はじめまして。KINTOテクノロジーズでAndroidアプリ開発を担当しているYenaです。
キャリアはAndroid開発から始まり、スマートテレビアプリやWebのバックエンド・フロントエンド、APIの開発など、幅広い領域に携わってきました。
現在はAndroid開発に取り組む傍ら、チームと自身の成長を目指して、社内勉強会「Droid Lab」の企画・運営も行っています。

この勉強会で取り上げた技術内容をより広くチーム外にも共有するため、資料をテックブログとして公開する取り組みを進めて行こうと考えましたが、以下のような課題がありました。

資料は主にConfluenceやPPT形式で作成されているため、ブログに投稿するにはMarkdown形式への変換が必要であり、そのまま公開ができず、作業手間がかかることです。

この変換作業の負担が大きく、ブログ執筆に十分な時間を確保することが難しく、情報発信が思うように進まない状況が続いていました。

こうした課題を解決するため、生成AIであるChatGPTのカスタムGPTを活用し、ConfluenceやPPTなどの元資料を自動的にMarkdown形式へ変換できる仕組みを導入しました。

現在は試験運用を進めており、変換作業の負担軽減や情報共有の効率化といった効果が期待されています。

ここでは、私たちが実際に導入したGPTの作成手順と設定内容についてご紹介します。

GPTを作成する方法

1. GPT作成

    1. ログイン後、左上の「Explore」をクリック
      Open Screenshot 2025-04-10 at 14.48.58.png
    1. My GPTカテゴリから「Create GPT」を選択
      Open Screenshot 2025-04-11 at 12.04.41.png
    1. GPTビルダーでNameとプロフィール画像を設定
      DALL·Eで名前に合う画像も自動生成可能(下記のイメージはDALL·Eで作成したNameを考えてAIが作成してくれたイメージです)
      Open DALLE.png
      Open Screenshot 2025-04-10 at 15.05.52.png
    1. GPT詳細情報の設定

Open Screenshot 2025-04-10 at 15.07.11.png

  • ① Description(概要説明)
    このGPTが何をするものかを、1〜2行で簡潔に説明します。

    例:
    Droid Lab資料を元にMarkdown形式の技術ブログを自動作成します。ブログ記事作成用のブランチは以下の形式に従ってください(ブランチ名:sample/YYYY-MM-DD-<テーマ>)

  • ② Instructions(動作したいルール)
    GPTがどのように振る舞うべきか、どんな出力をするか、制約などを細かく記述します。ここがプロンプトの核になります。
    以下は本GPTが従うべき出力ルールです

    • YAMLの下にMarkdown本文を出力(※うちの場合、決まった形式があるのでそれをYAMLで定義)
    • 見出し → ## 見出し
    • リスト → - 項目
    • インラインコード → コード
    • コードブロック → kotlin など、開閉セットで記述
    • 画像 → ![説明](URL)
    • ⚠️ 文の構成や文体、順番は変更しないこと
    • 出力は必ず Markdown で始まり、 で終わるコードブロックで包むこと
    • 社内API URLや機密名称が含まれる場合は「【非公開情報の可能性あり】」と明記し、修正案を提示すること
    • 出力が長くても途中で止めず、すべてを1回で返すこと
  • ③ Conversation starters(使い始めの例)
    ユーザーがどう使えばよいかを示す例文を登録します。

    例:ConfluenceメモをMarkdown形式の技術ブログに変換してください。

  • ④ Knowledge(知識ファイル)
    GPTにアップロードしておく補助資料(スタイルガイド、サンプル記事など)を指定します。

    • 社内ブログスタイルガイド
    • 過去の公開記事サンプルなど
      ※ 機密情報が含まれないことを確認してアップロード
  • ⑤ Capabilities(機能設定)

    • Web Search
    • Canvas
    • DALL·E
    • Code Interpreter
      → 必要に応じて機能のオン・オフが可能!
      Screenshot05.png
    1. GPT詳細情報の設定
      全部入力したら、右上の「Create」ボタンをClickしてGPT作成は完了です。
      Open Screenshot 2025-04-10 at 15.07.11.png

2. GPTの設定

ここでは、GPTに対してどのような動作ルールや制約を設定しているかを紹介します。
以下は、社内ブログフォーマットに準拠し、GPTによるMarkdown変換を正しく行うために設定した主な機能です。

機能 説明
✍️ Markdown形式への変換 貼り付けた文章の文体や構成を変えずに、そのままMarkdown構文へ変換します
📄 YAMLメタ情報の自動付与 自社ブログ形式に合わせて postId、title、excerpt を自動生成します
🧱 構文保持&出力形式の統一 Markdown構文が壊れないよう、すべてを1つのコードブロックで出力します
🔐 セキュリティーCheck機能 社内APIや内部コード名を検出し、「【非公開情報の可能性あり】」としてマーク+修正案を提示します
⚠️ 出力の中断防止ロジック 長文でも途中で止まらず、構文が破損しないようにすべてを1回で出力します
⚠️ 日本語・英語Check 表記ゆれや誤字、不自然な表現を検出し、必要に応じて修正案を提示します

2-1. 🧠 GPTの詳細仕様(プロンプト設定内容)

このGPTは、プロの技術ブログライター兼Markdown変換ツールとして機能します。ユーザーがConfluenceや社内メモの文章を貼り付けた際、元の構成・順番・文体を一切変更せずに、以下のフォーマットに従って出力します。

1. YAMLメタ情報の出力ルール

ブログ記事として公開するためには、YAMLメタ情報(タイトル、日付、カテゴリなど)を冒頭に定義する必要があります。
このGPTでは、以下のルールに従って、貼り付けた文章から自動的にYAMLヘッダーを生成します。

  • YAMLは、あらかじめ決められた形式で yaml コードブロック内に出力してください。
  • 「title」や「excerpt」は、本文中から推測・抽出して自動補完してください。
  • タイトルがない場合は '記事タイトルをここに' のまま出力してください。
  • 記事が非常に長い場合は、Markdown コードブロックを複数に自動分割し、ユーザーが「続けて」と言わなくても完了まで出力を続けてください。

カテゴリの自動判定ルール

以下のキーワードが含まれる場合、category を対応するものに自動で置き換えてください:

  • Kotlin, Compose, MVVM, KMP → "Android"
  • GitHub, CI/CD, CodeBuild → "DevOps"
  • Lint, アーキテクチャ, コーディング規約 → "Architecture"
  • Confluence, Markdown, GPT → "Tooling"
  • Firebase, AWS, S3 → "Cloud"
  • 勉強会, 社内共有, ナレッジ → "Team"
  • AI, ChatGPT, Prompt, 自然言語処理 → "Generative AI"
    複数に該当する場合は、最も出現頻度が高いカテゴリを優先してください。

💡 以下は、社内ブログで使用しているYAMLヘッダー形式の例です(社外環境ではそのまま使用できない場合があります)
[例]

---
postId: "<自動生成されたID>"
title: "<記事タイトル>"
excerpt: "<要約文>"
coverTitle: "<表紙用の見出し>"
coverImage: "<画像パス(社内ブログ用)>"
date: "<ISO形式の日付>"
category: "<カテゴリ名>"
....
---

2. Markdown本文の出力ルール

Markdown変換のルール:

  • 見出し → ## 見出し
  • リスト → - 項目
  • インラインコード → コード
  • コードブロック → 例: kotlin(※開いたら必ず閉じる)
  • 画像 → ![説明](画像URL)

⚠️ 文の構成、順番、文体は変更しないこと
⚠️ Markdown構文を壊さないよう、すべて閉じタグまで正確に出力すること

3. 出力後の自動チェック機能

  • すべての出力(YAML + Markdown本文)を1つのコードブロック内(Markdown)にまとめてください
  • 出力の最初は Markdown で開始し、最後には対応するコードブロック閉じタグで終了すること
  • 長文であっても、出力が途中で止まることなく、1回で全文が返されること

3-1. 🔐セキュリティーCheck

以下の内容が含まれていないかを検査してください:

  • 社内APIのURL
  • 内部ライブラリ名
  • プロジェクトコード名
  • 顧客IDなど機密情報
    検出された場合は、「【非公開情報の可能性あり】」とマークし、公開用の修正案をあわせて提示します。

検出例(スクリーンショット)
Open Screenshot05.png

3-2.⚠️ 日本語・英語Check

  • 日本語の誤字、助詞の誤用、不自然な表現、文末の統一性など
  • 英語のスペルミス、文法エラー、不自然な言い回しなど

必要に応じて、「⚠️ 文章チェック:」の見出しの下に修正案を出力してください。
ただし、文章の順番・構成・文体は一切変更せず、指摘のみを行うこと

検出例(スクリーンショット)
Open Screenshot05.png

4. 使用方法のデモ

4-1. 実行ステップ

💬 ステップ1:変換したいTEXTを入力
💬 ステップ2:カスタムGPTに貼り付けて送信
Open Test01.png
💬 ステップ3:Markdown形式で出力
Open Test02.png

5. 導入の結果、得られた効果

このGPTを導入したことで、Markdown変換の効率化や情報発信の品質向上など、さまざまな効果が得られました。
ちなみに、この記事も本GPTを使ってMarkdown形式に自動変換しています。

項目 Before After 効果
Markdown変換作業 30分〜2時間以上 数十秒〜数分 約80%以上の工数削減
フォーマット統一 個人差あり 自動で安定出力 品質と読みやすさ向上
セキュリティ確認 手動確認 自動検出とマーク 安心して公開可能
文章確認 手動確認 自動検出とマーク 安心して公開可能
利用者 Markdown形式になれた方中心 Markdown形式に不慣れなメンバーも利用可 活用範囲が拡大

6. まとめ

Droid Labで得た知見をもっと気軽に、広くチーム内外にシェアできるように
そんな思いから、Markdown変換の手間を減らすためにこのGPTを導入しました。

生成AIを活用することで、これまで時間がかかっていた変換作業が一気に効率化され、品質やセキュリティの面でも安心して発信できるようになりました。

今後は、PPTの直接アップロードや会議要約機能の追加など、さらに便利にしていく予定です。
開発チーム全体のナレッジ共有が、もっとスムーズになる未来を目指していきます!

🚀 今後の活用拡大

  • 日本語から英語への変換対応機能の追加
    グローバル発信や海外メンバーとの共有に対応

  • PPTアップロード対応
    手動でのコピーが不要となり、ファイルをアップロードするだけで変換が可能な仕組みを開発中

  • 会議要約GPTの導入
    会議ログや議事録を貼り付けるだけで、自動的にサマリやToDoを抽出できるよう最適化

Facebook

関連記事 | Related Posts

イベント情報

製造業でも生成AI活用したい!名古屋LLM MeetUp#6
Mobility Night #3 - マップビジュアライゼーション -