HN 日本語サマリー

← 一覧へ戻る
プログラミング

AI共同著者は不要。マニフェスト

No AI Co-Authors. A Manifesto (no-ai-coauthors.dev)

10 pointsby zethraeus5 コメント

要約

このマニフェストは、GitコミットメッセージにAIを共同著者としてクレジットすることを拒否する立場を表明しています。AIは便利なツールであるものの、その出力に対して責任を負うことはできないため、コミットの「著者」は常に貢献した人間であるべきだと主張しています。これを強制するために、AIの共同著者トレーラーを検出・拒否する`commit-msg`フックとGitHub Actionsが提供されています。

全文翻訳

commit-msgフック · GitHub Action AI共同著者は不要 AIによる帰属トレーラーを持つコミットを拒否するcommit-msgフックとGitHub Action — なぜなら、署名は説明責任を共有できない唯一の場所だからです。 フックをインストール マニフェストを読む $ pre-commit install --hook-type commit-msg copy COMMIT_EDITMSG ~/work · 9f2c1ab 1feat: add a retry budget to the sync worker 3Author: Ada Lovelace <ada@example.com> 4Signed-off-by: Ada Lovelace <ada@example.com> 5Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> 6Claude-Session: https://claude.ai/code/session_01T… ✗ commit rejected ✓ commit accepted · no AI co-authors 2 trailers removed @@ why @@ マニフェスト 署名は共有リソースではありません。AI共同著者のGitコミット署名は、印象的なマーケティングフックではありますが、出所の有用なシグナルを提供しません。2026年半ばです。作成されるすべてのコードは、多数の洗練されたツールによって促進されています。その最新のものがAI「共同著者」です。これらは信じられないほどの有用性を持っていますが、開発ツールチェーン内の他のツールと同様に、その出力に対して意味のある説明責任を負いません。良くても、生成されたコードのボットを「共同著者」としてタグ付けすることは、開発階層における最も重要な説明責任と帰属のメカニズムにノイズを加えるだけです。最悪の場合、この慣行は同様に拡散された責任を暗示します。コードの著作行為が変化しているのと同様に、著作権に関する社会規範が滑り落ちてはなりません。私たちは自身の貢献に対して責任を負うべきです。「著者」は常に、貢献する個人です。コミットメッセージから企業のスパムを削除してください。 — AI共同著者は不要。 @@ diff @@ 検出対象 これはツールを排除し、人間を維持します。表示名とメールの両方で正規化されたマッチングが実行されるため、名前が変更されたボットや数値のnoreplyアドレスもすり抜けることはありません。人間が巻き込まれることは決してありません。 拒否されます # コミットは作成されません -Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> -Claude-Session: https://claude.ai/code/… -Co-authored-by: Copilot <copilot@github.com> -Co-authored-by: Cursor <cursoragent@cursor.com> -Co-authored-by: aider <aider@aider.chat> ChatGPTGPTCodex GeminiDevinWindsurf OpenCodeAmazon QLlama MistralDeepSeekQwen GrokCodyCodeium ClineTabnine+ more 保持されます # コミットは変更されずに通過します +Co-authored-by: Claude Shannon <claude.shannon@example.com> +Co-authored-by: Grace Hopper <grace@example.com> +Signed-off-by: Ada Lovelace <ada@example.com> ## コメント行も無視されます ボットのClaudeをブロックします。人間のClaude Shannonを歓迎します。 @@ use @@ インストール 1.0.0にピン留めしてください。お好みのフックマネージャーを選択してください。すべてのパスは公開リポジリトとタグ付きリリースを指しているため、インストールは再現可能です。アップグレードするときはタグを交換してください。 pre-commit .pre-commit-config.yamlにリポジトリを追加し、commit-msgステージをインストールします。 .pre-commit-config.yaml copy default_install_hook_types: [pre-commit, commit-msg] repos: - repo: https://github.com/GoodHatsLLC/no-ai-coauthors rev: 1.0.0 hooks: - id: no-ai-coauthors terminal copy $ pre-commit install --hook-type commit-msg prek prekは同じ設定を読み取るか、ネイティブのprek.tomlエントリを使用します。 prek.toml copy default_install_hook_types = ["pre-commit", "commit-msg"] [[repos]] repo = "https://github.com/GoodHatsLLC/no-ai-coauthors" rev = "1.0.0" hooks = [{ id = "no-ai-coauthors" }] terminal copy $ prek install --hook-type commit-msg Lefthook Lefthookのリモート設定として使用し、インストールします。 lefthook.yml copy remotes: - git_url: https://github.com/GoodHatsLLC/no-ai-coauthors ref: 1.0.0 configs: - lefthook.yml terminal copy $ lefthook install GitHub Actions リポジトリを複合アクションとして直接使用します。push時にイベントペイロードを読み取り、pull_request時にPRコミットを読み取ります。 .github/workflows/no-ai-coauthors.yml copy name: no-ai-coauthors on: pull_request: push: jobs: no-ai-coauthors: runs-on: ubuntu-latest permissions: contents: read pull-requests: read steps: - uses: GoodHatsLLC/no-ai-coauthors@1.0.0 Plain Git フックマネージャーをまったく使用しない場合 — スクリプトをダウンロードし、core.hooksPathをそこに向けます。 terminal copy $ mkdir -p .githooks $ curl -fsSL \ https://raw.githubusercontent.com/GoodHatsLLC/no-ai-coauthors/1.0.0/hooks/no-ai-coauthors \ -o .githooks/commit-msg $ chmod +x .githooks/commit-msg $ git config core.hooksPath .githooks Husky このパッケージはNode指向のマネージャー用にno-ai-coauthorsバイナリを公開しています。 .husky/commit-msg copy no-ai-coauthors "$1" simple-git-hooks package.json · simple-git-hooks copy { "simple-git-hooks": { "commit-msg": "no-ai-coauthors \"$1\"" } } あなたの名前がコミットにあります。その意味を重んじましょう。 GitHubで入手 ↗ インストールパス