Amazon Web Services ブログ

株式会社システムインテグレータ様の AWS 生成 AI 事例 「Amazon Bedrock を使用したプログラミングスキル判定サービス TOPSIC の AI 解析機能」のご紹介

本ブログは、株式会社システムインテグレータ様と Amazon Web Services Japan が共同で執筆しました。

株式会社システムインテグレータは、「時間を与えるソフトウェアを創り続ける」というミッションを掲げる IT 企業です。パッケージ・ソフトウェアやクラウドサービス(SaaS)の企画開発・販売、コンサルティングなどを幅広く手掛けています。

同社では、エンジニアの採用や教育に役立つ、プログラミングスキル判定サービス「TOPSIC(トップシック)」を提供しています。

TOPSIC

TOPSIC image

TOPSIC」は、プログラミングおよび SQL のコーディングテスト問題と受験プラットフォームを提供するクラウドサービスです。オンライン受験、リアルタイム採点が可能となっており、「いつ」「誰に」「どんなテスト」を受験させるかを設定するだけで、簡単にプログラミングスキル判定が可能なサービスとなっています。「TOPSIC」 は、プログラミング「力」ならびにアルゴリズム「力」を問う TOPSIC-PG と、SQL スキルチェックだけでなく業務知識の習得にも役立つ TOPSIC-SQL から構成されています。

TOPSIC では提出されたソースコードを受験者同士で共有する機能が用意されています。同じ問題に対して提出されたソースコードでも、使われているアルゴリズムやデータ構造などは受験者やプログラミング言語によって様々です。他者の解答から自分とは異なる解法や実装方法などを学ぶことで、自身のアプローチの幅を広げていくことを推奨しています。しかし、これまでは参考とすべき解答を探すための具体的な方法がなく、データ長や実行時間を見ながら、数ある解答を逐一確認していく必要がありました。

検証内容

このような課題を解決するために、生成 AI の機能を用いてソースコードをタグ付けし、参考にしたいソースコードを簡単に検索できないかと考えました。この仮説検証のため、システムインテグレータでは AWS のサービスを活用した以下の検証を実施しました。

arch

受験者が提出したソースコードを安全に管理することが絶対条件でしたが、Amazon Bedrock を活用することで、セキュリティの懸念もなく、 AWS 内のサービスのみでAI解析を行うことが可能となりました。

Amazon Bedrock を利用するのは今回が初の試みでしたが、AWS のマネージドサービスを活用することで、約 1ヶ月という短期間でプロトタイピングを終えることができました。

検証結果

Amazon Bedrock を用いて受験者のソースコードを解析し、解答へのアプローチ方法を自動でカテゴライズすることが可能となりました。これにより、受験者の提出履歴の検索性能が向上し、参考とすべき解答へ辿り着きやすくなりました。解法は利用言語毎に集計され、言語ごとの解法の傾向なども把握可能となりました。

今後の展望

Amazon Bedrock に関する検証を続けています。現在、本機能は Claude 1.2 で稼働していますが、Claude 2、 Claude 3 Haiku の導入も検討中です。特にClaude 3 Haiku を利用することで、コストの大幅カットとレスポンス時間の短縮を見込んでいます。

まとめ

TOPSIC(トップシック)」は、コーディングテスト問題と受験プラットフォームを提供するクラウドサービスです。本サービスには、提出されたソースコードを受験者同士で共有する機能が用意されており、他者のソースから解答へのアプローチや実装方法を学ぶことを推奨しています。

Amazon Bedrock を活用して、各受験者の解答を解析することで、その解答で利用されているアルゴリズムやデータ構造などの情報でカテゴライズすることが可能になりました。これにより、提出履歴の検索性能が向上し、自己学習のプロセスが効率化されました。

今回の検証を通して、Amazon Bedrock を利用することで、安全かつ高速に生成 AI を用いた機能実装が実現できることを確認できました。システムインテグレータでは、今後も AWS の先進な技術を用いてソフトウェア開発に注力していく考えです。