はじめに
こんにちは、本田技研工業遠野です。
ソフトウェア内製化チームでQAエンジニアをしています。(QA=Quality Assurance、品質保証)
先日、ソフトウェアテストのシンポジウム”JaSST'24 Tokai”へ参加してきました。
こちらは特別講演についてレポートします。
特別講演:大規模言語モデル・対話型生成AIによるテスト支援の広さと深さ
資料が公開されています
■今日の話
特定のタスク・ユースケースで信頼して使えるか?
テストの道具として使う話
一人ひとりが上手く使うのはどんどん進み、自分が賢ければ使える
みんなで使うには?
テストにおけるLLM型AIの活用
-
テスト関連の学術研究例
- 組み合わせて探索的にテストをやらせる
- こういうテストはいままでにやりました、次どうしますか?をLLMに考えさせる
- 試したことないからこれをやってみよう、と提案する
- 障害記録内の再現手順
- 実は2ステップ入っていたり、ステップを飛ばしたりされるのが人間の書き方
- AIが常識をもって自動処理する
- 構造化して統計分析する
- 学生さん:「消防車」観点をGPTに出させる→それを画像生成させる→消防車を認識できるか試す
- 学術界だけでなく、産業界でのツール適用、展開も多い。バンバン出てきているのが現状
- 組み合わせて探索的にテストをやらせる
-
LLMのおかげでかなりなんでもやらせてみることはできる
が、LLMだけにやらせやり、本来人間が3ステップでできるものを、すっ飛ばして結果だけやらせるのは上手くいくわけではない
-
プロンプトがあればすぐできる時代なので、逆にいうとかなりのスピード感
- たくさんのデータを集めてやったり、準備が必要だったりは以前と比べたらやらなくてよくなっている
-
形式化だけやらせて、以降は人間でやる(従来技術へつなげる)
-
みんな使いたくなっている
適材適所の自動化・支援技術を使いこなす
- 道具だから技術的な側面もふまえてやる必要がある
- 論理パズルであるものはそれ用の処理をかませる
- ランダムは強いが、論理的なルールを守ったり定量指標を上げるなら従来技術(とLLMを組み合わせたもの)が強い可能性が高い
LLM+既存技術には夢がある
- 試すだけなら、やろうと思えば今日いますぐにできる世界なので「やらせてみる」ことは簡単
- ものすごいスピード勝負になっているので、あーだこーだ唸るくらいならさっさと試したほうがいい
- 手を動かす人が多いほうが勝ち
- 一方で、できないこともある
- 人間がAIの出力を確認してなおせば役立つが、それっぽいものが出ました以上です、というのは成り立たない
- ★やってみたあとに、「評価して改善する」というのができないといけない
- 例えば、「テスト観点をAIにあげさせた。その観点がいいものか5段階で評価してください」
- 人間の場合どうやってつけるのか?
- 人間でも評価がわかれるものを評価して改善することが必要なので、どうするか
- LLM-as-a-Judge
- このテスト観点について、◯◯の意味での網羅性があるとともに、挙げられたものに対して矛盾がなければ5点、の評価を自動でさせる
- LLMが出した結果をLLMに評価させる
- これだけだと、AIがかしこかったらすごいけどだめだめだったらだめなものができあがる、、
- テストをつくるAIと、いいテストか評価するAI
- 少なくとも片方は人間が見張らないといけない
- LLMOps
- 活動の90%は「評価」
- 主役はテスター(開発者ではない)
感想
やってみるだけならすぐできる状態であり、ものすごいスピート感だ、というところが印象的でした。
労力をもう今すぐ外注できる状態なのだと思いました。
ただやはり人間が判断することが必要だという点は、基調講演での話と同じだと思うので、
テストを上手くなろうと思いました。
おわりに
感想と被りますが、これまでどこか遠い話のように聞いていたことが、
かなり近くまできている(もはやすでに通り越されている?!)ように思いました。
時代の最先端にいると思うと楽しいですね!
試すモチベーションが上がった講演となりました。
特別講演に関するレポートは以上です。