背景
AtCoder Heuristic Contest(AHC)では近年、対話型の大規模言語モデル(LLM)を含む生成AI技術の進歩により、参加者がさまざまな形でAIを活用するケースが増えています。例えば、以下のような利用が一般的です:
- 問題文の翻訳をAIに任せる
- 自分の知らない知識やアルゴリズムに関する情報をAIから得る
- 方針やアルゴリズムのアイデアをAIに提案してもらう
- コードの補完やバグ修正など、実装作業の補助にAIを利用する
- 実装したい内容を自然言語で伝え、コードの生成をAIに委任する
AHCでは、上記のような生成AIの利用を、創造性や試行錯誤を支援する手段として肯定的に捉えており、すべての使用を一律に制限する方針はありません。
しかし一方で、最近の研究により、生成AIを用いて多数の解法候補を自動生成し、それらをスコアで評価・選別する手法が、特に人力での試行回数に制限のかかる短期間のコンテストにおいて、極めて大きな効果を発揮することが明らかになってきました。
このような手法は、課金や計算資源の量に応じて成績が左右される「pay to win」の構造を新たに生み出してしまうおそれがあり、競技としての公平性を損なう懸念があります。
また、AHCは人間同士の競技としての側面を重視しており、生成AIを活用する際にも人間の創意工夫や試行錯誤が中心となるべきとの考えがあります。
このためAHCでは、生成AIの利用を全面的に禁止するのではなく、人間の関与が著しく少なく、成績に直結するような自動化的利用に限って制限を設けます。
この方針は、生成AIの活用によって得られる創造性や技術的支援の恩恵を残しつつ、過度なリソース投入が競技結果を左右する事態を防ぎ、公平な競技環境を維持することを目的としています。
生成AIの使用に関するルール
禁止事項
以下のような用途での生成AIの使用は禁止します。
- APIやスクリプト等を用いて、生成AIに多数の出力を自動生成させること
- 同一または異なるプロンプトを自動的に多数送信し、出力された複数の候補をスコアなどで評価・選別する手法は、明確に禁止対象です。
- 例:同一のコード生成プロンプトを100回連続で呼び出すスクリプトを用いて異なる出力を収集し、それらを比較・評価して採用する
許可される利用例
以下のような用途での生成AIの使用は、問題ありません。
- 問題文の翻訳をAIに任せる
- 自分の知らない知識やアルゴリズムに関する情報をAIから得る
- 方針やアルゴリズムのアイデアをAIに提案してもらう
- コードの補完やバグ修正など、実装作業の補助にAIを利用する
- 実装したい内容を自然言語で伝え、コードの生成をAIに委任する(ただし上記の禁止事項に該当しない範囲に限る)
さらに、次のようなケースも許容されます。
- 一度のプロンプトに対して自律的に複数段階の推論や計画を進める Chain-of-Thought(CoT)型の LLM(例:OpenAI o3) や Agent 型 AI(例:Claude Code) の利用も、禁止事項には該当しません。ただし、内部的にテストケースに対する自動実行を行い、複数の候補を生成・選別するような挙動を伴う場合は、禁止事項に該当します。
- 生成AIが返した出力にバグが含まれていたり、期待と異なる挙動をした場合などに、同じプロンプトを手動で再送信してコードを再生成する行為は問題ありません。
- Optuna など、生成AIを使わずにパラメータ探索やスコア評価を自動で行うツールの利用も認められます。これらは人間が設計した戦略に基づく探索であり、大量の解法を生成AIに任せて選別するような行為とは異なります。
補足
生成AIの定義
本ルールにおける「生成AI」とは、学習データをもとに新たな文章やコードなどを生成する人工知能を指します。
対象となる具体例には、GPT、Gemini、Gemma、Llama、Claude などの大規模言語モデル(LLM)が含まれます。
今後の方針
生成AI技術は日々進化しており、利用方法やその影響も変化し続けています。
AHCでは、今後も実態や技術動向を踏まえつつ、公平性と創造性の両立を目指して本ルールの見直しや調整を適宜行っていきます。