メインコンテンツへスキップ
見出し画像

ありとあらゆるこの世の全ての仕事をAIにやらせるにはどうしたら良いのか?

    ありとあらゆるこの世の全ての仕事をAIにやらせて楽したいですよね。

    今回の問いは下の2つです

    • AIにやらせられる-やらせられない仕事は何によって決まるのか? (単なるプログラミングが得意-なんとかが苦手のようなタスクベースではなく、もっと抽象論として)

    • やらせられる-やらせられないの差が分かれば、意識的にそのギャップを埋め、AIの機能を拡張していくことでができるのではないか?

    ※注意
    この記事は中長期的な話であって、明日からありとあらゆる全てをAIに任せられるという話ではありません。ただ、業務に活きる考察にはなっている気もします。

    サマリー(長いので)

    本記事では、AIにできる仕事とできない仕事の違いについて、「タスク複雑度」と「必須コンテクスト」という2つの切り口から考察しています。
    ----------
    タスク複雑度が高い:多くの変数を考慮しながら意思決定を行う必要があるタスクは、AIにとって自動化が難しい。
    必須コンテクストの量が多いor不明確:AIの学習に必要なデータ量が多くなる-そもそも何を渡せば成功するのかがわかっていない
    ----------
    複雑度はエージェント化/AIスペックの進化によってある程度乗り越えられるものでありますが、後者の必須コンテクストに関してはそもそも私たちがきちんと正しい情報を与えられているかについて反省的に考える必要があり、「AIに何の情報-コンテクストを与えれば人間のレベルを再現できるのか?」という問いと向き合う必要があります。
    つまり、私たち人間が日々の判断ロジックを言語化し、暗黙知を形式知に変換していく努力が不可欠になるのではないでしょうか。

    もちろんAIの進化によってそれらも簡単になることは確かですが、AIだけの進化に任せず、人間側の意識的なアウトプットも必要であると考えています。
    この世の全ての仕事の必須コンテクストを特定した先に、ありとあらゆるタスクの自動化や効率化が存在していると考えられます。

    本編-なぜAIに任せられるタスクに限界が生じるのか

    画像

    そもそもなぜAIに全ての仕事を任せることはできないないのでしょうか?
    単純にまだ「その形のアウトプットを出すことができない」というような技術的制約もありますが(例えば現在のAIは生物用3Dプリンターを作ることはできない)、もう少し近い話として、例えばどうして特定のタスクはAIでも満足するアウトプットになるのに、なぜまた別のタスクだと満足できないアウトプットになるのでしょうか。

    もちろん学習量が、スペックが…などという切り口は無数にありますが、ではそれらの学習量とスペックは何を担保しているのでしょうか?

    私はこうやってAIにタスクを任せられるかどうかを決める重要な要因は、「1.タスク複雑度」と「2.必須コンテクスト」ではないかと思っています。

    1.タスクが複雑すぎると、AIはタスクをこなせない

    画像

    タスク複雑度とは、そのタスクを完了するために必要な手順や判断の数と複雑さを指します。単純な繰り返し作業であれば複雑度は低く、AIでも容易に対応できます。一方、多くの変数を考慮しながら意思決定を行う必要があるタスクは、AIにとって難易度が高くなります。

    例えば、工場の組立ラインでの単純作業は、ロボットアームなどのAIシステムで自動化しやすいタスクと言えます。しかし、新規事業戦略構想や、顧客との交渉、恋愛、異星間交渉など、状況に応じて臨機応変な対応が求められるタスクは、AIにとっては複雑度が高く、自動化が難しい領域だと考えられます。

    こういった複雑すぎるタスクを分解してこなせるほど、2024年のAIにはマシンスペックがありません。

    2.必須コンテクストが不足していると、AIはタスクをこなせない

    画像

    必須コンテクストが不足していると、AIにできてもアウトプットの方向性が意図しないものになったり、あるいは筋が悪いものとなったります。

    コンテクストについて

    ここでいうコンテクストとは、AIがタスクを適切に遂行するために必要な情報や知識、スキル、経験などを指します。

    例えば、単純なデータ入力や定型的な文書作成など、ルールが明確で必要な情報が限定的なタスクは、AIでも高い精度で処理できます。
    一方で、新しい事業戦略の立案や、芸術的なデザインの創造など、多様な情報を総合的に判断し、創造性を発揮する必要があるタスクは、AIにとって非常に高度なコンテクストの理解が求められるのです。

    また、コンテクストには多寡の概念が存在し、コンテクストが少ないほどタスクをAIに任せやすくなります。
    必須コンテクスト量が少ないタスクほどAIに任せやすく、逆に必須コンテクスト量が多いタスクほどAIにとって難易度が高くなります。
    複雑系みたいな話ですね。

    AIの持ってるコンテクストに、自分の持ってる情報を追加する

    そう考えると、基本的にあらゆるプロンプトはコンテクスト量を増加させるための行いだとと考えることができます。
    Aというタスクをして、Bという進め方をして、Cという前提条件がある、というように。

    あるいはRAGなどの仕組みで自分でコンテクストを追加することもできます。これがいわゆるナレッジベースと言われる領域で、企業の資料を増やすのはコンテクスト
    ここで重要なのは、追加するコンテクスト量は固定されたものではなく、人間の努力によって変化させられるという点です。

    つまり、タスクを細分化したり、明確なルールを定義したり、大量の学習データを準備したりすることで、AIに要求されるコンテクスト量を意図的に減らすことができるのです。

    ありとあらゆる仕事をAI化するには

    画像

    1.タスク複雑度の簡易化

    タスク複雑度が要因であれば、まず一個一個のタスクを簡易化するのがいいでしょう。これはエージェントの発想です。
    やはりエージェントがタスクを分割し、さらにそれを別のLLMに指示を出し処理させるという2段階になっていくでしょう。
    とはいえこなせるタスク複雑度の限界値も、このエージェントの頭の良さに依存してしまうのはなんともですがね…(ここは我々がLLM開発者でもなければできることはほぼないです)

    2.必須コンテクストの追加

    AIにタスクを任せるためには、必要なコンテクストを可能な限り提供することが重要となります。改めて以下のような方法がありそうですね。
    ・ナレッジベースの整備:業務に関連する情報をデジタル化し、AIが参照できる形で蓄積する。
    ・学習データの拡充:AIの学習に使えるデータを積極的に収集・整備し、コンテクストの抽出を進める。
    ・人間との協調:AIでは対応しきれない例外的なケースでは、人間が介入してコンテクストを補完する。

    これらの取り組みを通じて、AIに提供するコンテクストを充実させることで、より多くのタスクをAIに任せられるようになるはずです。
    ただし、全てのコンテクストを明示的に提供するのは現実的ではありません。暗黙知も含めた幅広いコンテクストをAIにどう学習させるかは、今後の大きな課題だと言えるでしょう。

    ところで、必須コンテクストってなんだ?

    画像

    さて、「必須コンテクスト」は、タスクをこなすために必要な情報や知識、スキル、経験のことを示しています。
    ところで私たちは本当に必須コンテクストを特定できているでしょうか?

    話は変わりますが、先日新規事業開発の人と話していた時に「新規事業は頑張っても1000に3個ぐらいの世界」と言っていました。

    これってもしかしてこれって運とかそういう話ではなく、
    シンプルに必須コンテクストが全然足りてないってことなのでは??

    つまり人類最高峰の脳を持ってしても、まだ1000個に3個ぐらいしか当てられないぐらい情報収集-経験-コンテクストが乏しく、新規事業やビジネスってまだ全く攻略されてないってことじゃないですか?

    いつか人間やビジネスが"解明され"、コンテクストが明らかになった時、1000個に1000個当てられるようになるのかもしれません。
    当てられないのだとしたら、それはコンテクストが少なすぎるんじゃないでしょうか?

    ありとあらゆるこの世の全ての仕事をAIにやらせるために、必須コンテクストを特定しよう

    画像

    AIにより多くの仕事を任せるためには、まずAIにコンテクストを渡す必要があり、何を渡せば的確な判断をできるかの必須コンテクストを明確にすることが不可欠だと思うわけです。
    もちろん、将来的にはAIがそのコンテクストを膨大な情報から読み取ってくれると思いますが、でも私たちは私たちでAIに歩み寄らないとその未来は遠いものとなるのではないでしょうか?

    しかしながら、2024年になってもいまだにプロジェクトは燃え、スケジュールは遅延し、経営は破綻するように、私たちは2024になってもちっとも仕事というものを攻略できておらず、おそらくそのためには私たち自身が、日々の仕事における判断ロジックをもっと言語化していく必要があります。

    判断ロジックの言語化

    私たちは日常の業務の中で、無意識のうちに多くの判断を下しています。例えば、経験に基づいて優先順位を決めたり、状況に応じて柔軟に対応したりといったことです。これらの判断は言語化されずに暗黙知として蓄積されていることが多いです。

    AIにタスクを任せるためには、この暗黙知を形式知に変換し、明示的なルールやロジックとして記述する必要があります。

    まず、自分自身の思考プロセスを意識的に内省し、言葉で表現する習慣をつけることが重要なのではないでしょうか。

    例えば、以下のようなことを意識してみるとか

    1.判断を下す際に、どのような情報を参照しているか
    2.優先順位を決める際に、何を基準としているか
    3.例外的な状況に対処する際に、どのような知識や経験を活用しているか
    4.問題解決のために、どのような手順やアプローチをとっているか
    5.そしてそれらのコンテクストの何が成功-失敗に導いたかを分析-評価する

    これらを言語化し、PDCAを回すことで、自分自身の仕事の進め方を客観的に振り返ることができます。
    そして、AIにタスクを任せるために必要なコンテクストが何であるかが明らかになってくるはずです。

    もう少し具体的な必須コンテクストの特定方法

    画像

    では、具体的にどのように必須コンテクストを特定していけばよいのでしょうか。以下のような方法論が考えられます。

    1. タスクの分解と分析

    タスクを細かく分解し、各ステップで必要とされる情報や知識、スキル、経験を洗い出します。これにより、タスク全体の必須コンテクストが明らかになります。

    1.タスクの目的と達成基準を明確にする
    2.タスクを小さなサブタスクやステップに分解する
    3.各サブタスクの入力と出力を定義する
    4.各サブタスクに必要な情報、知識、スキル、経験をリストアップする
    5.サブタスク間の依存関係と情報の流れを整理する

    2. エキスパートへのインタビューと知識抽出

    そのタスクに精通したエキスパートにインタビューを行い、暗黙知も含めた必須コンテクストを引き出します。エキスパートの思考プロセスや判断基準を掘り下げることで、AIに必要なコンテクストが特定できます。

    1.タスクに関連する業務知識や経験を持つエキスパートをリクルーティング
    2.エキスパートの思考プロセスや判断基準を引き出す
    3.具体的な事例や経験談から、暗黙知や勘所を抽出する
    4.エキスパートが参照する情報源や知識ベースを特定する
    5.抽出した知識を整理し、必須コンテクストとしてまとめる

    3. データ分析とパターン抽出

    タスクに関連するデータを分析し、パターンや法則性を抽出しましょう。
    得られた知見から、タスクに関連する必須コンテクストを推測することができます。

    1.タスクに関連する構造化データ、非構造化データを幅広く収集する
    2.データからパターンや法則性を抽出する
    3.得られた知見から、タスクに関連する必須コンテクストを推測する
    4.専門家と協力して、抽出されたコンテクストの妥当性を検証する

    4. 実験と検証を通じた反復的な洗練

    必須コンテクストが判明したら、特定した必須コンテクストをAIに実装し、実際のタスク遂行における性能を評価します。
    不足や過剰なコンテクストが明らかになれば、それをフィードバックとして反映し、必須コンテクストを反復的に洗練していきます。

    要は、最初に教えた情報自体が、妥当な情報提供だったか考えましょうね、ということです。

    1.特定した必須コンテクストを元にタスクや業務をさせる
    2.結果を見てAIシステムの性能を評価する
    3.エラーやパフォーマンスの低下が見られる場面を分析し、不足しているコンテクストを特定する
    4.逆に、提供したコンテクストが活用されていない場合は、不要なコンテクストとして削除を検討する

    これって、つまり、仕事の再現性の話だ

    画像

    これらのプロセスを通じて、AIに必要な必須コンテクストを特定し、継続的に改善していくことができるでしょう。

    そしてここまで振り返ると、これって結局AIだろうと新卒だろうと言えることで、シンプルに「一定クオリティの仕事を再現させるにはどうすればいいか?」という話になりますね。

    ただ、今までとは違うのは、単にノウハウ共有するのではなく、判断ロジック、分岐に対する考え方を意識的に振り返ろうということになります。
    SECIモデルでいうなら、私たちがまだ内面化の状態で終わっている暗黙知を、形式知を経て言語化していくの必要があるというイメージです。

    こうやって私たち自身が日々の業務の中で、意識的に判断ロジックを言語化していくことが、必須コンテクストの特定につながることを忘れてはいけません。

    AIと協調しながら、より高度な仕事を実現できる社会を目指して、一歩ずつ前進していきたいものです。

    必須コンテクストを洗い出すために、人類の脳みそのスペックは足りていないかもしれないから、AIと協力する

    画像

    そして、先ほどの新規事業の例からも考えられるのですが、そもそも人類の脳で処理し切れるより複雑な状況になっているのではないでしょうか?
    AIに任せられる仕事がAI自体の頭の良さに依存するように、人類が新規事業戦略構想や、顧客との交渉、恋愛、異星間交渉を攻略できていないのは、人類が絶望的に頭が悪いからではないでしょうか?

    人類の脳のスペックは、生物学的限界もあると思うので、遺伝子的にかサイボーグ的にしか解決できないと思うのですが、AIの方がまだ優秀な気がします。

    人間より賢いAIが出てきた時、今人類が解き明かせない謎も解けるようになるんじゃないでしょうか。

    AIに任せられるかの考え方

    画像

    というわけで、タスク複雑度、必須コンテクスト量、必須コンテクスト特定度の関係性を考えてみましょう。

    1. タスク複雑度が高いほど、必須コンテクスト量が増える傾向がある。

      • 複雑なタスクほど、判断に必要な情報量が多くなるため。

      • ただし、タスク複雑度が同じでも、必須コンテクスト量は分野やタスクの性質によって異なる。

    2. 必須コンテクスト特定度が高いほど、AIによる自動化が容易になる。

      • 必須コンテクストが明確に定義されていれば、AIが必要な情報を効率的に処理できるため。

      • 特定度が低いタスクは、AIと人間の協調が重要になる。

    3. 必須コンテクスト量が多いタスクほど、AIの学習に大量のデータが必要になる。

      • 大量のコンテクスト情報を処理するには、AIの学習能力を高める必要がある。

      • 必須コンテクスト量が多い分野では、データ収集と管理が重要な課題となる。

    4. タスクを細分化し、必須コンテクストを明確化することで、AIの活用可能性を高められる。

      • 複雑なタスクを小さなサブタスクに分解し、各サブタスクの必須コンテクストを特定する。

      • サブタスクレベルでAIと人間の役割分担を最適化することで、全体としての効率を高められる。

    タスクAI化マトリクス

    また、タスク複雑度と必須コンテクスト特定度の組み合わせによって、AIの活用戦略が変わってくるのでしょう

    画像

    象限1.
    複雑度が低く、特定度が高いタスク:AIによる自動化を積極的に進められる。
    象限2.
    複雑度が高く、特定度が高いタスク:AIによる自動化は可能だが、大量の学習データと専門知識が必要。
    象限3.
    複雑度が低く、特定度が低いタスク:AIと人間の協調によって対応。人間の柔軟性を活かす。
    象限4.
    複雑度が高く、特定度が低いタスク:AIの活用は限定的。人間の創造性と総合的判断力が重要。

    画像

    ここからは人類+AIという規模でのナレッジシェアの時代

    画像

    今後、人類がAIに仕事を全投げ、ないし直面する複雑な課題を解決してより良い未来を築いていくためには、人類レベルでの知識共有が不可欠になってくるでしょう。

    議論を振り返ると、AIにタスクを任せるための要件として「タスク複雑度」と「必須コンテクスト量」が重要ではないかと仮説だてしました。そして、必須コンテクストを特定するためには、私たち自身が日々の判断ロジックを言語化し、暗黙知を形式知に変換していく必要があります。

    ただ、人類の脳のスペックだけでは、そもそもこの複雑な世界を処理しきれないのではないか、という点です。人間の頭脳をもってしても、十分なコンテクストを集められていない領域が多くあるのかもしれません。

    そこで重要になってくるのが、AIの力を借りた知識共有だと考えています。
    個人や組織の枠を越えて、人類が保有する膨大な知識や経験を、AIを介して効果的に共有し活用できるようになれば、これまで解明できなかった複雑な問題にも、新たな光を当てられるかもしれません。

    そうすることで、人類レベルであらゆるナレッジがシェアされ、コンテクストが共有され、必須コンテクストが高度化されていく。その先に、AIに仕事を全面的に任せられる世界、つまりAI全投時代が訪れるのではないでしょうか。

    人類の英知を結集し、AIの力を最大限に活用する。そのための鍵は、私たち一人一人の手の中にあるのかもしれません。新たな時代への挑戦を始めてみてはいかがでしょうか。

    余談

    画像

    ここからは余談です

    "プロンプト"の指し示すものについて

    ところで現在"プロンプト"というとテキストベースの言語的なものだけを示す感覚が強くありますが、言語的プロンプトではデザインのことを乗り越えられないとすると、おそらくプロンプトの一種に言語があると捉えた方がいいのです。

    人間で考えてみるとわかりやすいかもしれません。
    もとより我々は文字を見たら反応しますが、臭い匂いを嗅いでも反応し、音を聞いても反応します。
    言語的に捉えるのが1番保存-伝達しやすい形であるので言語化を試みがちですが、非言語的コミュニケーションを全て言語に変換することは無理であり、マルチモダリティでのインプットは重要になります。

    つまるところ、デザイン一つするに当たっても、テキスト指示だけじゃなくて、画像をつけたりするとわかりやすいよね、っていう、超当たり前の話です。
    今までは私たちは申し送り文に添えられている画像を参考資料として捉えてきたのですが、おそらくこれもプロンプトと捉える必要があります。
    少なくとも、我々にはプロンプトであると感じられなくとも、AIにとっては文字も画像も等しく0と1の集合体であり、そこに本質的な差はありません。

    というように、テキストとビジュアル、あるいは未知のプロンプトがこの世には存在しており、それらを適切にコンテクストとして渡すことで仕事の精度が上がるのでしょう。

    画像を出力するときにインプット画像を渡すとそれを模倣してくれるのも、必須コンテクストを渡せているからということなのでしょうね。

    デザインツールのコンテクスト学習の難しさ

    その上で、デザインはコーディングに比べてAI化するのは難しいのではないかと思っていますが、これはデザインするための必須コンテクストがLLMに乏しいことが問題ではないでしょうか?
    というのも今もっと汎用的なAIツールであるChatGPT/Claude3などのチャットツールは学習ソースとしてテキストをベースとしています。
    つまりテキストベースである"コーディング"と、テキストベースではない"デザイン"のうち、テキストベースの方が圧倒的にデータソースへのインプットが多いため、デザインツールはまだ上手くなっていないのでしょう。

    さらに言えばデザインについてのコンテクストと、利用するデザインツール自体のコンテクストの問題もあるのでしょう。
    結局のところコーディングの難しさはエディタではなくコードそのものにありますが、デザインの難しさはデザインツール自体の複雑さも存在しています。

    というわけで、ここをマルチモーダルに学習させなきゃいけないのですがそもそもデザインツールの挙動も全てコーディングです。マウスのカーソルがどこにあるかすら数値として吐き出せるので、この辺りをどうにかデータソースにしていく…んですかね?

    あと、もしかするとマルチモーダルと言いつつ、マルチモーダルだと感じてるのは人間だけで、AIにとってはコーディングとデザインのどちらもただの数字なので、今までの人間の認知的限界や設計思想が邪魔をしているんですかね…?

    あなたへのおすすめ