ソリューション・ラボ・ジャパンでは、年に2回、社員が主体となって技術発表会を開催しています。
この発表会では、システム開発事例や最新のテクノロジーに関する知識を共有し、全社的な技術力の向上を目指しています。
今回実施した発表会では、4チームが参加し、それぞれの技術やプロジェクトに関する発表を行いました。
発表チームは通常より少ない回ではございましたが、生成AIに関する発表が多く見受けられ、最新技術に対する多くの学びを得ることができました。
引き続き社員一同、さらなる技術向上を目指して取り組んでまいります。
当日のプログラム
- GitHubCopilotの未知の可能性
- LANSA開発でのAPI連携:課題と解決
- 製造受付システムRAGチャットボット構築における精度向上について
- Ansible Automation Platformの導入と運用自動化
※機密保護等の観点から一部の発表内容は社外への公開を控えさせていただいております。ご了承ください。
発表内容
GitHubCopilotの未知の可能性
第3サービス事業部 S.H 入社4年目 20代 エンジニア
今回はコーディング支援ツール「GitHubCopilot」の真価を伝えるべく、エージェントモードを利用して、要件定義からテストに至るまでのアプリケーションの作成手順をご紹介させていただきました。
GitHubCopilotの無料版でも利用可能な各種機能を紹介しましたが、今回はアプリ作成時に企業向け・最上位プランのエージェントモードを利用させていただいております。このエージェントモード使ってほぼすべて自然言語を打ち込むだけで、タイマーアプリを作ることができました。
しかし、それを実現させるにはいくつかの注意点やポイントがあります。それは、可能な限り段階的に実装していくこと、そしてエージェントの作成物はすべて人の目で確認を行うこと、必要な成果物が揃っているかを確認することなどです。
今回ご紹介させていただいた手順を守れば、実業務でコードを書く際、開発の企画段階などで有効的に活用できるはずです。エージェントAIの普及に伴ってこのような製品を導入する事例も増えているようですので、少しでも興味を持っていただけましたら、無料版から試していると良いかもしれません。


LANSA開発でのAPI連携:課題と解決
第1サービス事業部 K.N 入社6年目 20代 エンジニア/Y.I 入社3年目 20代 エンジニア/M.K 入社2年目 20代 エンジニア
今回、IBMi環境で動作するWebアプリケーション開発のローコードツール「LANSA」を使って、外部ベンダー様に作成いただいたWeb APIとの連携プロジェクトに取り組みました。実際の開発を通じて得られた知見や、直面した課題とその解決方法について、社内技術発表で共有した内容をご紹介します。
IBMiといえば、従来は5250端末での操作が中心でしたが、LANSAを活用することで、同じIBMi環境内でモダンなWebアプリケーションを効率的に開発・運用できるようになります。今回はこの強みを最大限に活かし、外部のWeb APIと連携させることで、システムの可用性をさらに高めることに挑戦しました。
LANSAのローコード開発の利点と、外部サービスとの統合を組み合わせることで、既存のIBMiシステムに新たな価値を生み出せると考えたのがプロジェクトのスタート地点です。外部ベンダー様に開発いただいたAPIを組み込むことで、これまでにない機能拡張が可能になり、お客様により柔軟で高品質なサービスを提供できる基盤を整えることができました。
実際の開発では、新規作成されたAPIとの接続において、いくつかの技術的なトラブルが発生し、ネットワーク環境への対応など、予想していなかった問題にも直面しました。これらの課題に対しては、まず徹底的な原因調査を行い、ログの分析などを通じて問題の所在を特定しました。そして、ベンダー様と定期的にコミュニケーションを取りながら、情報共有を行うことで、一つひとつ着実に解決していくことができました。

この過程で得られた知見は非常に貴重で、トラブルシューティングの手法や実装のコツなど、社内ナレッジとして蓄積しています。このような対応が今後、同じような開発案件が発生した際に大いに役立つと考えています。
今後も、このような協業モデルを活用しながら、お客様の期待を超える価値提供を目指していきます。
製造受付システムRAGチャットボット構築における精度向上について
事業推進本部 DX推進部 T.K 入社10年目 50代
1. 実施経緯と業務課題(研究するにあたった経緯)
今期より事業推進本部・DX推進では、DX推進を主軸に活動を行っております。今回の報告は、事業部での課題解決および生成AIやクラウドなどのスキル習得を目的に活動中の中間報告となります。
活動内容は、製造ソリューション事業部内での案件情報知識属人化(案件情報を過去の担当者など特定のメンバーしか把握していない、必要な情報を探すために業務フォルダ内を「漁りまくる」)の解消を目的にRAG(検索拡張生成)チャットボットの開発をおこなっております。この課題を解消し、全メンバーが案件情報を容易に調べられる環境を実現すること(To Be)を目標としました。
具体的には、誰でも必要な情報にアクセス可能であること、24時間いつでも情報検索が可能であること、そして一元化された知識ベースの構築と効率的な情報共有の実現を目指しました。
この目標達成のソリューションとして、最新の生成AI技術の一つであるRAGの構築可能性を検証するに至りました。
2. RAG技術と構成要素の詳細
■ RAG(検索拡張生成)の概要
RAGは大規模言語モデル(LLM)に外部の知識を組み合わせた技術です。
LLM単体では学習時の知識のみで回答しますが、RAGを活用することで、最新情報や企業固有の業務情報も活用可能となり、より正確で具体的な回答が得られ、情報の出典も明確化できるという利点があります。
■ RAGの主要コンポーネント
RAGシステムは、主に以下の3つの要素で構成されます。
1. インターフェイス: ユーザーとの入出力を担当します(チャット画面やAPI)。
2. ベクトルストア: 文書データを検索可能な形で保存し、類似文書の高速検索を可能にします。
3. LLM: 検索結果を元に、自然な文章で回答を生成します。
■ ベクトルと類似度検索の仕組み
RAGの根幹をなすベクトルストアは、従来のRDB(リレーショナルデータベース)と異なり、意味的な類似検索を可能にします。これは、テキストや画像などの非構造化データを数値のベクトル(数の列)に変換する**Embedding(埋め込み)**という手法に基づいています。Embeddingにより、単語の意味的な類似性や関係性が捉えられ、ベクトル間の距離や内積によって意味的な「近さ」が定量化されます。検索時には、ユーザーの質問文をベクトルに変換し、ベクトルストア内の全文書とコサイン類似度(角度で類似性を計算、1に近いほど類似)を計算し、類似度の高い上位文書を抽出してからLLMに渡して回答を生成します。
■ チャンク分割の重要性
長い文書をベクトル化する際、適切なサイズに分割した単位を**チャンク(Chunk)**と呼びます。チャンクはRAGシステムにおける基本的な検索対象であり、文書全体ではなく関連する部分のみを効率的に取得するために重要です。チャンクサイズが小さすぎると文脈情報が不足し、大きすぎると不要な情報が混入するため、ドメインや文書特性に応じた最適な調整が必要です。また、隣接チャンク間で10~20%程度のオーバーラップ(重複)を設定することで、文脈の連続性を保持できます。

3. PoC環境と精度向上への取り組み
■ PoC環境の概要
今回のPoCは、低コストかつ高速検証を重視し、既存のGoogle環境を最大活用して構築されました。業務資料はGoogle Driveに格納し、オープンソースで軽量なChromaDBをベクトルストアとしてGoogle Drive上に構築しました。RAGプログラムとユーザーインターフェースはGoogle Colaboratory(無料のPython環境)上に構築され、LLM部分(OpenAI、Anthropic)のみが従量課金の対象となりました。この構成により、既存環境を利用した高速な動作確認と、本格運用への移行の容易性が確保されました。
■ 検索精度の向上策
RAGの検索精度を上げるため、本PoCでは複数の手法を組み合わせました。
1. ハイブリッド検索:
意味的な類似性によるセマンティック検索と、固有名詞などに有効な従来のキーワード検索を組み合わせ、より網羅的で精度の高い検索を実現しました。
2. リランキング:
検索結果を再順位付けする技術を組み込み、LLMに渡す前に、より適切な文書を上位に表示させました。

4. 検証結果と考察(やってみた結果の感想)
■ LLM別出力結果の比較と考察
検証では、GPT-4o、GPT-4o-mini、Claude Haiku、Claude Sonnetといった複数のLLMモデルの出力結果を比較しました。その結果、明確な回答傾向の違いが確認されました。
• GPT-4o、GPT-4o-mini、Claude Haiku: 質問に忠実であり、提供された情報内で的確に回答する傾向が強く、簡潔で分かりやすい表現でした。特にGPT-4o-miniやHaikuは、シンプルな回答が求められる場合に有効です。
• Claude Sonnet: 推論が多く含まれる特徴があり、背景情報や関連事項も含めて詳細で分析的な回答をする傾向が見られました。この「推論重視」の傾向により、プロンプトが曖昧だった場合、質問を余計に推論してしまい、結果として欲しい答えと違ってしまうケースが確認されました。
この考察から、RAGシステムにおいては、用途に応じたLLMの選択が非常に重要であると結論付けられます。
詳細な分析や背景情報が必要な場合はGPT-4oやSonnet、質問に忠実な簡潔な回答が求められる場合はGPT-4o-miniやHaikuといった使い分けが必要です。
■ 評価指標
RAGの評価指標としては、検索結果に正解が含まれているかを測定する単純かつ高速なRecall@kに加え、LLMを用いた総合評価フレームワークであるRagasが有効です。
Ragasは、応答の正確性・一貫性・文脈適合性を多角的に指標化でき、RAGシステム全体の品質を実運用に近い形で測定できます。
5. まとめと今後の展望
■ まとめ
活動の結果、RAGチャットボットは、製造受付システムにおける案件情報知識の属人化解消に有効なソリューションであることが確認できました。
成功の鍵は、適切な技術(複雑な検索・Embeddingsでのパラメータ・適切なLLM選択)の選択や継続的な改善にあります。運用面での体制整備と、プロンプトエンジニアリングなどの生成AIスキル獲得も不可欠です。
■ 今後の取り組みと展望
今後の課題として、検索結果にノイズが含まれるという問題が挙げられます。これに対し、文書種別(見積書、設計書など)や作成日、ファイルパスといったメタデータ(付加情報)を活用し、フィルタリングを行うことで、ノイズを除去し、文脈に即した検索精度の向上と回答の信頼性向上を目指します。
長期的には、社内での知識活用成功事例を外部展開し、顧客向けFAQシステムやサポートチャットボットなど、顧客サービスへの展開を見据えています。
これにより、より迅速で正確な顧客対応サービスの実現を通じ、顧客満足度の向上と新たな付加価値サービスの創出を目指します。
Ansible Automation Platformの導入と運用自動化
Ansible Automation Platformで「システム化された自動化」
構築現場では、自動化ツールとして便利で柔軟なAnsible。
しかし、CLIのansible-Playbookによる自動化は、現行構築プロセスをそのまま適用できる一方、使用するには十分なAnsibleの知識が必要です。結果的に、構築時に作成したPlaybookのほとんどが開発者以外に扱うことが困難で、自動化による恩恵が運用では十分に得られていませんでした。
システムの運用を自動化するにあたって、
Windows,Linux,IBM i(AS/400)の技術者不足が加速する中での情シスの作業に着眼して研究しました。
たとえば、日々の定常業務やアカウントロック解除などの依頼作業を情シス担当者が一人で対応していかなくてはならないといった場合でも、Anisble Automation Platformを用いた「システム化された自動化」を導入することで、複数のマニュアル探しや、担当者の呼び出しなどを行わずに対応することが可能になります。
今回は、各種OSへの管理作業として以下のような自動化のデモを発表しました。
・社員への機器メンテナンスを知らせる、Windowsへのメンテナンス通知(ジョブ)
・LinuxサーバーのMW停止・起動を伴う再起動(ワークフロー)
・IBM iユーザーの新規作成、パスワード変更などの管理(ジョブ)
特に、IBM iでは個人に依存したスキルであるユーザー作成やパスワード設定などもAnsibleを利用することにより顧客の負担を軽減いたします。
SLJの得意とする、IBM iをシステム構築と運用システムを同時にお任せいただければ、今後の運用・情シスの負担をも軽減し、新たなサービスを提供できるものと考えています。
Ansible Automation platformには、
他にもEvent-driven AnsibleやAutomation hub、Ansible Lightspeedなどの機能があります。
今後、これらの機能について活用方法の模索、検証を続けていきます。


技術発表会を終えた社員の声
GitHubCopilotの未知の可能性
AIの分野の目覚ましい発展によって、この技術発表会でもAIの導入事例を織り交ぜた発表が増えて参りました。その中でも、自身で検証したうえで自信をもって紹介できる製品がGitHubCopilotのエージェントモードになります。これを使いこなすことができれば、将来的にはエンジニアがコードを書くこともなくなるかもしれません。しかし、あくまでも人間が確認を行うことが前提ですので、依然として課題は残ると思われます。
第3サービス事業部
S.H 入社4年目 20代 エンジニア
LANSA開発でのAPI連携:課題と解決
・こういった発表やナレッジを残すことで、今後の工数削減に活かしたいなと思います。
・今回の発表のように、今後とも多くのことを学んでいきたいと感じています。
・今回、発表資料の作成担当として参加させていただきました。私自身もLANSAでの開発を行っておりますが、資料の作成を通して発表事象について学ぶことが多く、知見を広げられたと感じています。
第1サービス事業部
K.N 入社6年目 20代 エンジニア
Y.I 入社3年目 20代 エンジニア
M.K 入社2年目 20代 エンジニア
製造受付システムRAGチャットボット構築における精度向上について
事業部横断タスクということもあり、事業部および会社全体の課題等も知ることができました。
また初の試みとして、NotebookLMの音声生成機能を利用した音声付きプレゼンテーションを行い、ツール紹介を行うことで社員の業務改善に結び付けばと思いました。
事業推進本部 DX推進部
T.K 入社10年目 50代
Ansible Automation Platformの導入と運用自動化
技術発表会という場に初めて立たせて頂きました。
限られた時間の中で、自分たちが行ってきたことをどこまで伝えることが出来るかの難しさを実感しました。
検証の中では上手くいかないことも多く、Ansibleというツールの奥深さを知りました。
まだまだ検証出来ていないことも多いので、今後はさらに深掘りを していき、知識を高めていきたいです。
第2サービス事業部
T.T 入社2年目 30代 エンジニア