4 ポイント 投稿者 GN⁺ 2025-11-27 | 2件のコメント | WhatsAppで共有
  • OCamlネイティブコンパイラに DWARF v5デバッグ情報 を追加し、macOSとLinuxで GDB・LLDBによるソースレベルデバッグ をサポートする1万3千行規模の大規模PRが提出された
  • 実装内容には 関数・行単位のブレークポイント引数およびローカル変数の追跡基本型情報の表示AMD64・ARM64対応 などが含まれる
  • 作成者は、このコードが Claude Sonnet 4.5とChatGPT 5(Codex) などのAIモデルの協業で生成された結果であり、自身はコードを書く代わりに AIを指揮・レビュー したと明かした
  • OCamlメンテナは 著作権問題、設計議論の欠如、保守負担、AIコードレビューの難しさ などを理由にマージを拒否し、PRを終了した
  • 今回の議論は、AI生成コードの品質・著作権・協業プロセス をめぐるオープンソースコミュニティの新たな課題を浮き彫りにした事例となった

DWARF v5デバッグ対応PRの概要

  • PRはOCamlネイティブコンパイラに DWARF v5デバッグ情報 を追加し、GDBとLLDBで ソースレベルデバッグ を可能にする
    • 関数名・ファイル・行ごとのブレークポイント設定、変数名の表示、型情報の提供
    • AMD64・ARM64 アーキテクチャをサポートし、32ビットプラットフォームは非対応
  • macOS(Mach-O)とLinux(ELF)の両方で、セクション相対再配置 を用いた完全なDWARFサポートを実装
  • LLDBプラグイン(ocaml_lldb.py) を追加し、OCaml値の出力コマンド(ocaml print)を提供
  • テストは9項目で構成され、機能・型・行デバッグ を検証する

実装の詳細

  • DWARF v4からv5へアップグレードし、DW_FORM_string を使ってリンクエラーを防止
  • 複数コンパイルユニット(CU) をサポートし、文字列テーブルの重複を除去
  • ローカル変数・引数の追跡レキシカルブロック基本型情報 をDWARF構造に反映
  • Var_lifetime モジュールで変数のライフサイクルを追跡し、fun_var_info フィールドでコンパイルパイプライン全体に変数情報を渡す
  • DW_TAG_lexical_block を通じてネストしたスコープを表現
  • テストスクリプト はGDB・LLDBでブレークポイントと型表示を検証する

AI生成コードをめぐる論争

  • 作成者は「Claude Sonnet 4.5が大半を書き、ChatGPT 5(Codex)がレビューした」と説明
    • 自身は「AIを指導しレビューしただけで、1行も直接書いていない」と述べた
  • 一部ファイルに Mark Shinwell の名前が著者として含まれており、著作権上の出典をめぐる論争 が発生
  • 作成者は別の分析レポートで「OxCaml実装とは構造・命名・型システムが異なり、複製ではない」と主張

メンテナたちの反応

  • gasche: 設計議論なしに1万3千行超のコードが提出され、レビュー・保守の負担 が大きいと指摘
    • AI作成コードは「レビューがより難しく、法的リスクがある」としてマージ不可を決定
  • dra27: 「AIがコードを理解する」という表現を批判し、LLMは理解ではなく パターン生成ツール だと強調
  • bluddytmcgilchrist: DWARFコードは別ライブラリとして分離すべきで、コンパイラ内部に含めると 保守負担 が増えると述べた
  • 議論が過熱すると、PRは 「too heated」状態 としてロックされた

AIとオープンソース協業の争点

  • 作成者は「AIが高品質なコードを完成できることを証明しようとした」として、AIベース開発の実験 であることを強調
  • メンテナたちは「AI生成コードの品質・著作権・レビュー手順」について明確な方針が欠けていると指摘
  • 今回の事例は、AI支援開発がオープンソースプロジェクトに統合される際に必要な手順と基準 をめぐる議論を促した

2件のコメント

 
iolothebard 2025-11-27

しかし……PRを提出した本人は、まったく理解していない。
したがって……本PRは却下する。(バンバンバン)

 
GN⁺ 2025-11-27
Hacker Newsの反応
  • OCamlのメンテナたちは厄介な人への対処に関する特別訓練でも受けているのかと思った
    あの忍耐力と成熟ぶりには驚かされる。自分ならTorvalds流に即ブロックしていた気がする

    • 私の勤める大企業では、AIに懐疑的だと村八分扱いされる雰囲気がある
      経営陣がAIにほとんど宗教的な信頼を置いていて、すべてのエンジニアにできる限りAIを使ってほしいと思っている
      コードレビューまで次第にAIが担うようになっている。ただ、この件で親切だった理由はそれではなさそうだ
    • 大規模なオープンソースプロジェクトのメンテナなら、自然とそういう訓練を積むことになるのだと思う
    • 投稿者には悪意はなさそうだった。そのエネルギーを建設的な方向へ向ける方法があったのかもしれない
      たとえばPRを分割させたり、設計提案を出すよう促したりする形で
    • AIの存在によって思考が壊れてしまったように見える人たちがいる
      メンテナたちは優しすぎて、そういう人たちに時間を浪費しているのを見るともどかしい
    • スレッドを読み返して改めて感心した
      メンテナたちが感情に流されず、論理と共感で応じる姿はまさに教科書的なコミュニケーションだった
      ただ、こうした親切さがかえって幻想を強めてしまわないかは気になる
  • ある意味でその人はLLM以上に自己認識が欠けているように見えた
    AIが作ったコミットの正当性をAIに尋ねるなんて本当にあきれる
    それでも少なくとも正直ではあった。「このゴミの山を保守してもいいが、金は払ってもらう」という発言は圧巻だった

    • コミュニティが落ち着いて建設的なフィードバックを与えていたのが印象的だった
      そのおかげで自分もOCamlエコシステムに貢献してみたいと思った
    • 彼は単に愚かなのではなく、高度なトロールなのかもしれないと思う
    • あの部分こそ、まさにケーキの上の飾りのような場面だった
  • 「なぜ提出したファイルの著者がMark Shinwellになっているのですか?」という質問に
    「AIがそう決めました。私は尋ねませんでした」と答えたのが、すべてを要約している

    • その前に「AIはこのコードを深く理解しているので挑戦してみてください」と言っていたのがさらに面白い
    • 優れた開発者は複数の抽象化レベルで同時に思考しなければならない、という話を思い出した
      こうしたAI世代は、最低限の多面的思考すらしていない
      著作権表記がなぜ入ったのか聞かれるのは目に見えているのに、答えの準備すらできていなかった
    • オープンソースではあるが、こういう形の貢献は精神としてのオープンソースとはほど遠いと感じる
      結局レビュー負担はメンテナに押しつけられ、保守責任を投稿者は負わない
    • 最初は冗談だと思ったのに、本気だったと知って衝撃を受けた
    • もしかして本物のMark Shinwellがいるのではと思って、彼のGitHubプロフィールを探してみた
  • この人の履歴書が伝説級
    ウォール街の銀行を渡り歩き、Deutsche Bankの技術ディレクター、EAへのライセンス販売、
    「Hardcore Erlang」の執筆企画、2日で200万ドルの暗号資産調達など
    天才か、世紀の大ぼら吹きか、そのどちらかに思える
    関連リンク: 以前のブログ, 履歴書PDF, インタビュー, 公式サイト, Erlang本の中止に関する話

  • AIが生成したコードであっても、コミュニティが時間をかけて対話しフィードバックを返しているのに、
    投稿者がAIの書いた長文をそのままコピペするのは即ブロック対象だと思う
    スパムボットのように振る舞えば、スパムボットとして扱われて当然だ

    • 以前、同僚がJiraチケットをChatGPTに貼り付けて、その返答をコピーしてPRを出したことがある
      私が質問すると返ってくる答えは典型的なGPT口調だった
      結局自分で試してみたら、ほぼ語単位で同一の返答が出てきて、
      それ以来、彼のコードはレビューしないと宣言した
  • 「これはAIが書いた著作権分析です」と言い出した時点で、もう限界だった
    自分ならその時点で即座にリポジトリからブロックしていた

    • メンテナたちの感情的成熟度は驚くほど高かった
    • ただの道化芝居で、笑って流せばいい話だと思う
  • 私も複数のオープンソースプロジェクトでAI生成PRをクローズした経験がある
    こういう投稿者は、あるプロジェクトで拒否されると別の場所へ移っていく
    レビュー負担は増え、本物の貢献者は減っていく
    それでも、こうした議論をHNでリアルタイムに見られるのは興味深い

    • 今回のPRは最終的にクローズされ、ロックされた。メンテナたちは辛抱強く対応していたが、
      投稿者は論理ではまったく説得されなかった。他のプロジェクトもこうして持ちこたえられるかもしれない
    • オープンソースのメンテナたちは、HNやRedditで嘲笑されたくないというだけでもこの波に抵抗するだろう
      むしろ心配すべきなのは企業向けソフトウェアのほうだ
  • AI擁護派に聞いてみたい
    AIで書いた発表原稿を読み上げたあと質問を受けたら、何と答えるつもりなのか?
    今回の状況はまさにそれだ

    • AI擁護派の立場で言うなら、問題はAIそのものではなく、理解しないまま提出する姿勢
      13k行のPRを理解せずに投げるのは、AIの有無に関係なく間違っている
      AIはただの道具であり、CNCマシンを使おうがノコギリを使おうが結果を理解することが重要だ
    • 「AIがそう決めました。私は尋ねませんでした」という返答がすべてを物語っている
    • 「資金がないので答えられません。金をもらえればAIに聞きます」というような態度にはあきれる
    • 実は政治家は昔からそうしてきた、という冗談も出ていた
    • 「AIはあなたの質問を完全に理解しています。間違っていることを証明してみてください」という言い方もあった
  • これまで見たAI生成PRの中で、これは最も異質なケースだった
    たいていは初心者が書いた動かないコードだが、今回は複雑で実際に動いていた
    投稿者のJoel Reymontは30年の経験を持つ開発者で、2008年からHNアカウントを持つ古参だった
    OCamlメンテナたちの忍耐強さは見事で、最終的に彼は人間味のあるコメントで自分の立場をまとめ、
    AIでOSSに貢献するのはやめると述べた
    それでも、この手のPRは依然として全員にとって時間の無駄であり、
    これまで生産的に活用された例は見たことがない

  • 本当に驚くべきPRだった
    該当コミットへのリンク

    • 少なくともその差分だけはAIが書いたものではないかもしれない、という冗談が出ていた /s