【第5回】『具体と抽象』から見る、責任とAI時代のQA
<【連載】具体と抽象を往復しよう! 記事一覧>※クリックで開きます

はじめに

前回の記事では、ソフトウェアテストを具体と抽象の往復として捉え直しました。テスト要求分析で具体からリスクやテスト条件を抽象化し、テストアーキテクチャ設計で構造化し、テスト詳細設計で具体的な値へ落とし込みます。テスト実装で実行可能な手順へ着地させたら、その具体から上位のモデルを見直します。

では、抽象度の高い仕事を担うとき、私たちはどのような責任を負うのでしょうか。

テストケースを実行する仕事なら、何をして、どこまで確認したかを比較的明確に説明できます。しかし、何をテストするのか、どこにリソースを配分するのか、どのモデルを採用するのかを決める仕事では、責任の性質が変わります。

さらにAIの登場で、エンジニアは自分が一行一行書いていないコードや、完全には説明できない推論結果を扱うようになりました。すべてを把握してコントロールすることが難しい状況で、成果の良し悪しに向き合わなければならなくなっています。

今回は、管理職、外科医、経営者の例から抽象的なタスクの責任を考え、AI時代のエンジニアとQAエンジニアに求められる責任について書きます。

プレイヤーとしての責任と、意思決定者としての責任

タスクが抽象的であるほど、そこに伴う責任の質は変化します。

「全ての詳細を把握し、コントロールできるから責任を持てる」という考え方があります。これは結果をある程度予測できる世界での責任感で、いわばプレイヤーとしての責任です。QAで言えば、決められたテストケースを実行する、結果を正しく記録する、不具合を再現できる形で報告する、といった責任がこれに近いでしょう。

ここでは、手順を守ったか、作業を完了したか、担当範囲に漏れがないかが問われます。これは非常に重要な責任です。

しかし、責任にはもう一つの側面があります。たとえプロセスを100パーセント把握、コントロールできなくても、その最終的な結果を引き受ける覚悟です。これは品質を「保証する」というよりも、品質の良し悪しという結果に責任を負うことです。

抽象的なタスクとは、やるべきことの自由度が高く、正解が一意に定まらず、途中経過を完全には監視しきれない仕事です。何をテストすべきか、どこにリソースを配分するか、どこまでを合格とするか、AIが生成した成果物を採用するかを決める仕事がそうです。同じ情報を見ても、リスクの評価は人によって分かれます。また、すべてを厚くテストすることはできません。何を優先し、何を許容するかを決める必要があります。

こうした仕事では、結果を直接つくるというより、結果が生まれる構造を設計します。そのため責任は「自分がすべてを実行したか」から「適切な判断をし、その判断の結果を引き受けたか」へ変わります。これが意思決定者としての責任です。

管理職、外科医、経営者の責任

管理職は、部下の一挙手一投足を把握できません。それでも、部下が把握外で起こしたミスも含めて、チームとしての結果を引き受けます。自分が直接コントロールできないものがあると理解したうえで、チームの仕組み、判断、優先順位、コミュニケーションを設計し、その結果に責任を持つのが管理職です。

外科医も、患者の体質や予期せぬ反応をすべて予測することはできません。診察、検査、説明、手術方法の選択などでプロセスを整えても、予期せぬことは起こります。そこで「手順通りにやったから責任はない」とはなりません。手術計画や検査結果は患者を理解するためのモデルであり、患者そのものではありません。実際の患者を観察し、必要に応じて計画を変える必要があります。

経営者は、市場や景気、為替、競合など、自社でコントロールできない外部要因を抱えながら、最終的な業績の責任を負います。どの市場に向き合い、どのリスクを取り、どのような組織をつくるかを判断し、その方針から生じる結果を引き受けます。

AIの登場と責任の変化

AIの登場で、エンジニアはこの責任の質の変化に向き合わざるを得なくなっています。

これまでのエンジニアの責任は、自分が書いたコードや設計したデータ構造など、比較的「把握できるから責任を持つ」世界に置かれていました。

ところがAIを実務に組み込むと、自分が一行一行書いていないコードや、完全には説明できない推論過程、入力によって変化する生成物を前提に成果物をつくることになります。求められるのは「全部わかっているから責任を持つ」ことではなく、「全部はわからなくても、その結果を引き受ける」ことです。

ここで注意したいのは、AIを使うことは責任をAIに移すことではない、という点です。AIが生成したコードに不具合があっても、「AIが作ったので自分には責任がない」とは言えません。AIを使う人は、何をAIに任せて何を人間が確認するのか、どの程度の誤りを許容するのか、どのような検証を行うのか、問題があったらどう対応するのかを判断する必要があります。AIによって作業が自動化されるほど、人間には判断の責任が残ります。

続きを読むにはログインが必要です。
ご利用は無料ですので、ぜひご登録ください。

SHARE

  • facebook
  • twitter

SQRIPTER

北村 駿(きたむら しゅん)

記事一覧

元バンドマン・元バーテンダーのQAエンジニア。現在はとあるQA組織の内製化とQAテックリードを担いながら、ピープル・ワーク両面でマネジメントも奮闘中。

Xアカウント: https://x.com/max_qae
Zenn: https://zenn.dev/max_qae

Sqriptsはシステム開発における品質(Quality)を中心に、エンジニアが”理解しやすい”Scriptに変換して情報発信するメディアです

  • 新規登録/ログイン
  • 株式会社AGEST