各種開発ツールに接続してデータを収集し、コードにコンテキストデータを付加する「Stepsize Layer」。このツールで何が実現するのか。CEOのオマイヤー氏にインタビューした。
Stepsizeは、開発ツールに特化した新興企業だ。この会社は、DevOps業務にある程度の人工知能(AI)を導入することを目指している。同社の「Stepsize Layer」(以下「Layer」)は開発者向けのデスクトップアプリケーションで、コードベースに自動的にコンテキストを追加する。これは、ソフトウェア開発ツールに接続して履歴データを収集し、その履歴をコードの必要な箇所に添付することで実現する。
本記事は、プレミアムコンテンツ「Computer Weekly日本語版 10月19日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。
なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。
コードを選択してそのタイムラインを表示し、スマートロジックを実行すると、コードの実質的な作者を突き止めることができる。「Slack」と完全に統合されており、これを使ってコードの作者に連絡を取ることもできる。
Stepsizeの共同設立者にしてCEOであるアレックス・オマイヤー氏が本誌Computer Weekly内ブログの1つ「Open Source Insider」のインタビューに応じて、Stepsizeのテクノロジーが進化した過程を語った。
オマイヤー:自然言語処理に深層学習を取り入れる方法をオンラインコースで学んでいたときに、これはプログラミング言語にも適用できるのではないかと思い付いた。プログラミング言語は、英語やフランス語よりも構造が明確で曖昧さが少ないからだ。
開発者仲間とそのことを議論するうちに、機械学習をソフトウェア開発に応用できるのではないかというアイデアが飛び出し、われわれはStepsizeを立ち上げた。
「Stack Overflow」と「GitHub」で公開されているデータを使い、ニューラルネットワークで遊んでみた結果、正しいアプローチとはデータを収集して、そこから適切なデータを生成することだという結論にわれわれは達した。こうすると、ソフトウェア開発プロセスのさまざまな部分を繰り返し合理化し自動化することができる。また、このアプローチで、プログラミング言語を最終的には抽象化できる。
そこでわれわれは、このデータ収集の実験をしながら、開発者の日々の作業を支援する方法を考え始めた。チームで活動している何人もの開発者に話を聞き、開発者が日常的に取り組む作業として多いのは、コードベースに何かを追加することだと気づいた。ただし作業の出発点であるコードベースについて理解してから作業に取り掛かることはほとんどないし、コードベースが現状に至るまでの経緯を把握するという目的に特化したツールもない。(開発者は)誰がいつ、何のためにその部分のコードを書いたのかが知りたいのだ。われわれはコードにコンテキストを追加するLayerを開発した。コンテキストがあるコードベースなら、開発者は(必要な)情報を全て得た上で、1つのコードベースを共有して作業を進めることができる。
オマイヤー:先に説明した通り、Layerにはソフトウェアの開発に使われる主要なツールのほとんどを接続できる。ツールに含まれる履歴データを構造化して、コードに添付する。
ユーザーは単純に、コードのスニペットを選択し、ショートカットキーをたたけばいい。するとわれわれが開発したオープンソースのエディタプラグインが起動して、そのコードと同じロジックを実行するアプリに送信する。その際、このコードに関連する情報を追加する。続いて、Gitに含まれている情報やその他のツールを使ってコードの作者を特定し、作者がそのコードを完成させるまでの完全な履歴を作成する。
履歴は、コミット、プルリクエスト、それらに関するユーザーのコメントや懸案事項が全て時系列で整理されている。われわれは、テストのカバレッジの分析だけでなく、継続的な統合、コードレビュー、他にも多数あるツールの情報なども追加し、コードにその情報へのリンクを張って戻す計画を立てている。われわれの目標は、コードの各部分について、そこに関する情報を全て整理し、直接関連付けることだ。そうすれば、開発者がコードを把握するために、ツールをあれこれ駆使しなくても済むようになる。
また、LayerはSlackも統合している。これは開発者が仲間と連絡を取り、ソフトウェア開発で発生するあらゆることを議論するために利用しているツールだ。ユーザーは、アプリを調査している環境上で直接、コードの作者にSlackのメッセージを送ることができる。LayerはSlack APIを使って選択されたチャネルへメッセージをプッシュし、開発チームにとって必要となるコンテキストを全て埋め込んで、コードに関する(Layerユーザーとコードの作者との間で)生産的な対話を実現する。
本記事は抄訳版です。全文は、以下でダウンロード(無料)できます。
■Computer Weekly日本語版 最近のバックナンバー
Computer Weekly日本語版 10月5日号 ビッグデータでよみがえるレンブラント
Computer Weekly日本語版 9月20日号 本気を出したGoogleはAWSに勝てるのか?
Computer Weekly日本語版 9月7日号 Microsoft対米国政府──判決は?
Copyright © ITmedia, Inc. All Rights Reserved.
リアルタイム性や生成AI対応などデータベースに対する期待が急速に高まっている。そこで従来のPostgreSQLでは対応が難しかったスピードやスケーラビリティの課題を解消したデータ基盤が注目されている。本資料で詳細を解説する。
生成AIを業務に生かすには、回答の正確性やセキュリティなど、多くの課題を解決する必要がある。そこで注目したいのが、オペレーショナルデータベースと、検索拡張生成(RAG)技術を組み合わせるアプローチだ。
多くの企業でアジャイル開発の手法が取り入れられるようになった一方、欧米企業を中心にアジャイル開発の大規模化が普及している。これに伴い、「テストの工数やコストの増大」「製品全体像の把握の難しさ」といった課題が出てきた。
開発のテスト工程を効率化するためのキーワードとして注目される「TestOps」。だが従来の表計算ソフトを用いたテスト管理では、その実現は難しかった。その理由と、TestOpsの実践を成功させるための秘訣とは?
イノベーションを最優先事項とし、研究開発に継続的な投資を行っていたWEG。しかし、開発スピードの低下やKubernetes環境の管理負担増加、Linux運用の複雑化といった課題に直面していた。同社はこの問題をどう一掃したのか。
なぜ、「kintone」が大企業の「Fit to Standard」に効果的なのか (2025/3/7)
ノーコードは、負の遺産であるアナログ業務をなくせるのか (2024/11/12)
手間もコストもかかるGUIのテストはどうすれば自動化できるのか (2024/6/4)
「システム内製化」が失敗しがちなのはなぜ? “従来のやり方”では駄目な理由 (2024/5/15)
金融機関のモダナイゼーション 最適解に導くには (2024/3/29)
お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。
「ECプラットフォーム」売れ筋TOP10(2025年4月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。
「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年4月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...
Cookieを超える「マルチリターゲティング」 広告効果に及ぼす影響は?
Cookieレスの課題解決の鍵となる「マルチリターゲティング」を題材に、AI技術によるROI向...