tenjuu99(天重誠二)'s avatar
tenjuu99(天重誠二)

@tenjuu99@hollo.tenjuu.net

コーディングエージェントでの実装、最初はガーっとやってくれていいんだけど、次第に行きづまることがあり、その理由はAIが自力で階層化設計を案出しないことにあるんじゃないかということを検討している。 AIの問題解決方針は、問題を小問題に分解して、その小問題を解くための関数を作り、関数を組み合わせて全体としての問題が解けるかどうか試す(か、人間に試してもらう)、というわりとオーソドックスなものだとおもうけど、「小問題を解くための関数」には名前がつくけど、これを利用する場所はただのスクリプトで、ここに名前がつかない。部品を作るんだけど、部分がつながった状態の全体には名前がないから、全体というものをまず認識していない。それと全体と部分の関係の調整もできないし、全体的な構造を変えたいときに、部品に捉われて全体の構造が以前のものを引き摺りつづける。 で、これは「つくるべき全体」に名前を与えてやれば解決するんじゃないかと考えて、試してみる。全体に名前を与えて、それを構成する部品を案出させる。全体と部品のレイヤー関係を自分で案出するようにすればいいんじゃないか。

tenjuu99(天重誠二)'s avatar
tenjuu99(天重誠二)

@tenjuu99@hollo.tenjuu.net · Reply to tenjuu99(天重誠二)'s post

これ上手くいくかはこれから検証するけど、マイケル・ポランニーの近位項、遠位項、包括(comprehend)という概念を導きの糸にしている。自分の理解が正しいなら、たとえばいまSNSに投稿しようとしているとき、対象として認知している画面内のSNSストリームとか入力欄の文字列とかがあり、手元にキーボードがある。意識の焦点となっているのはこの画面内の文字とかSNSのストリームとかで、こちらが遠位項、これを操作するためのこの手元のキーボード操作が近位項で、人間はこれらを全体として了解している、つまりキーボード操作がなにを意味するか了解している。こういった全体性の把握を comprehend と呼んでいるとおもう。

https://note.com/hiroimasaharu/n/n1783e2ff038c

この記事では「近位項で遠位項をつかまえている、把握している、意味化している、統合的な包括理解を行っている」と書いていて、そういう関係性。

AIが小問題を解決するための道具(ある名付けられた関数とかオブジェクトとか、プログラミング上で名付けうるもの)を案出して、その「関数を使って問題を解く」とき、この問題をとくための機械には名前が付けられていない。このとき、この関数は近位項なんだけど、たぶん遠位項が把握できていなくて、関数はテストを通過するものであるが、それらを合成したときの「何か」みたいなものに名前がついていないと、ずっと関数のほうに着目してしまう。これが、AIが全体を了解していない仕組みではないかと思われる。

そうであるとすると、階層化関係を構築するようにして、近位項・遠位項の関係をつねに意識させれば良いのではないか、というのが、いまのところ考えていること。