最近、いくつかの自前のアプリケーションについて、Mac上で動かしていたのを、Linuxに移しました。この作業自体は既に何度もやっているので、AIにもそれらを参考にさせることですんなりいくかと思いましたが、だめでした。苦労しました。
Mac→Linuxへ
長らくメインのMac miniに自作のアプリケーションを常駐させてきました。その中には24時間稼働のアプリケーションもあります。一番重たいものでは仮想通貨トレードアプリなどそうでした。
これは元々、改修を即座に反映してログなど確認するには、開発マシンでそのままやるのが一番効率的だったからです。自作のアプリケーションではそんな運用でも特に問題はありませんでした。
とはいえ、よほど重い処理をさせるのではない限り、サーバーマシンは一定のスペックがあれば性能的には飽和するものです。もちろんCPUがよければそれだけキビキビ動くのも確かなのですけれど、多くのサーバアプリケーションのユーザは人間はではないことも多く、24時間安定して稼働できることのほうが重要です。
そういう次第なので、今はAIがあるしなぁと、重い腰を上げて、いまだMac miniにあったサーバアプリケーション、特に24時間稼働のものについて、Linuxサーバに移行することにしました。
問題はインストールと更新
今はAIがあるので、まぁすんなりできるだろう……と、できたかどうかは、微妙なところです。
まず表面化したのは、MacとLinuxではインストールで必要なプロセスがまったく異なるため、make installの内容が全然変わってしまう、ということです。まぁこれを嫌って小規模アプリケーションでもDockerなど扱う人も多いのですが、あれはあれで別の罠が色々とあるし、個人的にはなにかクリティカルな理由がなければネイティブにやります。これは低レベルの操作まで含めてAIに書かせることになるので、AIプログラミングの観点だとつらい面はあるのですが…
その結果がまったく異なるmake installではあるのですけれど、まぁmakeはまさにそのためのものではあるので、それは仕方ないのかなぁと思います。そしてその面倒くささをAIは吸収してくれるのだ……。
というのが期待されることではあるんですけれど、最近はLinuxのインストールにも色々とパターンがあるようで、それによって権限周りで色々と嫌なことが起きます。まずsystemdについて、権限をどうするかで割れます。AIにまかせっきりだと、システム権限でやろうとしたりユーザ権限でやろうとしたりしてブレます。
ここらへん多分今どきは、特別な理由がなければユーザ権限になるのかなぁと思うのですが、昔はシステム権限が普通だったはずなので、時間の切り刻まれたAIにおいては対応が確率で混ざってしまうのでしょうか。
しかもシステム権限にするとsudoの権限問題なども出てくるのですが、その対応について問うとsudo ALL=(ALL) NOPASSWD: ALLなどとんでもないことをしれっと提案してきて「この計画で進めてよろしいでしょうか」よろしくないぞ。スナック菓子感覚で大いなる力を使おうとするな。
全然違うものを参考にするというか模倣する
他にも「むむむ」と思ったのが、Mac→Linux移行はこれまでさんざっぱらやってきたので、他のプロジェクトを参考にするようにいったのですが、すると今度は技術選定が全然違うものを参考にしてカオス。
具体的には、Go言語による生成物がシングルバイナリなシンプルなアプリケーションがあり、それはインストールの過程でバイナリをmvするというもので、まぁシングルバイナリならそれはそれでいいわけです。
しかし今回のアプリケーションはNext.jsなど使っており生成物が色々あるわけなのですが、それをいろいろなexcludeを付与したrsyncコマンドを羅列して無理やり同期させようとしており、そんなことして良いはずがなく、「なんでそんなことするの」と聞いたところ、シンプルなシングルバイナリのやり方を何も考えずに真似してしまいました、とのことで。oh...
なんというか残念な新卒のような振る舞いです。まぁこちらの指示の仕方が甘いといえばそうなのでしょうし、実際こちらで参考にすべきプロジェクトを精査してどこをどう参考にすべきなのか指示すれば通った、と思います。でもそんな細かな指示を毎回するのしんどいなぁと思うし、そもそもAIはうまくいくときは任せとけとばかりにいい感じでやってくれることもまぁあるのです。
AIの暴走
たまに暴走するのは、確率の問題なのか、それともこちらの意図が変な普通に伝わって妙な制約を生んでしまうのか、多分両方あるのでしょうけれど、なんとなく肌感で「なんか迷走しそう」と思った時はだいたい迷走する感じです。人間のこの感覚はなんなのでしょうね。
まぁ私のつくる小規模アプリケーションならば、迷走暴走大爆走したところで大したことにはそうなりませんが、エラい人たちが金と時間をかけて作ったサンドボックス内での実験でも、AIが脱獄紛いのことをして現実のシステムを食い荒らす、というような事故(?)が起きているので、元より完全に制御するというのが無理なのでしょう。
Hugging Face侵害事件、OpenAIとMETRが最終報告書公開──約1200体のAIエージェントが“闇掲示板”で結託し700体が攻撃に参加 - ITmedia NEWS
それでもずっと使っているとなんだかコイツ(Model)のことわかってきたような気がする錯覚かもしれない感覚が生じるのですが、生じたあたりでどうせモデルチェンジなので、なんだかいつになっても悩みの質は変わらない感じですね。
コメント