Stephen Wolfram は人々を賢くする仕事をしています。彼の作品をはじめ、マセマティカ、ウルフラム・アルファ、 そしてWolfram言語、人々が計算的に考えるのを助け、それを数学記号の発明と比較するとき、彼は傲慢ではありません。の創設者兼CEOとしてヴォルフラム彼は 800 人のチームを監督していますが、できる限りあらゆる技術的な詳細を学び、自分自身のインプットを最大限に活用することを非常に重視しています。
スティーブンが最近出版した彼の個人的な生産性に関する習慣についての 14,000 ワードのエッセイ、特別に設計された机の引き出し、フラット ファイル システム、ラップトップを散歩に持ち出すことによる健康上の利点などが含まれます。私たちは彼に、自己測定が気を散らすものではなくツールであることを確認する精神的戦略、知性の委任をどのように避けるか、Google が機関検索が苦手な理由、Wi-Fi ネットワークを目立つようにする邪悪なハックについて詳しくインタビューしました。群衆の中で。
「
何か問題が起きたときは、たとえ誰かがそれを直してくれたとしても、その人が何をしたのかを調べてください。
」
ライフハッカー:特にこの作品にはどのくらいの期間取り組んでいますか?
スティーブン・ウルフラム:私たちはWolfram言語のバージョン12を完成させようとしています。普段は私たちの製品に深く関わっています。しかし現在、数百人のスタッフが完成に取り組んでおり、彼らはバグを修正しているだけで、私ができることは何もありません。そして私はなんだか気が狂いそうになった。私はこの作品を十年も書こうと思っていました。それで私は飛び込んでそれを実行することにしました。
それほど時間はかかりませんでした。やろうと思ってから実行するまでは、おそらく 1 週間か 10 日でした。良くも悪くも、私はかなり書くのが速く、「一度書いたらいい」タイプの性格です。私は「自分の作品を修正する」タイプの人間ではありません。それは、作品をより完璧にするよりも、より多くのものを書いたほうが良いと考えているからです。それは私がこの分厚い本を書いたときに従った理論ではありませんでした。新しい種類の科学、10年かかりました!それを、私はどのページも延々と見続けました。しかし、そのため、私はその後「一度だけ書き込む」戦略を好むようになりました。この作品は10年前から書こうと思っていたのですが、実際には1週間ほどかかりました。
「
私は「自分の作品を修正する」タイプの人間ではありません。それは、作品をより完璧にするよりも、より多くのものを書いた方が良いと考えているからです。
」
左:あなたはこの作品の中でWolfram言語、Wolfram Notebooks、Wolfram Cloudについて多くの言及をしていますね。大まかな説明をしてもらえますか?
SW:全体像としては、あらゆるものに計算上のインテリジェンスを提供しようとしています。過去32年間、私はWolfram言語と呼ばれるものを構築してきました。これはプログラミング言語ではなく、一種の一般的な計算言語です。
目標は、可能な限り多くの自動化と知識を言語に組み込むことです。 60 年ほど前、コンピューターがまだ新しい頃、人々はいわゆる高級 [プログラミング] 言語を初めて手に入れたとき、非常に興奮していました。そして、初めてのオペレーティング システムを手に入れたとき、彼らは興奮しました。そして、コンピュータを購入すると、オペレーティング システムが付属していることが当然のことと思われ始めました。コンピュータを入手すると、ユーザー インターフェイスやネットワークなどが付属しています。
私が長い間興味を持っていたのは、コンピュータを手に入れると、それに計算知能の層が搭載され、コンピュータが本質的に機械学習のやり方を知っており、世界、地図、世界に関するあらゆる種類の事実を知っているということです。社会経済データでも何でも。それがWolfram言語が提供するものです。知識と知性の面でできる限り多くのことが言語に直接組み込まれているため、人間ができることは最小限に抑えられます。
私がWolfram言語の前身となる言語の構築を始めたのは今から40年以上前です。私の基本的な考えは、私にはやりたいこと、やりたい科学、その他にもやりたい仕事がある、というものでした。その作業をできるだけ効率的に行えるように、できる限り最高のツールを構築したいと考えています。そして、私は現実的な人間であり、私にとって役立つツールは他の多くの人にとっても役立つことがわかりました。また、私は自分が構築したツールを中心に会社を設立したいと思うほど現実的でもあります。そうすることで、さらに多くのツールを構築していくことができるからです。
私たちの社内での私の戦略は、非常に才能のある人材を擁しつつ、可能な限り自動化することでした。過去 30 年間、私たちはそれを何度も繰り返し、自動化の層を構築してきました。私の目標は、できる限り多くのことをマシンに任せることです。そのため、私はアイデアを思いつき、何をすべきかを判断し、詳細は可能な限り自動的に処理されます。
「
私の目標は、できる限り多くのことをマシンに任せることです。
」
Wolfram Notebooks は、私たちが 30 年前に発表したアイデアです。 (デジタル)ノートはここ数年で人気が出てきましたが、世間一般が「ああ、ノートはいいアイデアだ」と言うまでに25年かかったというのは、ある意味衝撃的です。 Wolfram Notebooks の要点は,テキストとコード,グラフィックス,インタラクティブなインタフェースなどを組み合わせた構造化ドキュメントである。
何かを書くとき、私は英語とWolfram言語を組み合わせて使用します。 300 年前の人々は数学表記を使い始めました。それまでは、人々は自分の言いたいことを、数学的で理解するのが非常に難しいことを、主にラテン語で書き出していました。私は自分自身を表現する効率的な方法として計算言語を使用することに興味があります。それが私がWolfram言語で構築したものです。それは人間とコンピュータの両方が読むことができるものです。そしてそれは、数学の表記法が人々を助けるのと同じように、自分の考えを整理する方法でもあります。
もう一つの目的は、自分自身の考え方を明確にすることです。
左:つまり、値や関数を呼び出せるだけでなく、違った考え方ができるようになります。
SW:はい、それは構造化の方法を提供します。人間の言語について、どの言語を使用するかが物事の考え方に影響を与えるかどうかについて、人々は議論します。計算言語の場合、これが当てはまることに疑問の余地はありません。私は何年にもわたってWolfram言語を開発する中で気づいたことがあります。何か新しい構造を結晶化すると、その構造の観点から考え始めることができるのです。それがないととても大変です。
「サブセット マップ」と呼ばれる、少し複雑な関数型プログラミングの構造があります。数か月前にそれを理解してから、何年も何年もこのようなことが必要だったことに気づきましたが、それらはすべて渦巻いていて、私にとってうまく整理されていませんでした。このように整理して考えることができたので、その構造をさまざまなものに注入できるようになりました。
この計算パラダイム全体が 21 世紀のパラダイムです。
左:多くの作業プロセスに適用されているこの超最適化について話しましょう。何を最適化するかどうかをどのように決定しますか?あなたはいくつかの興味深く驚くべき選択をしています。記事の冒頭では、物理的なワークスペースや、ラップトップを縛り付けて外を歩き回る習慣について話しています。誰が話しているのか知らずにこれを見たら、「最適化に時間を費やしすぎて、明らかに何も成し遂げていない人がいる」と思うでしょう。
SW:メタポイントは、自分がやっていることをしている間、ただ思考装置を働かせ続けることだ。つまり、自分がやっていることが明らかにばかばかしく、繰り返していることに気づいたとしても、「ああ、それはそうあるべきだ」と言うだけではありません。他の多くの分野で問題を解決しようとしているのと同じように、私はその問題をどのように解決できるかを今でも考えています。
もう一つのことは、みんながあれこれやっているからといって、私もそのようにやるというわけではないということです。つまり、妻は私の「自分で解決する」タイプの行動をよく批判します。それは、うまくいかないことがあるからです。そして、「他の人がやっているようにただやる」ことと「常に自分自身で解決する」ことの間にはトレードオフがあります。常に自分で解決しようとすると、実際に非常に難しいことが判明した場合に、膨大な時間を無駄にする可能性があります。しかし、ほとんどの場合、最終的には、一般的なソリューションよりもはるかに最適化されたものになると思います。
私は何かをしているときは常に考え続けるようにしています。ファイルシステム構成のようなもの。これまでの人生でファイル システムの再編成を 4 回行ったと思います。大した数ではありません。しかし、時々、「これはうまくいかない」と判断することがあります。それについて何かをする必要があります。」しばらくそれについて考えることになるだろう。そして、座って問題を解決してみます。
私が人生の大部分を言語設計に費やしてきたという事実は、機能するソリューションを考え出すのにおそらく役立つと思います。なぜなら、言語設計とは、やろうとしている一連のことをどのようにして理解しやすく、実行可能なものに結晶化するかという話だからです。そして、それが、この種の最適化に関する意思決定の多くの内容です。 。まったく計画を立てなくても、自分の人生を送ることができます。あるいは、計画にすべての時間を費やし、自分の人生を送ることを忘れてしまうこともあります。私は自分の時間の数パーセントをこれから何をするかを計画するのに費やすのが好きです。
「
まったく計画を立てなくても、自分の人生を送ることができます。あるいは、計画にすべての時間を費やし、自分の人生を送ることを忘れてしまうこともあります。
」
Wolfram Alpha プロジェクトのように、この計算知識エンジンを作るプロジェクトの多くは、私が最終的に実行することになったものです。私は子供の頃からそのプロジェクトをやりたいと考えていましたが、かなりになるまではそれが可能だとは思っていませんでした。私がそれをやろうとし始めた頃のことです。そして、約 300 年にわたって、そのようなプロジェクトを考えてきた人々がいました。 300年前に始めたとしたら、それは間違いなく実行可能なプロジェクトではありませんでした。そして、私が 40 年前にそれを始めていたら、それも実行可能なプロジェクトではなかったと確信しています。
左:あなたの個人追跡について話してもいいですか?以前にもそれについて書きましたね、そして新しい投稿では、いくつかの決定と発見について話しています。たとえば、ラップトップを持って外を歩き始めたとします。これは、トレッドミルの上を歩いたときよりも外を歩いたときのほうが、安静時の心拍数が下がることに気づいたからです。
長年、あらゆる種類のものを保管してきました
個人分析データ
過去数年間、これには継続的な心拍数データが含まれていました。去年の夏の初め、私は数週間前から安静時の心拍数が著しく低下していることに気づきました。最初はたまたま体系的にやっていたからだと思っていましたが、
気に入ったもの
それから。しかし、夏の終わりに、それは再び起こりました。そして、私は気づいた。それは私が室内でトレッドミルの上を歩いていないときだった。代わりに(さまざまな理由で)私は
外を歩く
.
あなたは普段、心拍数の統計を毎日チェックしていますか?
SW:私が保管しているもののほとんどは完全に自動化されており、私はそれらに対して何もしません。私がそれらを目にする主な方法は、さまざまな内容の概要が記載されたメールが毎日送られてくるためです。私はそのメールをおそらく 0.5 秒ほど眺めますが、主にデータが正しく届いているかどうかを確認するためです。心拍数のことは、確かにメールを見ただけで気づいたと思います。
私の個人分析に関する基本的なことは、データの収集には一切の努力をしていないということです。手に入れるのに力を入れましたシステムそれを実現するために構築され、システムが稼働し続けることを確認します。
実は昨日、アーカイブを調べていたところ、完全に忘れていたことを発見しました。それは、自動で行う前は、睡眠時間や起床時間などを手書きでメモしていたことです。そんなことをしていたなんて、ただただびっくりしました。私にとっては仕事が多すぎるようです!
左:何を追跡するかを決めるとき、それは通常、何かを簡単に追跡できる新しいデバイスやシステムを見つけて、「よし、試してみよう。何か面白いことが起こるかどうか見てみよう」という感じでしょうか?それとも、これはより目標志向ですか?
SW:追跡できるものはすべて追跡します。そして、これらのシステムのほとんどは、一度設定してしまえば、それについて再度考える必要はありません。何年も前から、私は 30 秒か 1 分くらいの間隔で、コンピューターの画面の写真を撮り始めました。そしてそれは何年も何年も続いていますが、私はそれについて決して考えません。時々、それを映画にしたらいいのではないかと思うことがあります。見てみると、電子メールが縮小したり拡大したりするのは面白いですが、かなり退屈です。そのデータを何かに使用することはありますか?わからない。保管しておくと超安いですよ。それで、なぜそうではないのですか。
左:これらの追跡システムの定期的なメンテナンスを避けるにはどうすればよいでしょうか?たとえば、私は音楽を聴いていますラスト.fmですが、アルバムが二重に記録されたり、Apple TV での視聴を記録できなかったりするため、常に修正しています。
SW:まず第一に、リアルタイムまたは毎日のダッシュボードが増えれば増えるほど、[システムに障害が発生する] 可能性が低くなります。今朝届いたレポートの一部が空白だった。だからそれはすぐに分かります。昨日何か失敗しました。私にはちょっとした不正行為があることは認めます。なぜなら、私の下で働いているシステム管理者がいるからです。その人に「これは空白のようです。何が起こっているのか調べてください。」というメールを送ったところです。コードの一部は私が自分で書いたものですが、場合によっては、誰かに「これを行うコードを作ってくれませんか?」と言うよりも、コードを書いて自分を表現するほうが早いことがあります。
これが計算言語を持つことの価値です。英語で「これとこれをしてください」とメールなどで自分の気持ちを伝えるよりも、その方が効率的に自分の気持ちを表現できるのです。
もう 1 つは、私はすべてのデータを自分で保管したいということです。使いたいデバイスはいろいろありますが、そのプロバイダーのクラウドにデータを残すつもりはありません。ダウンロードできないなら、本当に欲しくないです。私のアクティブなファイル システムのディスク上に 40 年間アクティブに存在していたものは、まだ存在しており、まだ正常です。他人のファイル システムにあったもの、または他のメディアに入ったもの、誰にも分かりません。
したがって、アクティブなファイル システムに保持してください。確認してください。毎日メールを送信してくれるものを用意して、その 0.5 秒で、それが完全にクレイジーではないことを理解できるようにしましょう。そして、他の多くのシステムから入ってくると思われる情報を集約して、最終的な結論を与えるシステムがいくつかあります。毎週届くものには、「毎日入ってくるはずだったものはすべて本当に入ったのか?」という大きな結論があります。
これらすべてのシステムは一定の速度で腐敗します。そして、秘訣は、この問題が 3 か月前にデータの取得を停止していたことに気づくのではなく、すぐに修正することです。ここ数年、10 年以上前、私は「おっと、1 か月前にシステムが動作しなくなった」という問題に何度か遭遇しました。だからこそ、毎日のダッシュボードの結果が得られるようになりました。
左:「ちょっと待って、この心拍数の低下は散歩に出かけたときに起こるものです」という人間の洞察を待たずに、収集したデータから洞察を見つけるために使用しているツールはありますか?
SW:視覚化を行う予定です。役に立つと思われる場合は、派手な機械学習を行うかも知れません。しかし、それは人間によって引き起こされる傾向があります。
優れたデータサイエンスの基本は、予期せぬことに気づくことができるかどうかです。そして、自動化を非常に賢く行う場合の問題の 1 つは、自動化が何が起こっているかについての一定の期待を暗示していることです。すでにたくさんの期待を抱いている場合、予想外のことを発見するのははるかに困難です。
左:あなたが記事の中で話している、検索と並べ替えのどちらを選択するかについて話しましょう。
長年にわたり、私は製品デザイン、計画、研究、執筆、そして基本的に私の活動すべてを表す 10 万冊以上のノートを蓄積してきました。これらすべてのノートブックは最終的に私のファイルシステムに保存されます...そして私は苦労します
ファイルシステムを整理しておくため
その結果、通常、ファイル システムをナビゲートするだけで、探しているノートブックを、検索を組み立てるよりも早く見つけることができます。
15 年前にも、すべてを検索用に最適化するという生産性向上に関する記事をたくさん見たような気がします。現在私たちが進んでいるのは検索であり、コンピューターには Quicksilver があり、インターネットには Google があり、並べ替えはもはやそれほど重要ではありません。しかし、本当に少し並べ替えが必要な場合には非常に有効であり、そのような場合、検索は決して速くなりません。
SW:それが概念的なものなのか、それとも特定の名前を見つけるのかという問題だと思います。もうすぐ50年ぶりの小学校の同窓会に行くことになりました。それで、私はこれらすべての子供たちに何が起こったのかを追跡していました、そして、検索はそのためのものです。名前がありますね。しかし、それが子供たちに計算的思考を教えるようなコンセプトであるかどうかはわかりません。私はそれについてたくさんの仕事をし、それに関するものをたくさん集めました。何を検索すればいいでしょうか? [関連する項目をすべて表示する] 検索語は実際にはありません。
そしてもちろん、検索に関して言えば、企業検索の問題は個人検索の問題と似ているため、インターネット検索には台無しになってしまいます。 Web 検索では、このページにリンクしているユーザーの数がわかります。これにより、このページがいかに重要であるかがわかります。エンタープライズ検索の問題はまだ十分に解決されていません。同様の明白なシグナルがないからです。
私たちはかつて、Google 社内の企業検索アプライアンスと引き換えに、Mathematica のサイト ライセンスを Google に交換しました。それは美しく、素敵な黄色い箱でしたが、まったく役に立ちませんでした。 「以前のバージョンのドキュメントへのリンクがもっとあるので、それが結果の一番上に表示されるはずです」と言うようなことをします。
そして、これらのより概念的なものについては、タグを付けようと言うというアイデアはどうでしょうか?正しいタグのセットを入力しますか?幸運を。タグ付けが便利だと思ったことは一度もありません。見つけたので、このバケツに入れました。これは非常にすぐに実行でき、バケツが何であるかはわかっています。タグ付けをしようとすると、使用できる 200 個のタグのとんでもないリストが作成されることになります。すべてのカテゴリを覚えられるように、カテゴリが多すぎないことが非常に重要です。そのため、「これをほぼこの場所にファイルする」ことがわかり、カテゴリの名前が正確に正しくなくても、時間の経過とともにそのカテゴリに関する個人的な知り合いを築くことができます。そこにある最も重要なメッセージは、あまり賢くなろうとしないでください、ということだと思います。
私は言語設計に多くの時間を費やしていますが、言語設計では言語の関数の名前を作成することがよくあります。コンセプトを理解するときによく行うように、名前を変更すると、検索の対象外になります。
後で検索できるように、物を置いておくことを意識しています。私は、アシスタントが人の名前を正しく綴っていることを確認することに非常にこだわっています。そうしないと、その名前は永久に失われてしまうからです。しかし、コンセプトを検索することはできません。それはちょっと絶望的ですね。
左:アーカイブ フォルダーについての言及も気に入りました。どのフォルダーにも、その中にもうアクティブではなくなったファイル用のアーカイブ フォルダーがあるということです。私もアーカイブ フォルダーを使用するのが大好きです。アーカイブ フォルダーを使用すると、煩雑な作業が省けます。
SW:あなたはほとんどの人よりも先を行っています。私は体系的な研究をしたことはありませんが、人々のファイル システムがどのようなものであるかを肩越しに観察してきました。それを理解している人がいかに少ないかに驚いています。もしかしたら、あなたの出版物を読んだ人は、このことを理解するタイプかもしれません。
左:アダプターが詰まったバッグなど、会議やプレゼンテーションに常に持ち歩くガジェットを見せます。なぜなら、プロジェクターが特定のコンピューターとそのポートに対応できるかどうかは決して分からないからです。最先端のプロジェクション システムにドングルが 1 つなかったり、何らかの不可解な理由でコンピュータが認識されなかったりして、イライラしたことは誰しもあるはずです。そして、私は「コンピューターがプロジェクターとどのように通信するかを実際に理解したほうが良いと思った」という一文がとても好きです。
そのようなボトルネックを認識するためのアドバイスはありますか?自分の仕事に付随的に見えるかもしれないものの、最終的にはその背後にある実際の科学やテクノロジーを学ぶ必要があるほどの難関となるカテゴリーがあることに気づいていますか?
SW:そういったものはいろいろあります。たとえば、ある場所に行ってコンピューターの電源を入れると、コンピューターは Wi-Fi を探し回っていて、電話のテザリング メカニズムがあるかもしれません。ニューヨーク市などの真ん中にいて、コンピューターが接続している Wi-Fi ネットワークが 800 あるため、フリーズしてしまうことがよくあります。そのことに私は気が狂いそうになり、800 件もの項目をスクロールして携帯電話を見つけようとしています。そこで、携帯電話の名前を変更して、常に一番上に表示されるようにする必要があることに気づきました。
このヒントをあまり有名にしたくありません。
左:定言命法には従わないのです。
SW:そして、頂点を目指して戦います。
私は長い間ソフトウェア会社の CEO を務めてきました。したがって、同様のシステムに問題が発生した場合、それを修正してくれる人々がいるはずであり、私はそれらについて知る必要も考える必要もまったくないと考えるでしょう。しかし、私は、厄介なバグが発生したときは、常に人々に「そのバグは何だったのか?」と尋ねることを原則にしています。それは何年にもわたって膨大な経験が蓄積されているからです。
今日の一例。当社の一部の Web サイトでは、不思議なことに CSS が失われていました。いったいどうしてこんなことが起こるのでしょうか?そして、それに対する答えはまだわかりませんが、私は奇妙なことが起こっているのを見た経験があるので、たくさんの理論を提供することができました。しかし、それが修正されると、実際の問題が何であったかを誰かが教えてくれるでしょう。そしてそれは、問題が発生する可能性のあるものの個人的なデータベースに登録されます。
私はバグに気づいたら必ず報告するようにしています。実際、ほとんどの場合、人々はバグを報告しないので、これは一種の善良な市民の行動のように感じられます。ほとんどの場合、彼らは何かを回避するだけで、世界は継続し、他の人々がそのバグに噛まれます。
私のデバッグへのアプローチは、私の計算論的思考のやり方全体に根ざしています。実は私が記事を書いたことがあります。クラウド インフラストラクチャのバグを見つける。人々はデバッグが非常に苦手です。デバッグは複雑なスキルであり、医療診断のようなものです。そして、これは医療診断ほどコンピュータ システムのデバッグ用に体系化されていません。つまり、これやこれが何パーセントの確率で起こることがわかっている場合でも、同じ種類のアイデアであり、[理論を 1 つずつテストする] などです。しかし、人々があまりやらない、そして実際にやるべきことは、デバッグのためのデータ サイエンスです。
あるケースでは、これはメール システムで、Apple Mail または Zimbra だったかもしれません。私のメールは何らかの理由で奇妙なことに失敗していました。そして、私はそのことにかなり腹を立て、最終的には、これがどのベンダーの誰かと電話で話すことを主張しました。そこで私たちはこれらすべてのメッセージを調べています。私はそれについて多くのデータ サイエンスを実行し始めましたが、256 個を超える同時スレッドが開始されるたびに、そのものが停止していることがわかりました。結局のところ、私には 512 個以上のメール フォルダーがあったため、処理できなかったのです。
これは、個々のメッセージを確認しただけでは決してわかりません。あなたが見たのは、うまくいき、うまくいき、うまくいき、そして何かが失敗したというものでした。 256 番目のスレッドを開始したことを示すカウンターはありませんでした。それはちょうど、このすべての真ん中のどこかで、失敗がブームになっていただけです。
たとえば当社では、実際に何年も前にクラウド インフラストラクチャ上で行ったデバッグの結果、複雑なシステムのデータ サイエンス指向のデバッグを行う本質的に物理学者のグループを構築しました。そして、それは本当に非常に強力な方法論であることがわかりました。
そのときはイライラしますが、これらのデバッグ作業は非常に興味深い知的な演習です。知れば知るほど、上達していきます。したがって、このような背景経験があることは非常に役立ちます。何か問題が起こったとき、たとえ誰かがそれを直してくれたとしても、その人が何をしたのかを調べてください。
わかりやすくするためにインタビューを編集しました。 Wolfram のエッセイのさらなるフォローアップについては、彼の Reddit AMA を読む。