本記事はICSE2025のKeynoteの一つ「David Parnas Keynote: Regulation of AI and Other Untrustworthy Software」を参照してまとめています。
サマリ
David Parnas氏の発表内容Abstractを元にまとめています。ざっくり書いてるだけですのでぜひ大元の資料ご覧ください。面白いです。
- 背景
- AI利用に対する規制の需要が増えている、政府や国際的な組織など
- 良い規制を作るため、AIを利用するソフトウェアがこれまでも、これからもuntrustworthy(信頼できない)であることを理解しなければならない
- AIソフトウェアを規制することは難しいことを理解しなければならない
- 提案:AI systemsへの規制(AI systemsはCritical Softwareのように扱おう)
- Critical Software(一般的には人命に影響があるようなソフトウェア、航空機を制御するソフトウェアなどが一例)に対する安全な規制は、潜在的に危険なAIから我々(利用者かな)を守る
- critical computer systems(David Parnas氏の独自の定義かな?) には一連のプロパティが必要、そのプロパティ(特性、かな)は規制のベースとなる、そういったプロパティを提案する
- この話題が発表の肝で、スライド(講演)の中でそのプロパティを提案している
- AI systemsはcritical applicationのように扱うべき
- 規制のベース(大元になりそうな特性、プロパティ)は以下、ソフトウェア工学がこれまでしてきたように品質にfocusしよう
- 振る舞い、スペックの把握
- ドキュメントしっかり書く(Well documented)
- プロダクトがしっかり検証され、テストする
- スライド39に詳細書かれてる
- プロダクトがmaintainableであること
- しっかり設計すること(Well structuredと書かれてる)
- スライド40に書かれてることとリンクしてそう
- 階層構造、モジュール化、インターフェースの設計などが挙げられてる
- レビューしやすいようにね、という話のよう
- ドキュメントしっかり書く(Well documented)
- しっかり設計すること(Well structuredと書かれてる)
- 振る舞い、スペックの把握
感想
ICSEに行くことはなかなか難しいのだけど、毎年論文は読みたいと思って時間のある時に読んでる。今回もふと気が向いて読んだ。
そんなわけでふと読んだKeynote発表だったんだけど、非常に面白かった。
僕の書いてるサマリは参考までに読んでいただきたいのだけど、David Parnas氏の主張はおそらくAIを否定しているというよりは工学らしくしっかり品質保証しようぜ、という話かと理解した。
大事なポイントは、AI systemsをCritical Softwareのように扱ってしっかり見ようぜ、品質を大事にしよう、ていう話かと思った。
ソフトウェア工学そのものは品質の上に成り立ってるんだから(以下引用参照)、改めてそういうの大事にする必要があるよ、AI systemsはCritical Softwareと同じようなコンテキストで見て扱う方が良いよ、ていう話なのだろう。
ソフトウェアエンジニアリングは階層的な技術で構成されている(図 1. 3)。ソフトウェアエンジニアリングを含むすべてのエンジニアリングアプローチは、品質に対する組織的な責任を持って実施されなければならない。(中略)品質に焦点を合わせること(quality focus)、これがソフトウェアエンジニアリングを支える基盤となる。
すなわち、これまでの先人の積み上げ、ソフトウェア工学が積み重ねてきたもの、具体で言えばDavid Parnas氏が言ってるようなことが今後も引き続き大事だということ。
- Well documented
- Specのドキュメント書こうね
- 設計書(Design doc等でもそう)もしっかり書こうね
- 把握してる状態にしようね
- Well structured
- decomposable意識しようね(関心の分離など)
- モジュール化しようね
- レビューしやすいように、maintainableであるようにね
生成AI(というよりAIエージェントかな)が出てくる以前と何ら変わらないことが良いソフトウェアを作るために大切だという話。なんとなくそうなるだろうなー、と想像はしていたものの、生成AIのこの流れととんでもない勢いを見てるとなんだかそうでもないのかしらと不安にも思ったりしてた。
でも、ICSEという場のKeynoteでこうお話されてるのを知り、考えてたことが正しそう、と理解できてなんだか安心した。
"誰がAIが書いたコード保証するんだよ"
ていう当たり前の話ではあるんだけど、これが今後ホットになるのは間違いない(もうすでに今そうなってる?)。
面白い時代に生まれてよかったな、と思いつつ、ソフトウェア作るのますます大変になってね?、とも思う。
David Parnas氏の言うように何かしら規制が必要だろうし、これもたまに見かける議論だけどソフトウェアエンジニアへのライセンス制導入てのは現実味が帯びてきているように感じた。
僕はまだAIエージェントを自分の手で試せずにいる。そろそろ試さねば、と思いつつ、次女氏が産まれたばかりでそれどころではない(言い訳です)。
AIソフトウェアをどう品質保証していくのか、という話は今後ホットになっていくのは間違いない。僕もそこは興味がある。David Parnas氏が言うように、Critical Softwareのように扱おう、という提案は理解できるし、もう一巡かそこらして、ほとんどのソフトウェアエンジニアがAIを使ってコーディングを始めるとまあそういう議論は熱を帯びてきそう。
ということで非常に参考になる発表でした。全スライドに中庸之道(バランスとって考えようね、的な意味らしい)と書かれていて、面白い方だな、と感じたのでぜひ現地で聞きたかったなと思いました(ペーペーの僕が存じ上げないだけですごい方なのは間違いない)。
それにしても久しぶりに論文というか学会の発表見たけどやっぱり面白い。定期的に論文読み散らかしたログとしてブログ記事書きます。終わり。
↑本記事は次女氏を抱っこしながら発表スライドを読み、まとめました
おまけ)おすすめ記事のご紹介
ソフトウェア工学を学ぶ際に参考になる書籍をまとめていますのでご興味ある方ぜひご覧ください。
ソフトウェアエンジニアも体が資本。若い時と同じくらい、とまではなかなか難しいかもしれませんが、体力があれば考え続けることもできます。
というわけで個人的におすすめしている体調管理術についてご紹介している記事を置いておきます。向き不向きはあると思うのでご注意いただきたいですが、これからも楽しくソフトウェアを作ることをしていきたい方にはお勧めです。ご覧いただければ幸いです。