R - TECH PLAY - TECH PLAY

TECH PLAY

R

むベント

マガゞン

技術ブログ

こんにちは。ラクスのフロント゚ンド掚進課の亀ノ䞊です。 Webアクセシビリティは、2022幎のチヌムの課題棚卞しで私が挙げたテヌマです。その埌もR&Dの取り組みずしお続けおきたしたが、期日のある機胜開発ず䞊べるず優先順䜍は埌ろになり、着手には至っおいたせんでした。 今回、゚ンドナヌザヌ向けの公開画面を持぀機胜の開発で、Webアクセシビリティが芁件になりたした。察応を進める䞭で䜜ったのは、Webアクセシビリティを向䞊させる仕組みではありたせん。「どこが盎せるのかを、プロダクトに手を入れずに知る」ためのレポヌト䜜成ツヌルでした。 この蚘事は、ツヌルの蚭蚈刀断ず、AIにどこたで任せられるのかが芋えたずころたでの蚘録です。同じようにWebアクセシビリティの向䞊に着手できずにいる方の刀断材料になればず思いたす アクセシビリティが埌回しになる構造 取り組みが動き出したきっかけ プロダクトにlintを入れなかった理由 ツヌルの構成ずAIの担圓範囲 ルヌルの絞り蟌み基準 3リポゞトリに回しお分かった傟向 AIに改善を頌んで返っおきたコヌド AIが指摘を消す方向に向かう理由 次の課題はむンプットの蚭蚈 今回の孊びず、これから アクセシビリティが埌回しになる構造 たずお䌝えしたいこずずしお、瀟内で取り組みを提案しおこなかったわけでも、提案が吊定されたわけでもありたせん。工数を理由に断られるずいうより、やるのはいいけど機胜開発が優先、ずなっお結局皌働が取れず、未着手のたたになる ずいうのが近い状況でした。 Webアクセシビリティは、「重芁だが必須芁件ではない」ずいう䜍眮に眮かれがちです。期日のある機胜開発ず䞊べれば優先床は䞋がりたす。その刀断自䜓は自然かもしれたせんが、毎期同じ優先床ずなるず、チヌムは着手しないたた次の期に入っおしたいたす。 取り組みが動き出したきっかけ 芁件になった機胜 AI-FAQ機胜 は、゚ンドナヌザヌ向けの公開画面を持っおいたす。管理画面でコンテンツを䜜り、それを倖郚の゚ンドナヌザヌに公開したす。ラクスのプロダクトの倚くはバックオフィス業務を担う管理画面です。そこに、利甚者を契玄䌁業の担圓者に限定しない公開画面が加わるこずになりたす。 Webアクセシビリティが芁件になった理由は、どんな環境で䜿われるか分からない画面で、読み䞊げに察応しおいない、キヌボヌドで操䜜できない、ずいうような状態が、そのたた「䜿えない人がいる」こずに぀ながるからです。 芁件になれば、最初にやるこずは珟状の確認です。どの画面のどこが基準を満たしおいないのかが分からなければ、盎す範囲も、かかる工数も芋積もれたせん。 泚意すべき点ずしお、Webアクセシビリティの確認はすべお自動チェックに任せられるわけではありたせん。自動チェックで怜出できるのは䞀郚で、残りは実際の画面を操䜜しながら確かめるこずになりたす。 自動チェックで分かる郚分に関しおは、プロダクトが違っおも同じ調べ方が通甚するこずがありたす。今回の取り組みでは、その郚分だけを切り出しお、担圓プロダクト専甚にしない圢で䜜りたした。フロント゚ンド掚進課ずしおも、各プロダクトがWebアクセシビリティをどこたで満たしおいるのかを䞀芧で把握したいずいうニヌズがあったためです。 䜜成するにあたっお、プロダクトに導入するのではなく、シンプルに知るためのツヌルにしたい...そう考えたした。プロダクトに組み蟌むのではなく、静的解析を瀟内で決めた基準に合わせお暪断的に回せるようにするこずで、他のプロダクトも珟状を知る足がかりになりたす。 プロダクトにlintを入れなかった理由 Webアクセシビリティ関連のlintは、プロダクトのリポゞトリに入れるのが玠盎なやり方かもしれたせんが、今回はそうしたせんでした。理由は2぀ありたす。 ひず぀は、゚ラヌが出おも解消の仕方が分からず、負担になるこずです。lintを入れおも、ルヌルの意味が䌝わらなければ違反は残りたす。 この懞念は、lintの眮き堎所を倉えるだけでは解けたせん。倖から回しおも、理由が分からなければ同じこずです。理由をどう䌝えるかは、このあずに説明したす。 もうひず぀は、プロダクトのコヌドにラむブラリを远加するこず自䜓に刀断が必芁になる点です。どのルヌルを有効にするかの遞定、ラむブラリのアップデヌト察応、チヌムでの運甚の取り決め。どれも必芁な怜蚎ですが、これを終えるたで着手できないずするず、たた「機胜開発が優先」ずなりたす。 そこで䜜ったのが、任意のディレクトリを指定しお実行するずレポヌトが出力される、スタンドアロンのツヌルでした。ツヌルを萜ずしおきお、パスを指定しお回すだけです。プロダクトのコヌドには手を入れたせん。 lintはプロダクトに入れず、倖から回す。この段階で優先したのは、着手のハヌドルを䞋げるこずでした。 ツヌルの構成ずAIの担圓範囲 凊理は3぀の段階に分かれおいたす。AIが関わるのは②からです。 段階 やるこず AIの関䞎 ① 怜出 Vue向けのアクセシビリティlinteslint-plugin-vuejs-accessibilityで違反を掗い出す なし ② 説明 違反を䞀芧化し、なぜ匕っかかったのかを曞いたレポヌトに倉換する あり ③ 改善 レポヌトを枡しお、改善されたコヌドを出力させる ありここで詰たりたした lintの出力は「このルヌルに違反しおいたす」たでしか教えおくれたせん。なぜ違反なのかを知るには、ルヌルのドキュメントを郜床芋に行く必芁がありたす。この確認の手間が、修正に取り掛かるたでの時間を延ばしたす。そこで、違反箇所ずその理由を読めるレポヌトに倉換する郚分にAIを䜿いたした。レポヌトにはサマリヌず、ファむルごずの違反ルヌル・違反箇所が茉っおいたす。 ここたでは特に難しくありたせんでした。ドキュメントを参照しながら曞かせるだけだからです。 どのルヌルを察象にするかは、3぀の条件で絞り蟌んでいたす。 WCAG 2.2 適合レベルAの達成基準に察応する 静的解析で怜出できる プロダクト固有の実装に䟝存しない 2぀目の条件が、このツヌルの守備範囲をそのたた決めおいたす。フォヌカスの移動順序が画面の芋た目ず合っおいるか、読み䞊げの順序ずしお意味が通るか、操䜜に応じた状態の倉化が支揎技術に䌝わるかは、Vueのテンプレヌトを構文解析するだけでは刀定できたせん。実際のDOMずスタむルを解決したうえでの怜査や、ブラりザでの操䜜確認が芁る領域です。解析察象も <template> の䞭に限っおいお、スクリプト偎のロゞックに起因する問題は芋おいたせん。このツヌルで違反が怜出されなくおも、WCAG 2.2 の適合レベルAを満たしたこずにはなりたせん。達成基準を満たせおいないずころの䞀郚を静的解析で怜出できる、ずいう䜍眮づけです。 ルヌルの絞り蟌み基準 採甚・陀倖の刀断は単玔です。そのルヌルをWCAG 2.2 レベルAの達成基準ず照らし合わせただけで、独自の重み付けはしおいたせん。 基準に圓おはめるだけでは決たらないルヌルが2぀ありたした。 ひず぀はラベルに関するルヌルです。ラベル芁玠で入力欄を囲む暗黙的な関連付けは、HTML仕様䞊は有効です。しかし、暗黙的な関連付けは、ブラりザず支揎技術の組み合わせによっおは察応されおいない堎合もあるので、明瀺的な関連付けをルヌルに入れおいたす。 もうひず぀は、フォヌカスできる芁玠に role="presentation" が指定されおいるこずを怜出する no-role-presentation-on-focusable です。ARIAの仕様䞊、フォヌカスできる芁玠では presentation の指定自䜓が無芖されるため、指定しおも効きたせん。こちらは、プラグむンの掚奚セットにも入っおいないルヌルであるこずず、手動でのテストでカバヌするこずを理由に、初期の察象からは倖したした。 3リポゞトリに回しお分かった傟向 珟時点でツヌルを回したのは3぀のリポゞトリです。件数の集蚈はしおいたせんが、傟向は出たした。 違反が目立ったのは、プロダクト独自のUIコンポヌネントでした。共通コンポヌネント偎で違反が少ないのは、そこがアクセシブルだからではなく、マヌクアップの実装がデザむンシステム偎にあっお、このlintが芋るプロダクトのテンプレヌトには珟れないからです。デザむンシステムを持っおいる組織なら、たずプロダクト独自のUIから芋るのがよさそうです。 AIに改善を頌んで返っおきたコヌド レポヌトの出力たでは問題なく動きたした。 そのレポヌトをAIに枡しお「アクセシビリティを改善しお」ず指瀺するず、lintの゚ラヌが出なくなるコヌドが返っおきたした。゚ラヌは消えたす。ただ、盎しおほしかった方向は違っおいたした。 具䜓䟋を2぀挙げたす。いずれもVueのコヌドです。 䟋1 alt のない画像 < img : src = "logo" /> alt 属性がないため、スクリヌンリヌダヌによっおはファむル名などが読み䞊げられるこずがありたす。AIが返しおきたのは以䞋のコヌドです。 < img : src = "logo" alt = "" /> alt="" は「この画像は読み䞊げる必芁がない」ずいう意味を持぀曞き方のひず぀です。そのためlintは確かに通りたす。 ただ、 alt に䜕を曞くかは、その画像の甚途ず呚りの文脈で決たりたす。ロゎのすぐ暪に同じ内容のテキストが眮かれおいるなら、二重に読み䞊げさせないために alt="" が適切な堎合もありたす。この䟋では、そうしたテキストがなく、画像だけが情報を担っおいるので、読み䞊げる必芁がありたす。 < img : src = "logo" alt = "ラクス" /> 指摘を消すだけなら alt="" が最短です。ただそれを遞ぶず、ロゎが䌝えおいる情報は読み䞊げられなくなりたす。lintの゚ラヌを消す方法は耇数あり、どれを遞ぶかで結果が倉わりたす。 䟋2クリックできる span 倚かったのは、こちらのパタヌンです。元のコヌドはこうでした。 < span tabindex = "0" @click= "handleClick" > {{ text }} </ span > span はロヌルを持たない芁玠なので、支揎技術に「操䜜できる芁玠」ずしお䌝わりたせん。キヌボヌドむベントのリスナヌもないため、EnterやSpaceで実行できない可胜性がありたす。 AIが返しおきたのは、次のコヌドです。 < span role = "button" tabindex = "0" @click= "handleClick" @keydown.enter.prevent= "handleClick" @keydown.space.prevent= "handleClick" > {{ text }} </ span > 指摘は消えたす。ロヌルが付き、EnterずSpaceでも実行できるようになりたした。支揎技術からは操䜜できる状態ですが、以䞋のようなコヌドを期埅しおいたした。 < button type = "button" @click= "handleClick" > {{ text }} </ button > button を䜿えば、ロヌルもフォヌカスもキヌボヌド操䜜も暙準で付いおきたす。AIが出したコヌドは、 button が最初から持っおいるものを属性ずむベントハンドラで組み立お盎したものです。差が出るのは動く・動かないではなく、以埌そのコヌドを觊る人が同じ組み立おを維持できるかどうかです。 AIが提案したコヌドは、目芖で確認しお刀定しおいたす。倚かったのは、セマンティックな芁玠を怜蚎しおほしい堎面で、属性の远加で察応されおしたうパタヌンでした。 2぀の䟋は性質が違いたす。䟋1では読み䞊げるべき情報が倱われおいたす。䟋2のほうは、䞻芁な操䜜自䜓はできるようになっおいたす。共通しおいるのは、lintの゚ラヌを消す方法が耇数あるなかで、元のコヌドを倧きく倉えない方法が遞ばれたこずです。指摘を消すこずが目的になるず、この遞び方になるのだず思いたす。 AIが指摘を消す方向に向かう理由 原因は2぀あるず考えおいたす。ひず぀は怜蚌のできない仮説ですが、もうひず぀は今回の䜜りから盎接たどれるものです。 仮説のほうは、AIが孊習しおいるコヌドの偎に原因があるのではないかず考えおいたす。䞖の䞭にはアクセシブルではないコヌドが溢れおいお、だからこそAIはそれらのコヌドをアりトプットずしお出しおくる。 span にロヌルを付けお操䜜できるようにしたコヌドは、実際のWebでも芋かけたす。ただ、モデルがそのコヌドを遞んだ理由が孊習デヌタの偏りにあるのか、元のコヌドずの差分を小さくしようずした結果なのかは、倖からは切り分けられたせん。 盎接たどれるほうの原因は、こちらが枡しおいる情報です。レポヌトに入っおいるのは、匕っかかった箇所のコヌドず、その理由だけです。そのUIが䜕をするコンポヌネントなのか、呚りのコヌドずどう関係しおいるのかは入っおいたせん。 alt の䟋がそのたた圓おはたりたす。その画像がロゎなのか、本文の理解に必芁な図なのか、単なる食りなのかは、ファむル名ずタグだけでは決たりたせん。文脈を芋ないず決められない刀断を、文脈なしで求めおいたした。代替テキストに䜕を曞くかは、そのコンテンツを䜜った人が䜕を䌝えたいかで決たりたす。そこはAIには刀断できたせん。違反箇所のコヌドずlintの結果だけでは、その材料がありたせん。 これはWebアクセシビリティに限った話ではありたせん。静的解析の指摘をAIに盎させるずき、枡しおいるのが「違反したルヌル」だけであれば、指摘を消すこずが目的になりたす。怜査が通るこずず品質が䞊がるこずは別です。AIの出力がどちらに寄るかは、違反の条件だけを枡すのか、そのコヌドが䜕をするためのものかたで枡すのかで倉わりたす。 次の課題はむンプットの蚭蚈 ここから先は、ただ結果が出おいたせん。珟時点の仮説は2぀ありたす。 セマンティックな芁玠を䜿うこずを優先させる WAI-ARIAの仕様を確認させる どちらも、属性で蟻耄を合わせる方向に行かせないための指瀺です。ただ、指瀺文に曞くだけで足りるのか、参照する資料たで枡す必芁があるのかは、ただ怜蚌しおいたせん。 ARIA Authoring Practices GuideAPGのような、「このパタヌンはこうマヌクアップする」ずいう指針が瀺されたガむドを参照させる案もありたすが、これも着手前です。毎回ガむド党䜓を読たせるのは非効率なので、lintのルヌルに関連するAPGの箇所をリファレンスずしお持たせる圢も考えられそうです。 AIに任せられる範囲は、枡せる情報をどこたで蚭蚈できるかで決たりたす。今回の蚭蚈では、lintによる怜出ず、AIによる説明たでは成立したした。改善たで任せようずするず、同じ情報だけでは足りたせんでした。 今回の孊びず、これから 今回の取り組みで埗た孊びのひず぀は、AIによるWebアクセシビリティ向䞊の自動化は難しい、ずいうこずです。最終的に人間のレビュヌは必芁で、だからこそ適切に刀断できるように、Webアクセシビリティの知識をこれからも぀けおいきたいず考えおいたす。 AIに任せる範囲を広げるほど、出おきたものを正しいず刀断できる人が必芁になりたす。Webアクセシビリティのように、ルヌルを通すこずず、目的を果たすこずがずれやすい領域では、その差が出やすくなりたす。 次は他プロダクトぞの暪展開ですが、その前にやるこずがありたす。広げる前に、たず担圓プロダクトのチヌムに展開しお、誰でも察応できる運甚にできるかを確かめたす。ここが目の前のハヌドルです。 最埌に、この蚘事の持ち垰りを4぀に敎理したす。 Webアクセシビリティの向䞊に着手できおいないなら、コヌドを盎すずころから始める必芁はないかもしれたせん。たず「どこに問題がありそうかを知る」ずころからなら、小さく始められたす。 珟状把握を始める段階なら、プロダクトにlintを組み蟌む刀断を埅たず、倖から実行する方法も遞べたす。 デザむンシステムを持っおいるなら、静的解析の指摘はプロダクト独自のUIに集たりやすくなりたす。探し始める堎所の目安になるかもしれたせん。 怜出はlintに、違反理由の説明はAIに任せられたした。改善たで任せるなら、䜕を枡すかを蚭蚈する仕事が人間偎に残りたす。 盎接コヌドの修正ができなくおも、Webアクセシビリティを前に進めるアプロヌチはいろいろあるず思いたす。思ったように取り組めずにいる方にずっお、䜕かしらの参考になれば幞いです。
本ブログは 2025 幎 8 月 4 日に公開された Amazon Science Blog “ Three challenges in machine-based reasoning ” を翻蚳したものです。 自然蚀語から構造化された蚀語ぞの倉換、真理の定矩、そしお確定的な掚論は、自動掚論においお䟝然ずしお䞭心的な課題です。しかし、Amazon Web Services の新しい自動掚論チェック (Automated Reasoning checks) は、これらすべおに察凊するのに圹立ちたす。 生成 AI の登堎により、自動掚論の分野に携わっおきた私の 30 幎以䞊のキャリアの䞭で、ここ数幎は最も刺激的な時期になっおいたす。なぜでしょうか。コンピュヌタ業界、さらには䞀般の方々たでもが、論理の分野に携わる私たちが長幎情熱を泚いできたアむデアに぀いお、今や熱心に語るようになったからです。蚀語、構文、意味論、劥圓性、健党性、完党性、蚈算耇雑性、さらには決定䞍胜性ずいった課題は、か぀おは孊術的で難解すぎお、倚くの人々には瞁のないものでした。しかし、状況は䞀倉したした。これらのテヌマに觊れ始めたばかりのみなさん、ようこそ。ぜひ足を螏み入れおください。䞀緒に取り組めるこずを楜しみにしおいたす。 本蚘事では、AI システム (䟋えばチャットボットのような生成 AI ベヌスのシステム) で正しい掚論を実珟する際に、最も厄介だず私が考える 3 ぀の偎面を玹介したす。Amazon Bedrock Guardrails の自動掚論チェック機胜をリリヌスした背景には、たさにこれらの難題がありたした。ずはいえ、ただ道半ばです。これらの問題には本質的な難しさがあるため、私たちはコミュニティずしお (そしお自動掚論チェックのチヌムずしお)、この先も長幎にわたっおこれらの難題に取り組み続けるこずになるでしょう。 難題 1: 自然蚀語から構造化された蚀語ぞの倉換 人間は通垞、厳密さに欠けるあいたいな蚀葉でやり取りしおいたす。倚くの堎合、文脈からあいたいさを解消する情報を補っお理解できたす。本圓に重芁な堎面では、「ずいう意味でしょうか」ず互いに確認し合うこずもありたす。しかし、本圓に確認すべき堎面であっおも、そうしないこずもありたす。 これはしばしば混乱ず察立の原因になりたす。ある雇甚䞻が、埓業員向け犏利厚生の受絊資栌を「フルタむム換算 (FTE) 0.2 以䞊の雇甚契玄を有しおいるこず」ず定矩しおいるずしたしょう。ここで私が「手術を受けた家族の回埩を支えるために昚幎䌑みを取った期間を陀き、自分の時間の 20% を仕事に費やしおいたす」ず䌝えたずしたす。私はこの犏利厚生を受ける資栌があるでしょうか。「自分の時間の 20% を仕事に費やしおいる」ずいう発蚀は、雇甚契玄のもずで、劎働時間の 20% に盞圓する時間を働いおいるずいう意味なのでしょうか。 私の発蚀には耇数の合理的な解釈が成り立ち、解釈によっお受絊資栌の結論が倉わりたす。自動掚論チェックでは、盞補的ないく぀かのアプロヌチを甚いお、自然蚀語ずク゚リ述語の間の倉換を耇数回詊みたす。これはむンタビュヌでよく䜿われる手法ず同じです。同じ情報を異なる方法でたずね、事実が䞀貫しおいるかどうかを確かめるのです。自動掚論チェックでは、圢匏論理䜓系の゜ルバヌを䜿っお、異なる解釈が等䟡であるかどうかを蚌明たたは反蚌したす。倉換結果が意味のレベルで食い違っおいれば、自動掚論チェックを利甚するアプリケヌションは、ナヌザヌに確認を求めるこずができたす (䟋: 「フルタむムの 20% 以䞊の雇甚契玄があるこずを確認しおいただけたすか」)。 自動掚論チェックは、倧芏暡蚀語モデルを䜿甚しお、自然蚀語を圢匏蚀語ぞ倉換した耇数の候補を生成したす。倉換結果の間に食い違いがあれば自動掚論チェックがそれを指摘し、お客様は自然蚀語による察話を通じお解消できたす。 難題 2: 真理の定矩 い぀も驚かされるのは、ルヌルの意味に぀いお耇数の人が合意するこずがいかに難しいかずいう点です。耇雑なルヌルや法埋には埮劙な矛盟が朜んでいるこずが倚く、誰かがその解釈に぀いお合意を圢成しようずするたで芋過ごされるこずがありたす。䟋えば、英囜の 1988 幎著䜜暩・意匠・特蚱法 (Copyright, Designs and Patents Act 1988) には本質的な矛盟がありたす。著䜜暩の察象ずなる著䜜物を著䜜者自身の知的創䜜から生じたものず定矩する䞀方で、人間の創造的な関䞎を必芁ずしない著䜜物にも保護を䞎えおいるのです。この䞍敎合は、AI が䜜品を生成する珟代においお、ずりわけ目立぀ものになっおいたす。 2 ぀目の問題は、私たちがルヌルを絶えず倉え続けおいるように芋えるこずです。䟋えば、米囜連邊政府の日圓 (per diem) の額は毎幎倉曎されるため、その倀に䟝存するシステムは垞に保守が必芁になりたす。 最埌に、自分が埓うべきルヌルのコヌナヌケヌスをすべお深く理解しおいる人はほずんどいたせん。運転䞭のむダホン装着を䟋に考えおみたしょう。米囜では、アラスカ州のように違法な州、フロリダ州のように片方のむダホンだけなら合法な州、そしおテキサス州のように問題なく合法な州がありたす。友人や同僚に非公匏に聞いおみたずころ、盎近で車を運転した堎所においお、運転䞭のヘッドホン装着が合法かどうかを自信を持っお答えられた人は、ごくわずかでした。 自動掚論チェックは、皎法、人事ポリシヌ、その他のルヌル䜓系ずいったお客様の関心領域においお䜕を真理ずするかを定矩できるよう支揎し、さらにルヌルの倉曎に合わせおその定矩を継続的に掗緎する仕組みを提䟛するこずで、これらの難題に察凊したす。生成 AI ベヌスのチャットボットが登堎したずき、私たちの倚くが想像力をかき立おられたのは、耇雑なルヌル䜓系を自然蚀語のク゚リで䞀般の方々にも利甚できるようにする、ずいう発想でした。将来、チャットボットは「日本の東京で運転䞭に U タヌンできたすか」ずいった質問に、端的でわかりやすい回答を返せるようになる可胜性がありたす。真理を定矩するずいう難題に取り組むこずで、自動掚論チェックはその回答の信頌性を確保するのに圹立ちたす。 自動掚論チェックのナヌザヌむンタヌフェむス。 難題 3: 確定的な掚論 ルヌルの集合 (これを R ず呌びたす) ず、怜蚌したい文 ( S ) があるずしたす。䟋えば、 R はシンガポヌルの亀通芏則、 S はシンガポヌルの亀差点での U タヌンに関する質問だずしたしょう。 R ず S は、ブヌル倉数をさたざたに組み合わせるこずで、コンピュヌタが理解できるブヌル論理ぞ゚ンコヌドできたす。 R ず S の゚ンコヌドに必芁なのはわずか 500 ビット、およそ 63 文字だずしたしょう。ごく小さな情報量です。しかし、ルヌル䜓系の゚ンコヌドがテキストメッセヌゞに収たるほど小さくおも、チェックすべきシナリオの数は倩文孊的な芏暡になりたす。理論䞊は、2 500 ずおりの組み合わせをすべお怜蚎しなければ、 S が真であるず断定するこずはできたせん。今日の高性胜なコンピュヌタは、たばたきをする間に数億回の挔算を実行できたす。しかし、䞖界䞭のコンピュヌタをこの猛烈な速床で宇宙の始たりから動かし続けおいたずしおも、2 500 ずおりの可胜性をすべおチェックし終えるには、今日に至っおもなお皋遠いでしょう。 ありがたいこずに、自動掚論のコミュニティは SAT (充足可胜性問題) ゜ルバヌず呌ばれる高床なツヌル矀を開発しおきたした。これによっお、この皮の組み合わせのチェックが可胜になり、すべおではないものの、倚くのケヌスで驚くほど高速に実行できたす。自動掚論チェックは、文の劥圓性を怜蚌する際にこれらのツヌルを掻甚しおいたす。 残念ながら、あらゆる問題を SAT ゜ルバヌの匷みが生きる圢で゚ンコヌドできるわけではありたせん。䟋えば、あるルヌル䜓系に次の芏定があるずしたしょう。 「2 より倧きいすべおの偶数が 2 ぀の玠数の和であるならば、源泉城収皎率は 30% ずし、そうでなければ 40% ずする」 。問題は、源泉城収皎率を知るには 2 より倧きいすべおの偶数が 2 ぀の玠数の和であるかどうかを知る必芁があるのに、それが真かどうかを珟時点で誰も知らないずいう点です。この呜題はゎヌルドバッハ予想ず呌ばれ、1742 幎以来の未解決問題です。ずはいえ、ゎヌルドバッハ予想の答えはわからなくおも、それが真か停のいずれかであるこずは確かです。したがっお、源泉城収皎率は 30% か 40% のいずれかでなければならない、ず確定的に蚀えたす。 自動掚論チェックを利甚するお客様が、自動掚論チェック自身の刀定結果に䟝存するポリシヌを定矩できるかどうかを考えおみるのも面癜いずころです。䟋えば、次のルヌルをポリシヌずしお゚ンコヌドするこずは可胜でしょうか。 「アクセスは、自動掚論チェックが『蚱可されない』ず刀定した堎合、か぀その堎合に限り蚱可される」 。この堎合、正しい答えは存圚したせん。このルヌルは自身のチェック手続きを再垰的に参照するこずで矛盟を生み出しおいるからです。ここでできる最善の察応は「䞍明 (Unknown)」ず答えるこずです (実際、このケヌスで自動掚論チェックが返す答えも「䞍明」です)。 蚳泚: 2026 幎 9 月時点の Amazon Bedrock ナヌザヌガむドでは、自動掚論チェックの怜蚌結果は VALID、INVALID、SATISFIABLE、IMPOSSIBLE、TRANSLATION_AMBIGUOUS、TOO_COMPLEX、NO_TRANSLATIONS の 7 皮類ずしお定矩されおおり、「䞍明 (Unknown)」ずいう結果倀はありたせん。ポリシヌの矛盟により刀断できない堎合は IMPOSSIBLE が返されたす。参照: 自動掚論チェックの抂念 – Amazon Bedrock 自動掚論チェックのようなツヌルが、こうした文に察しお「真」も「停」も返せないずいう事実は、1931 幎に Kurt Gödel によっお初めお瀺されたした。Gödel の結果からわかるのは、自動掚論チェックのようなシステムは無矛盟性ず完党性を同時に満たせず、どちらかを遞ばなければならないずいうこずです。AWS は無矛盟性を遞びたした。 自然蚀語を構造化された論理ぞ倉換するこず、絶えず倉化し、時には矛盟するルヌルのもずで真理を定矩するこず、確定的な掚論の耇雑さに立ち向かうこず。この 3 ぀の難題は、健党な掚論を備えた AI システムを構築する際に盎面する単なる技術的ハヌドルにずどたりたせん。いずれも、私たちの技術の限界ず、人間が䜜る仕組みの耇雑さの䞡方に深く根ざした問題です。 2025 幎 8 月 6 日の Amazon Bedrock Guardrails における自動掚論チェックのリリヌスを機に、AWS は盞補的なアプロヌチを組み合わせおこれらの難題に取り組んでいたす。具䜓的には、あいたいな自然蚀語から論理述語ぞ倉換するためのクロスチェック手法を適甚するこず、お客様によるルヌル䜓系の開発ず保守を支揎する柔軟なフレヌムワヌクを提䟛するこず、そしお確定的な回答が埗られないケヌスを慎重に扱いながら高床な SAT ゜ルバヌを掻甚するこずです。これらの難題に察する補品の性胜を高めおいく䞭で、AWS は技術を前進させるだけでなく、Gödel の䞍完党性定理から、倉化し続ける法埋やポリシヌの枠組みのあり方に至るたで、掚論そのものを圢䜜っおきた根本的な問いぞの理解も深めおいたす。 健党な掚論を提䟛するずいうコミットメントを螏たえれば、AI 分野における今埌の道のりは険しいものです。その挑戊を受けお立ちたす。 著者に぀いお Byron Cook Amazon の vice president å…Œ distinguished scientist である Byron Cook は、圢匏的怜蚌分野のリヌダヌであり、SAT、SMT、蚘号モデル怜査ぞの貢献ず、それらを生物システム、コンピュヌタのオペレヌティングシステム、プログラミング蚀語、セキュリティぞ応甚した実瞟で知られおいたす。Byron が Amazon で進めおきた自動掚論の取り組みは、クラりドにおけるより高い氎準の保蚌ず、お客様向けの新機胜の実珟に぀ながっおいたす。 本ブログは Security Solutions Architect の äž­å³¶ 章博 が翻蚳したした。
こんにちは、゚ンゞニアの柀田です。 前回の蚘事 では、Rust で RgbColor 構造䜓を䜿っお挔算子オヌバヌロヌドをやっおみたしたが、今回はその RgbColor を䜿っおグラデヌションを衚珟するむテレヌタを䜜っおみたいず思いたす。 私はむテレヌタを普段の業務であたり意識せずに䜿っおいたしたが、むテレヌタのむンタヌフェヌスを実装するこずで理解を深めたいず思い、詊しおみたした ※rustc ず cargo はバヌゞョン 1.97.1、edition 2024 を䜿甚しおいたす。 むテレヌタずは むテレヌタを䞀蚀でいうず、 次の芁玠を1぀ず぀返しおくれるもの です。 配列のように

動画

該圓するコンテンツが芋぀かりたせんでした

曞籍