今週の「学び」と「アウトプット」について
AIを導入してから開発言語の幅が広がった(11/30)
昨年から今年に入って開発言語の幅が広がった。特にClaudeを利用し始めてからの1カ月は異常なスピードで自分が経験したことのない新たな言語を使うようになっている
昨年
Python
Electron
今年
FLASK
FastAPI
HTML/Javascript/CSS
React Native+Expo
React
C++
JUCE
perl
PHP
SQLite
結局は開発上、既存言語では対応できず必要に迫られているからではあるが、昔で言う爆速の成長というのはこういうことを言うのだろう。ただし、エンジニアとしてのそれではなく、あくまでAIに書いてもらっているので話は違うのだけどね
AIの導入で既存サービスを見直すことができる(12/1)
オンラインワークの依頼者はAIを使うことで自分のタスクを依頼することが出来る。低報酬でワーカは使い回される必要がなくなる。ワーカーは労働者ではないとはいえ、ワーカーをなめた金額で使うビジネスは終わりだと思う。適正価格での取引が進むことを期待する
小規模の開発であれば、開発を依頼しなくてもよくなった。依頼者はAIとマッチングするまで十分に欲しいものを議論すればよくなる。作ったアプリの御守だけ依頼者がすればいい
本を買って調べて使うよりも、AIを使った方が明らかにプログラミングをするのが楽になった。よく分からない似たような本が出続けるのは終わりに近付いたと思う。もちろん、初心者が1冊買ってもいいとは思うけど、毎回、本の売り文句に惑わされる必要はなくなった。コードを書くならば、AIを使った方がいい。月3000円の書籍代の代わりにClaudeを使えば、大量にアプリをリリースすることが出来るし、実践であり学びは多い
ユーザーにとっては喜ばしいことが多くて素晴らしい
AIが代替できる可能性(12/1)
僕はRPAがあまり好きではない。ただ、AIでRPAのコードを保守できるのではないかと考えている。ただ、RPAを使わなくても、そもそも欲しい機能をコードベースで作ってもらえれば、RPAを使う必要はないなと感じた
OCRの分野に関しては難しい。人が読めない文字をそもそもAIが読めるのか?問題があるからだ
プログラミングの成果物は形を変えた方がいいのではないか?(11/30)
純粋にプログラムのコードに僕は価値を持たせることは出来ない。何か新しい発見や考え方をコードに表したものは価値があるのだろうが、残念ながら研究をしているわけではないので、そういったものは出てこないし、開発でも、特別、新しい概念などを生もうとしているわけではないからだ
そのため、既存のコードだったとしても何か別なオブジェクトに形を変えることで価値を持たせようとしている(それがエフェクター作りだったりするわけだが)何か純粋なコードよりはオブジェクトとして出来上がっている方が価値を感じるのは僕だけか・・・。いずれにしても単なるプログラムから形を変えたい。使うコードは既存のコードでも、恐らく今までなかったであろうオブジェクトや仕組み、概念を形にできれば何か新しいものが出来るだろう
やっぱり自分の音楽を作ってナンボじゃね?(11/30)
それがピザ一枚でもいいから売れるものになれば結構満足できる。他の誰でもない自分だけの音楽ってのが出来上がれば、人はそれぞれ違うのだから、それだけで価値があるのではないか?
他人のオブジェクトを取り扱ったりするのも結構だが、行きつく先は何も残らず空しいと感じる気がするからだ
要は自分自身で何かを生み出そうとすることが必要なのではないかと
とはいいつつ、AIを使ったり誰かの通った道を模倣したりを繰り返してはいるが、それはそれで勉強になるし技術取得にいい(売れているサービスを模倣できれば同じように売れるかもしれない)。次はこうなってほしいなという期待から変更もできる。模倣から始めても結局はアウトプットはどこか違ってくるものだ。逆に完全にコピー出来れば、それは能力として素晴らしい。それは表現ができるということだ。ただ、その上でどうしたか?ってのは重要じゃないか?
Claudeを1カ月使って思うこと(11/30)
Claudeがコードを出力することにおいて優秀だと思うから、その反面、時間がもったいない。
今は仕様書を書いて、読み込ませて、出力させてを繰り返しているが、ここが手動だ
しかし、睡眠しているときや他の作業をしていることもあるだろう。使用制限の問題はあるが、順次、タスクを実行するようになれば、並列で作業ができる。だいたい、Claudeから質問を返すようにはしているので、そこがネックではあるが、"順次実行"をスケジュール出来れば便利じゃないかと思う
APIの料金が高いと聞くので、今の機能と既存のライブラリを使って自動化できないか、Claude先生と模索中である。こういうのも聞くといいのだ。
AIを活用する事例(12/1)
お、ひとつの事例を見た
ただ、これ実運用じゃないか。試験運用と書いてあった
自分達でおもりをする前提であればAIを活用は有益そうだね。コストを減らせるDIYみたいなものだ。衛星写真と外部委託が直接赴く場合なのかは分からないけど、天秤に掛けたときにコスパいいんじゃないか(仕事の判断をこれなら進められる)ていうのがあって成り立つのかと。この事例を企業だからと言ってIT担当者に押し付けられるように解釈されないことを願うばかりだ。言い出しっぺがやればいいと思うし、ITが分からんをChatGPTで補うのだから、社内で誰かに丸投げするスタイルにならないといい。面倒を自分達で持つのがいい。
実運用の場合、この実行をするスタイルが、どういう職責で分かれてチーム開発したのかは気になる。設計を打つ人(コーダー)、設計を考える人(設計者)、テストをする人、お金を決済する人、プロジェクトに対して、それぞれ役割分担があるのか知りたいな。
恐らくは全体の仕事の一部である「切り取られた」タスク単位に対するAI利用だと思うのでそこまで規模が大きくならないから、実運用でもそこまでとやかく言われない気はするが
利用人数が多ければ多いほど影響範囲が広がり(たくさんの考え方が出てきて)面倒になってくると思うので色々と学びたい。1ヶ月間が長いか短いかは判断がしづらい。実運用を想定してそれなりに仕上げるためならば、機能の範囲もよるがテスト期間も含めて最低、数ヶ月は必要だと思うのだが、機能も少なくテストしやすかったのだろうか。まあ、試験運用レベルなので、最悪、お釈迦になることも想定しての取り組みかと。どちらかというと現地調査を大事にしているようなので、あんまりシステムの方の依存度は高くなさそうだ。これ、APIの使用量は実運用になった場合、加味されていないと思うので、トータルのコストバランスがどうなるかは気になるね。中々、本運用までは遠いのかもしれない
外部の調査費用が100万/年
試験運用の開発費用が120万(外部なら3000万円)
最終的に損益分岐点が何年かでコストを回収できればいいんだろうな。外部の調査費用が100万って意外に安い気もするけど。そこまで調べる範囲は少ないのだろうか
試験運用だから、コストをドブに捨てられる範囲の決済の範囲であればしやすい。試験はコストをお釈迦にできるから試験であると理解できればいいのだが。そうじゃないと実施者は胃が痛いものだ。そう簡単に試験しますなんて言えない。(責任の可否の問題だ)
プロジェクトが失敗してもいいってのは営利企業にとっては金と時間を捨てられる覚悟がないと厳しい。まだ、公的な機関だからいいのだろうな。税金でやっているわけだし、売上を気にしなくていいからだ。自然と入ってくる仕組みは悪くない。税金で頂いたお金で実験して、最終的にコストを減らせれば、税収を他のところに使えて、より良いサービスになる可能性があるからだ。
ぜひ、市政がより良くなることを期待したい
どうやら1ヶ月で15本はリリースしたようだ。(アプリ)(12/1)
反省点としてはスマホの縦対応は別枠で設定することという要件を入れていなかったために、使用しないまでも見た目が崩れる問題が発生した。スマホ用の表示は別途用意するようにした方が修正は少ないかもだ
JUCEでアンプを作っている(12/2)
中々、Claude先生でも難しいようだ。多分、こちらの指定も何か足りなくて何か表現するのに大事な要素が抜けていると思われる
Claudeによる開発tips(12/2)
しばしば、自分の見ている画面でサービスは作りがちだが、スマホの存在を忘れていることがある。PC画面の編集を中心にしようとしてもスマホは最低限、表示だけはできるようにしたい
/* スマホ表示用のスタイルのみ追加 */
@media (max-width: 480px) {
/* スマホサイズの一般的な最大幅 */
.reset-button {
display: block;
margin: 20px auto;
/* 上下20px、左右auto で中央寄せ */
}
}
予め、Claudeにも要件としてスマホ対応を伝えればいいのだがよく忘れるので、既存のコードはくずさず、コードを後で追加すれば済むようにしたいものだ。「既存のPCの表示は崩さないでねってClaudeに伝えておかないと、スマホ&PC対応ってことでPCの表示内容も変えてくることがあるからだ
ということでスマホ対応をしない場合に、Claude先生に聞いてみたところ、とんでも対応を確認した
@media (max-width: 480px) {
.controls {
display: none; /* コントロールを完全に非表示 */
}
}
スマホに表示させない!という発想はなかったが、その通りだ
メッセージを表示させればいい
@media (max-width: 480px) {
/* PC専用メッセージを表示 */
.container::before {
content: "このアプリケーションはPC専用です";
display: block;
background: #ff6b6b;
color: white;
padding: 10px;
text-align: center;
margin-bottom: 10px;
border-radius: 5px;
}
/* 操作要素を無効化 */
canvas {
pointer-events: none; /* タッチ/クリック操作を無効化 */
opacity: 0.5; /* 見た目も操作できない感じに */
}
}
本当にスマホするなら意味あると思うが、何でも理由なくスマホ対応するのはコストの無駄であると考える。もちろん、表示を確認するのは便利だと思うが。
次点でUIは表示するけど、操作は出来ない旨の方法も聞いた。これならば表示だけではあるが、そもそも表示されたらユーザーは操作したいんじゃないかという心理が働く気がする
@media (max-width: 480px) {
/* 操作要素すべてを無効化するが表示は維持 */
.controls, canvas {
pointer-events: none; /* クリックやタッチを無効化 */
opacity: 0.6; /* 少し薄くして操作不可を視覚的に表現 */
cursor: not-allowed; /* 禁止カーソルを表示 */
}
/* 操作不可のメッセージを表示 */
.container::before {
content: "このアプリはPC専用です。PCからアクセスしてください。";
display: block;
background: #ff4444;
color: white;
padding: 10px;
margin: 10px 0;
text-align: center;
border-radius: 4px;
}
}
※ コードは例、イメージで伝わればいい
NoobAI(eps)の表示がおかしいのはなぜか?(12/2)
PonyとAnimagineを合体させたような仕組みが影響していると思うのだが、LoRAでも解決しなかった。prev版ではなくeps版のガイドが見つけられなかった
オフィシャルのガイド(?広告ついているし)なのかは分からないが、Model Sampling Discreteの説明を見て、epsモデルだからepsを設定しても解決が出来なかった
何か絵画のように厚塗りされた結果になるとは思うのだが、
denoise=0.9
にしたら、少し色味が改善された
恐らく、cfg=5.5以下に下げよというお達しがあったため、5あたりで対応はしているのだが、そもそもこれは、変化量を下げよと捉えた
だったら、denoiseも下げればいいんじゃないか?って思って0.9にした。0.7~0.8は怪しい
もし、色味で困っている人があれば、使うときに試すといい
Claudeはsonnet3.5 newがベストだ。それでもうまく行かないときの対応について(12/3)
Claudeと約束事を決めよう。必ず仕様書は書いたほうがいい。
数ファイルにまたぐようなプロジェクトのときにはだ
要はスレッドが満タンになった時に、新しいスレッドになった時に、Claudeは過去のやり取りを忘れている。また、場当たり的にデバックしようとして、目的を見失うことが多々ある。
その場合は、過去のスレッドを全て見せられればいいが、結局、それをしたら文字数がマックスになるので、話が矛盾する
そのため、仕様書と質問の回答くらいは渡して、現在のコードと、エラーを一緒に渡すといい
Haikuは他人任せなのでコード生成には使えない。条件が揃わないと答えられないし、前提を伝えても責任を回避するような感じなのでダメだ。これでは月額の費用を支払った意味がない。痛くも痒くもならないたわいのない話題にならば使っていいかと思う
また、sonnetも全ては使っていないが、短縮する回答は使いづらい。そのままのNormalが一番使いやすい。Conciseはダメだ。端折りすぎている。コード素人には使いづらい。Formalも微妙だったかと。Explannatoryはまだ使用していない。目的によって使い分ければいいのだろうけど、そのままがいいのでNormalだ。たまに通知がきて勝手にConciseに切り替えてくるので注意が必要だ。需要が高まりとあるが、単純にフローしそうだからConciseに切り替えてくれ!と言っているのではないかと感じる。
やり取りを続けると、自分もClaudeも矛盾を抱えてくるので、いっそのこと、スレッドもプロジェクトもやり直した方が早く終わる可能性がある。
小規模ならば書き切れるかもしれないが、複数コードを記述するような規模になると大変になってくる
4~5日ほどトライしているが、失敗してばかりだ・・・
各PC、各スマホへの画面対応は難しい(12/3)
一般解を予め用意しないと厳しいのかもしれない
スマホでも表示するように対応しました(特に横向き)pixel7では表示できています。
機種によって表示が怪しいかもしれませんちょっと、各画面までの対応までは出来ていないです。
それなりに良さそうなアンプシミュレータが完成した(12/4)
ただ、i/fを通した音は変化している気がする。カスカスさが減った気がする。30回以上はスレッドをやり直しているが、成果物は公開するようにする。ちょっと、reaperの設定で気になる部分はあるので、どこを直すかもClaude先生に聞く。後はAUプラグインも作ってみて完成させたい。何かレスポンス感はめちゃいい。256msにしているせいもあるだろうけど。あまり、処理を通っていないからだろうか・・・
Claude先生も確認をしたがって責任を回避しようとする(12/4)
3000円を支払ってコードを書いてもらうので容赦はしないのであるが、Claude先生が確認したがる場合は、依頼内容の対応に自信がない可能性がある。だったら、要件を1つにするなど、他のことは譲歩するなどしないと、対応が難しい。それか自分に理解できる言葉で話してもらうなどしたらいいが。まるで人間社会のようだ
どこまで、自分が責を負うか、負わないかをはっきりさせるといい
また、Claudeに確証が持てないときには正直に答えて!って言った時に、初めて正直に答えてくれた時は感動した。人はできないと言いたくないものだが、それを認めた上でじゃあ、どうしようか、出来ないなりに次の目的を満たす解決方法を探していくわけだからね。
最悪、諦める選択肢も取れるわけだ
確かにできないが、増えれば、契約はしたくなくなる
しかし、それは仕方のないことだ
だけど、それを無視して、やり取りを延々と繰り返す方が、お互いにとって時間の無駄なのだ(使用率も上がるから早いうちにできないと分かるといい。コードを書く前がいい。)
その上で考えればいいからね
IR制作に興味を持ったんだ(12/5)
今のところは何とも言えないがタイミングを見て試してみたい
Claude先生には自由に書かせた方がいいときもある(12/5)
Claude先生がtsxでコードを作成してくることがある。こちらはhtmlとcssとjavascriptでよろしくねーと言っているのだけど、しかし、それはClaude先生の頭の中(能力上)はReactで描きたがっているんじゃないかと思うことにした。まあ、それでReactの使い方を聞きながら覚えたわけだが・・・
下手にこちらが矛盾した論理をかざしているかもと感じたら、Claude先生にオーダーを少なくして自由に書かせるのも手かもしれない
学校の先生の負担を減らせるものなのか(12/5)
Claude先生とやりとりをすると色々と出てくる
色々と仕事があると聞くので、少しでも雑務扱いになるものとかは減らせるといいですね!
下の画像はClaude先生と壁打ちした内容
自動採点システム
教材共有システム
ICT支援システム
おわり!