AI・機械学習
ステーキを調理するのにほとんどスキルは必要ない
Almost no skill required to cook a steak (blog.sydorets.com)
要約
AIによるソフトウェア開発は、ステーキを焼くことに似ている。基本的なAIツールは「食べられる」もの(技術的に機能するソフトウェア)を生成できるが、真に高品質な結果を得るには、ステーキ料理と同様に深い理解とスキルが必要である。著者は、AIを開発のスピードアップや反復作業の自動化に役立つツールとして活用できるが、人間の判断力や品質定義、トレードオフの理解を代替することはできないと強調している。AIを使って良いソフトウェアを構築するには、依然としてソフトウェア開発の原則を理解する必要がある。
全文翻訳
ステーキを調理するのにほとんどスキルは必要ありません。
熱いフライパンに入れ、少し待って、ひっくり返せば、最終的には技術的に食べられるものができます。
しかし、端から端までミディアムレアで、適切に焼き色がつき、正しく味付けされ、一貫しておいしい、本当に美味しいステーキは、全く別の問題です。
AIを使ったソフトウェア開発も、これと全く同じように感じ始めています。
私たちは今、絶え間なく構築しています。
AIがあってもなくても、通勤中に、トイレで、おそらく寝ている間にも。
エージェント、ハーネス、ツール、スキル、プロンプト、フィードバックループ、手の込んだワークフローを作成します。
そして、それらすべてをモデルに投げかけ、それが実際にどのように機能するかを理解することなく、私たちが想像したものを与えてくれることを願います。
そして、私たちは何を望むのでしょうか?
完璧なステーキを望みます。
私たちは、動作し、見た目が良く、洗練された感じがし、私たちが想像したとおりに届くソフトウェアを望みます。
そして何よりも、毎回同じ結果を得たいと願っています。
私たちはそれを手に入れることができるのでしょうか?
毎回ではありません。
毎回にはほど遠いです。
時には、モデルは驚くほど良いものを私たちに提供します。
他の時には、それは上にタイムの小枝を添えた炭を出し、ミディアムレアと呼び、その嘘を完全に確信しています。
では、私たちは何をしますか?
レストランに行きます。
プレミアムAI製品にお金を払い、エージェンシーを雇い、別のコーディングアシスタントを購読し、プロフェッショナルな結果を約束する新しいフレームワークに飛びつきます。
私たちは、誰かがすでに私たちのために問題を解決してくれたことを願っています。
時には、彼らは解決しています。
かなり頻繁に、彼らは解決していません。
そうすると、2つの選択肢が残ります。
自分で正しく調理する方法を学ぶか、友人にレストランのおすすめを聞き続け、次の高価な失望のために財布を準備するかです。
私たちのほとんどは、実装の詳細に迷うことなく、AIを使って大切にしているものを作りたいと思っています。
私たちはそれを、自分のキッチンで働くプロのシェフのように扱いたいと思っています。
私たちは欲しいものを伝え、離れて、食事が準備できたときに戻ってきます。
しかし、AIはシェフではありません。
せいぜい、それはステーキマシンです。
それはレシピに従うことができます。
温度を監視し、適切なタイミングでひっくり返し、バターを落とします。
十分なツールと指示を与えれば、そのプロセスを速く、巨大なスケールで繰り返します。
それができないのは、あなたが実際に何を望んでいるかを知ることです。
それは、あなたがそれを要件、制約、例、テスト、フィードバックに翻訳しない限り、あなたの頭の中の絵を見ることができません。
そしてそれでも、それはそれ自身の能力、コンテキストウィンドウ、それを囲むシステムの品質によって制限されます。
あなたは機械の隣に立って、30秒ごとにそれを修正することができます。
それは役立つかもしれません。
それは機械をミシュランの星付きシェフに変えることはありません。
最終的に、あなたは欲求不満になり、夢のステーキにお金を払うことにします。
あなたは高価なレストランを選びます。
座って、メニューを調べ、ついに、あなたは本当の自信を持って注文することができます。
あなたは最初のひと口を待ちます。
皿が届きます。
家で作ったのと同じ焦げたステーキです。
なぜなら?
市内のすべてのレストランが同じAI料理人を雇ったからです。
「コスト最適化だ」と経営陣は言います。
「ほとんどの人は気づかないだろう」。
そして、彼らはたぶん正しいでしょう。
ほとんどの人は気づきません。
ほとんどの場合、ソフトウェアは許容範囲であれば十分です。
顧客は奇妙なインターフェース、無意味な機能、奇妙なバグ、誰も実際には理解していない生成されたコードで支えられているシステムを容認します。
しかし、あなたは気づくでしょう。
あなたは気づくでしょう。
なぜなら、それはあなたが実際に作りたかったものだったからです。
あなたはがっかりして、空腹で、少し恥ずかしい思いをして家に帰り、本棚から料理本を引き出します。
残された選択肢は一つだけです。
調理を学ぶことです。
あなたは熱が実際に何をするかを学びます。
どのフライパンが重要で、なぜそうなのか。
厚さがなぜ重要で、休ませることがなぜ重要で、タイマーだけでは決してあなたを救えなかった理由。
あなたはさらにいくつかの夕食を台無しにします。
そして、あなたは再び試します。
そして、再び。
最終的に、あなたは運に頼るのをやめ、それを難しい方法で学びました。
ソフトウェアも同じように機能します。
AIはあなたを速くすることができます。
それは反復的な作業を自動化し、開始点を提供し、コードを説明し、アイデアを掘り下げるのを助けます。
それができないのは、あなたの判断を置き換えることです。
それはあなたのために品質を定義することはできません。
どのトレードオフが許容できるかを決定することはできません。
技術的には正しいが、意味のあるすべての点で間違っている瞬間に常に気づくことはできません。
AIを使って良いソフトウェアを構築するには、依然としてソフトウェアを理解する必要があります。
あなたが実際に何を求めているのか、返ってきたものをどのように判断するのか、そして機械が単に自信を持って炭を出しているだけなのかを知る必要があります。
学び続けてください。
構築し続けてください。
失敗し続けてください。
あなたがそれを偶然見つけることを望むのではなく、あなたが望む結果を生成できるようになるまで、それを続けてください。
そして、あなた自身の小さなレストランを開くのに十分なほど上手くなってください。
そして、数人のAI料理人を雇ってください。
ほとんどの人はまだ違いに気づかないでしょう。
しかし、あなたは気づくでしょう。
ブログ、開発、AI、AIソフトウェア開発、学習
この投稿は、著者のCC BY 4.0ライセンスの下で提供されています。共有