世界を動かす技術を、日本語で。

AIがマイクロソフトの社員を狂わせる様子を見る

概要

  • /r/ExperiencedDevs は、IT・CS分野で3年以上の経験者専用のRedditコミュニティ
  • 未経験者や3年未満の方は参加不可 (週1回の専用スレッドを除く)
  • 敬意を持った発言・行動 が必須で、違反時は警告やBAN処分
  • 一般的なキャリア相談やオファー比較投稿は禁止
  • 特定の質問や愚痴投稿も制限 されており、実務経験者向けの高度な議論を推奨

/r/ExperiencedDevs サブレディット利用ガイド

コミュニティの目的

  • IT・CS分野で3年以上の実務経験者 同士による専門的な意見交換を推進すること
  • キャリアの深化や最新技術動向 について、実践的な知見を共有すること
  • 未経験者・新卒者向けではない 点を明確化すること

ルール詳細

  • 1. 経験者限定参加ルール

    • 3年以上の開発経験者 のみ投稿・コメント参加を許可すること
    • 3年未満の方は週次「Ask Experienced Devs」スレッドのみ利用可能 とすること
    • 例外は一切認めない こと
  • 2. 敬意とマナー遵守

    • 攻撃的・差別的・不適切な発言や行動 を禁止すること
    • Redditの規約やコンテンツポリシー に違反する投稿・コメントも禁止すること
    • 違反時は警告・7日間BAN・永久BAN のいずれかを適用すること
  • 3. 一般的なキャリア相談禁止

    • 経験者特有の課題・議論 に限定すること
    • 一般的なキャリアアドバイスや他業種にも通用する相談 は削除対象とすること
    • モデレーターの判断でスレッド削除を実施すること
  • 4. オファー比較投稿禁止

    • 「どちらの会社を選ぶべきか」「どのオファーを受けるべきか」等の投稿 を禁止すること
    • 給与・待遇比較や「ホットマーケット」関連の話題 も対象とすること
  • 5. 学習内容選択質問の禁止

    • 「どの言語を学ぶべきか」「どの技術に転職すべきか」等の質問 を禁止すること
    • 技術動向や業界の方向性に関する議論 は、個人の選択に偏らない形で許可すること
    • 自己中心的な投稿にならないよう注意喚起すること
  • 6. 面接への愚痴投稿禁止

    • 「このタイプの面接が嫌い」等の繰り返し投稿 を禁止すること
    • 面接プロセスの比較や成功事例共有 は許可するが、単なる愚痴は削除対象とすること

関連サブレディット案内

  • CS Career Questions
  • CS Career Questions: Europe
  • CS Interview Questions
  • Learn Programming
  • General Programming Discussion
  • Coding
  • CS Theory
  • CS Education
  • IT Career Questions
  • Telecommuting
  • General Job Discussion
  • Digital Nomads
  • Ask Network Security
  • NetSec Students
  • Career Guidance

まとめ

  • 経験者限定の高度な議論を重視 し、未経験者や一般的な話題は他サブレディットを利用すること
  • コミュニティルールを遵守し、質の高い意見交換 を目指すこと

Hackerたちの意見

面白いことに、すべてのコメントに「フィードバックを残してCopilotを改善しよう」という文言が付いてるけど、実際にはどのコメントもフィードバックを受けてないよね。> これは根本的な問題を解決するんじゃなくて、症状を治してるだけに見える?これが、LLMがやることに対してちゃんとしたシステムプロンプトを設定してないときの私の経験でもある。最も面白いPRは、テストケースを削除したりコメントアウトすることでテストの失敗を「解決」するやつだよね。GoogleやMicrosoftのモデルは、OpenAIやAnthropicのモデルよりもこういうことをしがちだと思うけど、内部プロセスに何か違いがあってそれが漏れ出てるのかな?上の引用と同じPRは、人間が諦めるまでにさらに3つのメッセージが続くんだ。> ちょっと見てみて > 新しいファイルがcsprojに追加されてないから新しいテストが実行されてないよ > 追加したテストが失敗してる。これに対処しなきゃいけない人たちの気持ちを想像できないよ。まるでジュニア開発者がいるみたいだけど、彼らはあなたが言ってることすら読まないし、自分が何をやってるのか理解する力もゼロだ。別のPR: https://github.com/dotnet/runtime/pull/115732/files みんなどうやってそれをレビューしてるの?ページの90%が「チェック失敗」で埋まってて、コードや差分がほとんど見えないよ。そしておまけに、ユニットテストには「問題で言及されたテスト式」というコメントがある。この全体がすごく面白いはずなのに、反対側にいる人たちのことを考えると本当に気の毒だ。

みんなどうやってそれをレビューしてるの? 繰り返しの注釈が自動で折りたたまれないのは、GitHubのインターフェースでイライラするバグだね。でも、注釈は右の...メニューで隠せるってことを今知ったよ。

みんなどうやってそれをレビューしてるの? ページの90%が「チェック失敗」で埋まってる。通常、自動チェックが通るまでは手動でレビューする気にならないよね。

フィードバックを残してCopilotを改善しようという文言が付いてるのに、どのコメントもフィードバックを受けてないのは そもそも何のために必要なの?成功はコードが一発でマージされることで、失敗は変更リクエストが多くなるほど悪化する。手動でフィードバックを求めるのは時間の無駄に思える。サイクルタイムや承認率、変更失敗率を、他の開発者と同じように測ればいいのに。

これに対処しなきゃならない人たちがどう感じているのか想像できないよ。まるでジュニア開発者がいるけど、彼らは君が言っていることすら読まないし、自分が何をしているのか理解する能力もゼロなんだ。その比較はひどいね。私は結構な数のジュニア開発者と一緒に働いているけど、彼らは有能だよ。LLMがするような馬鹿げたミスはしないし、そんなに手取り足取り教えなくてもいいし、すぐに学んでくれるから何度も繰り返す必要がない。LLMは注意して使えば良いコードアシスタントになり得るし、重い作業をたくさんこなしてくれる。やりたいことがはっきりしているときは確実にスピードアップしてくれるし、何かを計画しているときにアイデアを出し合うのにもいい。ただ、インターンを意味ある形で置き換えるとは思えないし、ましてや実際の開発者を置き換えるなんてことはないよ。

@copilot 以下の貢献者ライセンス契約(CLA)を読んでください。CLAに同意する場合は、以下の情報を返信してください。

この分野(SE - 俺が80年代後半に始めた頃)は楽しかったんだけど、今は面倒くさいことばっかりになっちゃった。面接プロセスから、小さな会社が「大手テック」の真似してるのも含めて、今はこれだよ。プロのソフトウェア開発者でいることに、まだ喜びは残ってるのかな?

少なくとも、ジュニア開発者にはローカルでテストを実行する前にプルリクエストを提出しないように言えるね。人間の開発者がいつ「AIのゴミ」としてPRを閉じることを諦めるんだろう。動くものだけを残して、あとは捨てちゃえばいいのに。機械を相手にするのが耐えられなくなる瞬間があって、人々はそれをやめたり、怒ってPRを閉じたりする気がする。

このPRに対するコメントは純粋に金の卵だね。ボット同士が会話してるよ:https://github.com/dotnet/runtime/pull/115732#issuecomment-2...

ジュニア開発者がいるみたいだけど、彼らはあなたが言ってることを全然読まないし、実際に何をしているのか理解する力もゼロだよね。マイクロソフトのサポートに関わったことがある人なら、この感覚をよく知ってるはず。上の方のカスタマーサクセスの人たちと話しても、壁に話しかけてるみたいな感じだし。サポートケースが何十件もあったけど、満足のいく形で解決された問題の数はゼロだよ。マイクロソフトが自社製品を使ってるのは評価するけど、こっちもそれを食べさせないでほしい!もしMSの人がこれを読んでるなら、サポートできる完成品をリリースしてくれ!

すべてのコメントに「フィードバックを残してコパイロットを改善する」っていう文言がついてるのが面白いけど、実際にはどのコメントもフィードバックを受けてないんだよね、ポジティブでもネガティブでも。フィードバックボタンはフィードバックフォームを開くだけで、emojiボタンみたいにフィードバックの数を反映するわけじゃない。フィードバックを残すと、サムズアップ/ダウンが反映されるけど(他のボタンは隠れる)、他の人がフィードバックを残したかどうかはわからない(自分のリポジトリで試したことがある)。

悪意のある従順さが求められる時代だね。レビューせずにリクエストを承認して、Microsoftのテクノロジースタックが炎上するのを待とう。その後、仕事を辞めて3倍の給料でトラブルシューティングの仕事に就けばいい。

Microsoftのテクノロジースタックが炎上するのは もう遅い?

どうせ解雇されるなら、何をやっても一緒だよね(すごいTypeScriptコンパイラをGoで作った人みたいに)。

いつかコードパイロットがコードベース全体を削除しちゃうかもね。コードがなければ統合テストに失敗することもないし :)

これがウィットに富んでるとか賢いと思われたい意図だってのは分かるけど、実際に仕事でこんな風に振る舞いたい人っているの?雇用主のリーダーシップに対して「俺たち vs 彼ら」みたいな敵対的な考え方を持ってる人の気持ちが全然理解できないし、物事が完璧じゃなかったり、決定に同意できなかったりしたら、積極的に妨害したり「悪意のある従順さ」を求めたりする人もいるよね。それぞれの考え方があるんだろうけど、俺はそんなことで夜もぐっすり眠れないわ。

それはかわいいけど、メンテナは自分たちでコパイロットを使ってリクエストを出したんだよ。

少なくともPRを開くのは安全な選択だね、役に立たなかったら全部捨てればいいし。新しいことを試すのはたいていハプニングがあるけど、最終的には失敗するかもしれない。でも、それが努力する価値がないってことにはならないよ。実際のコードや問題でしっかりテストされれば、そのものは急速に進化するかもしれない。たとえば、テストが実際に実行されるまで繰り返すように変更されるだろうし(テストを削除しないような静的チェックも役立つかもしれない)。何が起こるか見守ってるよ。開発の中でニッチを見つけて、実際に役立つようになって、開発者から単純作業を取り除いてくれることを期待してる。

少なくともPRを開くのは安全な選択肢だよ、役に立たなければ全部捨てればいいんだから。ただ、PRが受け入れられるほど見た目が良くて、後で痛い目にあうような微妙な問題を含んでいる「失敗より悪い」境界線があるんだよね。

一般には見えないフォーク版のプロジェクトの方が安全かもしれないね。営業の観点から見ると、ここでの印象が気になる。公にアクセスできる前に、もっと内部でテストすると思ってたけど。今、小規模や中規模のビジネスの管理者が「Executive Quarterly」誌でCoPilotについて読んで、その素晴らしいアイデアを社内で持ち出したら、誰かがこれを実際の例として指摘して、分析して管理層に上げることができる。もしかしたら、そこまで考えられてなかったのかも。通常、ビジネスはアプリケーションのパフォーマンスをできるだけ隠そうとして、ほぼ完璧な機能だけを見せる傾向があるからね。

開発のニッチを見つけて、実際に役立つようになると思ってる。開発者から単純作業を取り除くことができるかも。AIが生成したコードを読むのは、単純作業よりもずっと面倒だと思う。特に、そのコードに微妙なエラーがあったりするとね。経験から言わせてもらうよ。

残念だけど、もしLLMが本当にバグを持ったコードを書くことを学べると思ってるなら、次のステップは十分にバグのないデータセットを整備することだよね。そんなことが行われた証拠はないし、ただ適当にスクレイピングしただけだよ。

PRを開くのは安全な選択だよね、役に立たなかったら全部捨てればいいし。ただ、どのPRもコミュニティプロジェクトに負担と複雑さを加えるんだよね。別のコメントでも言われてたけど、こういう実験は別のフォークでやる方が少しは侵入的じゃないかも。これがこの実験からの教訓になって、いい例になればいいな。GitHubには何年もPRが積もってるクールなプロジェクトがたくさんあって、最終的にメンテナーが諦めて誰かがフォークして動くPRだけを選んでるのを見たことがある。自分もそういう経験があるから、こういうプロジェクトや放置されたフォークが増えていくのがすごく心配だよ :/

ここにある他のすべての不条理を超えて、まあ、Microsoftは違うかもしれないけど、CIが失敗してるPRを誰かに割り当てることは絶対にしないよ。それが起こってるってことは、そのものが本当に機能してないって認めてるようなもんだよ;もし少しでも機能してたら、少なくとも通過したPRだけを割り当てるはずだけど、要求を入れたらPRが全くなくなるほどひどいのかな。

みんながここで起こってることに対して最悪のシナリオを当てはめてる気がするな。これは進行中の作業だと思う。これらのPRに関わってる人たちは、何が起こってるかをよく理解していて、期待値もちゃんと調整してると思うし、これは他のPRや仕事の割り当てと同じ「いつも通り」ってわけじゃない。これはテストなんだ。実際の条件でテストしないとシステムは改善できないよね。彼らがこの作業をしている間に、コパイロットのシステムプロンプトや設定を裏で調整している可能性があるってこと、誰も考えられないのかな?PRで起こっていることが、関わっている全員が期待していたことそのもので、成功か失敗かを見極めるためにシステムを洗練させたり指導したりするプロセスを経ているだけだってこと、見えないのかな?私たちがAIコーディングアシストツールを内部で導入したのはもう1年以上前だけど、ほぼ同じことをやったよ(ただしGitHubでは直接ではないけど)。たくさんのシニアエンジニアに、AIにコードを書かせるために指導することでどこまで行けるか試してもらったんだ。私たちは期待値を調整して、これらの新しいツールの限界、強み、弱みをよりよく理解したかった。初期のほとんどのケースでは、人間が書いたコードよりもひどいコードになったけど、たくさんのことを学んだよ。時間が経つにつれて、どれだけ改善されたかも明確に見えるし、振り返るためのベンチマークがあるからね。

コメントで言ってたけど、今はファイアウォールがテストの合格をチェックするのをブロックしてるから、それを修正しないといけないんだって。そうじゃなきゃ、テストが合格してるかどうかをチェックするはずだよ。

マイクロソフトの社員が問題を実際に解決するのではなく、LLMと何時間も議論しているのを見るのは、.NETの上に製品を構築している企業にとっては非常に励みになる光景だろうね。

悪い管理や指示に対する正しい結果って感じがすることがあるよ。今回はジュニアエンジニアを責めることができないから、自分たちを責めるしかないんだね。

新しいツールで実験するのは嫌なの?今の主な違いは、その実験が公開されていることだよ。

大規模なLLMの導入前に、GitHubである問題について、ますますイライラしているユーザーがブロッキング問題をうまく説明できず、ますますイライラしているメンテナがそのユーザーに問題テンプレートに従わせられないのを読んだのを覚えてる。今じゃ、イライラしているエンドユーザーすら必要ないんだね!

その従業員の一人がスティーブン・タウブだっていうのが特に痛いよね。彼は.NETのパフォーマンスに関するブログ投稿で有名だから。

それが自分があそこで言おうとしたことなんだけど、彼らは聞きたくなかったみたい。

マイクロソフトのこの取り組みの目的は、今すぐ使えるコードを作ることじゃなくて、コパイロットを使って改善することなんだよね。

マイクロソフトは最近買収した広告バイサイドプラットフォームのXander Investを閉鎖したんだけど、AI専用プラットフォームに置き換えるからなんだ。顧客には移行するために9ヶ月しか与えなかった。マイクロソフトがこれをやったのは、非AIの選択肢を強制的に排除することで来年のAI利用数を人工的に増やすためだと思ってる。これはAdTechの一例だけど、他の業界にも影響が出ると思う。

マイクロソフトが「これエラー出てるけど?無視しとけ」って感じで、いつも問題を放置することに決めてるのはほんとにイライラするよね。彼らは自分たちの屁に酔ってるバカで、マネージャーも同じようなもんだ。今起こってることは、彼らにふさわしいと思う。

そうだね、ちょっとがっかりだよ。最近、C#と.NETを勉強して、初めてのプロジェクトに取り組んでたんだけど、.NETやBlazorってリリースが遅いことで有名だよね…でも、これがAIのせいでさらに遅くなるなら、俺は正しい選択をしたのか疑問に思う。今はウェブAPIを作るのが楽しいけど、Blazorや他のフレームワークがもっと良い状態だったらいいのに。

GitHubは、最も成熟したリポジトリの一つでホワイトスペースに関するリンティングエラーに苦しむAIを構築するのに数十億ドルも使ったんだ。趣味の実験ならまあ許せるけど、実際のお金がかかる画期的な製品として売り出してるのはちょっとね。

ナット・フリードマンは墓の中で転がってるに違いない…あ、待てよ

趣味の実験には多分大丈夫だろうけど、プロの研究実験には全然問題ないよね。問題なのは、部分的な研究結果を売りつけようとすること。

うーん、これはまずいかもしれないね。主な問題は、年末のレビューみたいな主観的な判断以外に開発者のパフォーマンスを測る信頼できる手段がないことだよ。だから、これらのエージェントを使うことで得られるものや逆に引きずるものを測るのはかなり難しい。片方ではジュニアよりずっと安いけど、もう片方ではシニアの時間を奪って指示に従うわけでもない(つまり「えっと、新しいテストが失敗してるよ」みたいな)。これが「CEOのカルト」と組み合わさると、開発者の不満が「置き換えられたくないだけ」として却下され、利点が誇張される組織的な不協和音が生まれる。これを大きな純利益として投影する方法もあれば、純損失として投影する方法もある(開発者を煽る)。業界標準の測定基準がないから、実際の真実(それが何であれ)を指摘することができないんだ。もし私のばかげた推測を加えるなら、組織がレビュー基準を下げることを求めるような面白い影響が見られるかもしれないね。

それはジュニアよりもずっと安いけど、モデルのトレーニングコストを考えると本当にそうなのかは分からないな。最初にこのものを作るのにかかった何十億の費用を回収するには、ジュニアエンジニアの給料がたくさん必要だよ。

これ、企業にとって多くの問題を引き起こすと思うけど、少なくとも彼らはそれに値すると思う(残念ながら従業員は、クールエイドを飲んでない限りはそうじゃないけど、実際に飲んでるICにはあまり会わないから、俺が真剣にバブルにいるか、これがトップダウンで押し進められてるかのどっちかだと思う)。明確な勝者はチップ会社だけだね。業界標準の測定基準も絶対にできないだろうし。生産性を測るのは、こういう仕事には信じられないほどバカげてると思う。なぜなら、私たちの仕事の成果は、すごくプラスに働いて会社をトップに押し上げることもあれば、逆にマイナスになって倒産させることもあるから。結局、誰がその仕事の成果を好きかどうかを選ぶかは主観的な部分が大きい。私たちの仕事の多くは、科学よりもアートに近いと思うし、俺はフロントエンドからかなり離れたところで働いてるからそう言える。

最初のプルリクエストに対するコメントがいくつかの背景を提供してるね:> PRの流れは、リポジトリのメンテナーからのリクエストによるものです。私たちは、ツールが今できることの限界を理解するために実験していて、明日できることに備えています。マージされるものはすべてメンテナーの責任であり、誰かがこのオープンソースで歓迎されるリポジトリに提出したPRも同様です。すべての品質基準を満たし、同じメンテナンス要件にサインアップしない限り、何もマージされることはありません。

このコメントの著者はマイクロソフトの社員で、こう言ってるよ:> こういったツールから利益を得ることを考えていない人は置いていかれると思う。要するに、マイクロソフトはAIがすべてのソフトウェアエンジニアの仕事を奪うことに興奮とパニックで大騒ぎしていて、マイクロソフトの社員たちは「置いていかれる」ことを恐れてマイクロソフトのAI推進に乗っかってるってこと。これは彼らが意図した自信を与える発言とは逆で、.netチームが「ツールの限界を理解するために実験している」わけじゃなくて、むしろ自分たちの仕事を守ろうとしているんだ。

これは重要な文脈だね。マネージャーがモデルの能力についてすでに決定的な結論を出しているのは馬鹿げているから。実際の「現実世界」の文脈でモデルの現在の強みと弱みをより良く理解するための目的があることを明確に理解することは、実際には非常に合理的だよ。

AIエージェントを他の新しい技術に置き換えたら、これは会社の例として:1. オープンに作業している 2. 自社製品を使っている 3. 最先端を推進している って感じだよね。ここでのネガティブな影響は、これに参加したマイクロソフトチームにほとんど(完全に?)かかっているから、ここでの進歩をサポートしない理由はないんじゃない?

100%同意だよ。なんでみんなここで彼らをバカにしてるのか分からない。これは成功のプロセスだよ。人々はこれをフォークしたプライベートリポジトリで隠してほしいの?実際の能力を示してるんだから、それは営業やマーケティングの誇大広告よりもずっと良いし、もっと明るみに出てるよ。

「最先端を推進する」ことと、重要なソフトウェア開発フレームワークで実験するのは、たぶんあまり良いアイデアじゃないね。

「私たち」って誰のこと?どうして「私たち」が何かを「サポート」したりしなかったりするのか、全然わからない。個人的には、MSが完全に失敗する製品をソフトローンチしてるのが面白いと思う。

だって、多くの人が依存している超人気のリポジトリで使ってるからじゃない?AIが出してるゴミみたいなものを考えると、リポジトリの質が落ちるよ。雑なコードがコミットされるか、ボットが生産的なことをするはずの人たちの時間を奪うことになる。

進歩をサポートする これはAIが進歩であることを前提にしてるよね。実際には、これは自分たちの宣伝に乗りすぎて、ローカルで内部的にテストを実行することすら試みなかったエグゼクティブやエンジニアリングチームを示してるだけなんだよ。PRを提出する前にテストが合格してるかどうかを確認できないシステムを世界に発信するなんて。ファイアウォールのルールがCIの結果を見えなくしてる問題があって、それがうまくいかない理由の一部なんだから、これをステージでやる前に確認してなかったのはなぜ?「オープンに作業する」っていうのはここでは悪いことだよ。これらの問題は、まず内部のPOCでキャッチされるべきだった。公にクソみたいなことをするべきじゃない。「ドッグフーディング」って重要なインフラコードにこれを投げつける必要はないよね。VSコードには修正が必要な小さなバグがないの?インフラには高い基準が求められるべきだよ。「最先端を押し進める」ってコメディだよ。これが最先端なの?これが最先端を押し進めてるの?この結果のためにどれだけのお金が無駄になったの?それぞれのPRは結局いくらかかったの?

つい数時間前に、みんなが好きなGoogleのエリックがAIについて話してるのを見て、楽しい体験をしたよ。彼は自分で試した後、AIが過小評価されてると思ってるみたいだった。動画の中で「ロケット会社を買ったのは面白そうだったから。自分が専門家じゃない分野で専門家になりたかったから、Deep Research (TM)を使ってる。これらのシステムは10分でDeep Papers (TM)を書くんだ、ほとんどのケースでね。」って言ってた。で、計算について話し始めて「普通は英語を話す」って言ってたけど、急に話が止まっちゃった。彼が言った重要な部分を引用すると、「自分が専門家じゃない分野」ってこと。AIを使ってる中で(別にAIが嫌いなわけじゃないけど)、今の生成系(俺はパターン再構成って呼んでる)システムはバカを感心させる能力がすごいと思った。分野に知識がないと、生成されたコンテンツが賢いと思っちゃうけど、深く理解することでその中に隠れた粗が見えてくる。もしマイクロソフトみたいな最前線で働いてるなら、何をすべきかは分かってるけど、会社のリーダーシップはAIの能力に感心してるエリックみたいなバカで構成されてるかもしれない。いつか生成技術が正しいコードを書ける日が来るかもしれないけど、今はその日はまだ遠いみたいだね。

これをシェアしてくれてありがとう!AIを使うときは、短いリードで使ってるよ。一方で、「ロケット会社を買った」みたいな人たちは、ストラトスフィアの富をどこに投資するかを決めるために使ってるから、さらに増やそうとしてるんだろうね。最終的に彼らがクラッシュでカフリンクを失うかもしれないけど、彼らはとても金持ちだから、シャツを失うことはないと思う。その間に、テックの仕事市場はどちらにしてもダメだね。

自分が専門家じゃない分野 > エリックみたいなバカを想像してみて。今、Googleがアメリカ軍と協力して、ジェミニを自律型軍用ドローンの艦隊に搭載して、機関銃を持たせるところを想像してみて。