# コード生成 ## 定義 コード生成(Code Generation)とは、自然言語仕様、形式仕様、抽象構文木、または別の中間表現から、実行可能なソースコードまたは機械語を自動的に合成・出力する計算処理の総称である。コンパイラ最適化におけるバックエンド生成(JIT/AOT/LLVM)から、近年の大規模言語モデル(LLM)によるプログラム合成(NL2Code)までを包含する。近年のコード生成技術の評価では、単に入出力テストに合致する「機能的正しさ(Functional Correctness, pass@k)」だけでなく、実行時メモリやレイテンシなどの「運用時挙動の安定性・効率性」をどう保証するかが重要な課題となっている。(Source: [[@2025__arXiv__Correctness isn’t Efficiency - Runtime Memory Divergence in LLM-Generated Code]]) ## 未解決の問い - LLM によるコード生成において、機能的正しさと実行時リソース効率(メモリ・CPU)の両方を満たす候補解を、生成段階(プロンプティング・サンプリング戦略)で直接誘導できるか。(Source: [[@2025__arXiv__Correctness isn’t Efficiency - Runtime Memory Divergence in LLM-Generated Code]]) - サンプリング温度の上昇が正解解の多様性とアルゴリズム構造の乖離をもたらす際、どのような後処理や事後学習(PPO 等)により実行時分散を最小化できるか。(Source: [[@2025__arXiv__Correctness isn’t Efficiency - Runtime Memory Divergence in LLM-Generated Code]]) ## 未編纂の観察 - 機能的に同一のテストを通過する複数の生成コードであっても、内部で選択されるアルゴリズム戦略(例: スライス全展開による $O(nk)$ 空間 vs 単調デックによる $O(k)$ 空間)やバッファリング手法の違いによって、実行時のメモリ配分プロファイルが著しく乖離(Divergence)する。従来の静的類似度(CodeBLEU や AST 編集距離)ではこの動的挙動の差を検知できず、実行時の動的プロファイリングが不可欠である。(Source: [[@2025__arXiv__Correctness isn’t Efficiency - Runtime Memory Divergence in LLM-Generated Code]]) ## 関連 - [[コードLLM]] — コード生成に特化した基盤モデル - [[LLM評価]] — 生成コードの正確性・効率性の評価手法 - [[メモリ効率]] — コード実行時のメモリ配分とスケーラビリティ ## 出典 - [[@2025__arXiv__Correctness isn’t Efficiency - Runtime Memory Divergence in LLM-Generated Code]]