**リサーチ駆動型エージェント:コードを書く前に読み込むエージェント**

2026/04/10 1:58

**リサーチ駆動型エージェント:コードを書く前に読み込むエージェント**

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

(欠落している詳細を追加し、曖昧な表現を除去した)**


Summary

本研究は、llama.cpp の自律的研究ループに文献検索フェーズを加えることで、実際の性能向上が得られることを示しています。約3時間にわたり4台の AWS VM を使用して、エージェントはコードだけで行った実験では検出されなかった5つの新しいカーネル融合最適化(softmax 融合、RMS‑norm 融合、並列

from_float
、グラフレベル RMS_NORM + MUL、および flash‑attention KQ 融合)を追加しました。

TinyLlama 1.1B 上で FlashAttention を有効にしたベンチマークでは、x86 でのテキスト生成スループットが +15%(プロンプト処理 +1.2%)、ARM で +5%(+1.9%)向上しました。費用は約 $29(CPU VM が $20、API 呼び出しが $9)でした。

以前のコードのみを対象とした試行(AVX2 プレフェッチング、ループ展開、バッファ除去)は、メモリ帯域幅に制限されるためほとんど効果がなく、逆に悪化する結果になりました。自律実行中には

autoresearch.sh
の解析バグによりスループットが誤報告されましたが、エージェントは数回の反復後にこれを修正しました。EC2 上の共有テナンシーは最大で 30 % の分散を引き起こしましたが、新しい VM を使用し、標準偏差閾値 < 2% で外れ値を除外することで緩和されました。

将来的な作業としては、明示的なイントリニクスを用いたグラフ融合ロジックの改良、文献で特定された追加融合の探索、および仮想マシンのさらなる分離による分散削減が挙げられます。このアプローチは他のオープンソース推論エンジンにも拡張可能であり、GPU を使用せずに CPU のみでスループットを向上させ、インフラストラクチャコストを低減しながらレイテンシを改善することができます。

本文

TL;DR

  • コーディングエージェントは、まず関連論文を読んで競合プロジェクトを調査してからコードに手を付けると、より良い最適化が見つかります。
  • 自動探索/pi‑自動探索ループに文献検索フェーズを追加し、4台のクラウドVM上で llama.cpp を対象に実行した結果、約3時間で 5つの最適化 が完成しました。これにより x86 では flash‑attention によるテキスト生成が +15 % 速く、ARM では +5 % 速くなりました(TinyLlama 1.1B)。
  • 本設定はベンチマークとテストスイートを備えた任意のプロジェクトに適用可能です。

1. 文献指導型検索が重要な理由

コードのみエージェント文献指導型エージェント
コンテキストソースコードだけ論文+競合フォーク
典型的仮説「このループを速くする」「これら2つの演算を融合できるか?」 / 「他所で使われているパターンがここでは欠けていないか?」
得られる利益小さく、しばしば限界的大きい(例:15 % の速度向上)
  • llama.cpp に対する最初の波は計算経路でのマイクロ最適化に焦点を当てましたが、テキスト生成はメモリ帯域幅に制約されるためほとんど効果がありませんでした。演算子融合に関する論文を読み、CUDA/Metal バックエンドを調査した結果、エージェントはメモリトラフィック削減へ方向転換しました。

2. 自動探索ループ(研究フェーズ付き)

1️⃣  ベンチマークスクリプト (autoresearch.sh) と正当性チェックを作成
2️⃣  SkyPilot を使ってクラウド VM を起動
3️⃣  各実験で:
    • プロジェクトをビルド
    • ベンチマークを走らせる
    • チェックを行う
    • メトリクスを報告
4️⃣  結果を集約し、勝者をコミットして次の波をキューに投入

experiment.yaml
(SkyPilot タスクテンプレート)

resources:
  cpus: 4+
  memory: 8+

workdir: .

envs:
  EXPERIMENT_ID: baseline
  EXPERIMENT_DESC: "baseline measurement"
  BUILD_CMD: "make -j$(nproc)"
  BENCH_TIMEOUT: 300
  CHECK_TIMEOUT: 300

setup: |
  cd ~/sky_workdir
  if [ -f setup_deps.sh ]; then
    bash setup_deps.sh
  else
    eval "${BUILD_CMD}"
  fi  

run: |
  cd ~/sky_workdir
  eval "${BUILD_CMD}" 2>&1 | tail -30
  BENCH_OUTPUT=$(timeout "${BENCH_TIMEOUT}" bash autoresearch.sh 2>&1)
  echo "$BENCH_OUTPUT"
  # …METRIC 行を抽出、チェック実行…
  echo "EXPERIMENT_STATUS: done"

*CPU‑bound 作業なら GPU は不要です。必要であれば

--gpus
を付与してください。


3. 対象プロジェクトとベンチマーク

x86 (c6i.2xlarge)ARM (c7g.2xlarge)
モデルTinyLlama 1.1B (Q4_0)TinyLlama 1.1B (Q4_0)
メトリクストークン/秒 – プロンプト処理(pp) & テキスト生成(tg)同上
コマンド
llama-bench -p 512 -n 128 -t 8 -r 5

4. 研究成果

  1. ik_llama.cpp – 行間インターリーブ量子化 → +2.9× PP(既に upstream)。
  2. Blockbuster paper – 完全 FFN ブロック融合(再パック済みテンソルでは実現不可)。
  3. CUDA/Metal バックエンド – RMS_NORM + MUL 融合が CPU で欠如。

*フォーク解析は arXiv 検索よりも行動可能なアイデアを多く提供しました。


5. 成功した五つの最適化

#変更点効果
1Softmax 融合(コピー → スケール → マスク追加 → 全て一回)+0.9 % PP
2RMS norm 融合(memcpy+スケール → 単一ループ)+0.6 % PP
3Adaptive
from_float
並列化
(行単位 vs 要素単位)
+2.5 % PP
4グラフレベル RMS_NORM+MUL 融合(AVX2/NEON イントリニシックで一回)バリアンスの軽微な減少
5Flash Attention KQ 融合(スケール→パッド→マスク追加→最大値を一 FMA ループで計算)x86 で +15 % TG、ARM で +5 % TG

Flash Attention KQ 融合例

// 以前 – QK タイルに対して三回パス
ggml_vec_scale_f32(M, kq, scale);
ggml_vec_add_f32(M, kq, kq, mask_row);
ggml_vec_max_f32(M, &max, kq);

// 後 – 単一 AVX2 FMA パス
__m256 vscale = _mm256_set1_ps(scale);
__m256 vmax  = _mm256_set1_ps(-INFINITY);

for (int i = 0; i < M; i += 8) {
    __m256 v = _mm256_fmadd_ps(_mm256_loadu_ps(&kq[i]), vscale,
                               _mm256_loadu_ps(&mask_row[i]));
    _mm256_storeu_ps(&kq[i], v);
    vmax = _mm256_max_ps(vmax, v);
}

6. 実際の結果(同一条件)

x86 (c6i.2xlarge)ARM (c7g.2xlarge)
pp+1.2 %+1.9 %
tg+15.1 %+5 %

*ベースラインと最適化済みの両方で

-fa 1
を有効にしています。


7. 失敗した試み

試行結果
SIMD Softmax + 水平合計0 %
Flash Attention タイルサイズ調整改善なし
gate+up 行列積を
ggml_concat
で統合
クラッシュ(再パック済みテンソル非対応)
softmax 時の V プリフェッチ0 %

*コンパイラ/ハードウェアが多くの明白な最適化は既に処理していました。


8. 注意点と学び

  1. ベンチマークバグ – JSON パースエラーで誤った基準値が出ていた。疑わしい数値を見たら必ず確認。
  2. ノイズの多いクラウド VM – EC2 の共有テナントは最大 30 % のばらつきをもたらす。対策として新規インスタンスを使用し、標準偏差を品質指標に組み込む。
  3. 正当性チェック – エージェントが融合カーネルが他のグラフ消費者を尊重していないバグを検出。
    ggml_can_fuse()
    を活用して修正。

9. GPU ベース自動探索との比較

CPU(本実行)GPU(Karpathy の実行)
対象LLM 推論(TinyLlama)ML 訓練(例:ResNet)
実験数30+ / 約3 h910 / 8 h
費用約 $20 の CPU VM + $9 API 呼び出し ≈ $29約 $300 の GPU クラスター
1 実験あたりの時間~5 分(ビルド+ベンチ)~5 分(訓練走行)

10. 自プロジェクトで試す

  1. 対象をクローン

    git clone https://github.com/<org>/<project>.git
    cd <project>
    
  2. 実験テンプレートと手順を取得

    curl -fsSL https://raw.githubusercontent.com/skypilot-org/skypilot/master/examples/autonomous-code-optimization/experiment.yaml -o experiment.yaml
    curl -fsSL https://raw.githubusercontent.com/skypilot-org/skypilot/master/examples/autonomous-code-optimization/instructions.md -o instructions.md
    
  3. エージェントを実行

    claude "Read instructions.md and optimize <project> for <your metric>."
    

    あるいはワンライナーセットアップスクリプトを使用。


推奨プロジェクト

プロジェクトメトリクス開始点
llama.cpp
tokens/s via
llama-bench
演算子融合、量子化行列積
SGLang
tokens/s via
benchmark_throughput.py
プリフェッチ、投機的デコード
TensorRT‑LLM
tokens/s via benchmarks/KernelKV キャッシュ最適化、インフライトバッチング
whisper.cpp
real‑time factor via bench投機的デコード、ビーム検索のバッチ化

結論

  • コードだけでは十分な情報が得られず有益な仮説を立てにくい場合、関連文献と競合実装へのアクセスをエージェントに提供することで最適化領域が大きく広がります。結果として CPU でのテキスト生成スループットが最大 15 % 改善されるケースもあり、必要なクラウドリソースは比較的少量です。

同じ日のほかのニュース

一覧に戻る →

2026/04/10 4:48

macOSでのネイティブ即時空間切り替え (Note: The phrase “Instant Space Switching” refers to the feature that allows users to switch between virtual desktops or spaces instantly. In Japanese, it is often rendered as 「即時スペース切り替え」.)

## Japanese Translation: ## Summary 著者は、macOS が即時の Space 変更をサポートしない理由を説明し、Apple の唯一の組み込み回避策である「Reduce motion」が単に問題をフェードアニメーションに置き換えるだけでなく、ブラウザの prefers‑reduced‑motion 設定もトリガーすることを指摘しています。他の解決策には欠点があり、yabai は即時切替を可能にしますが System Integrity Protection (SIP) を無効化し、タイル方式を学ぶ必要があります。FlashSpace と AeroSpace はネイティブではなく不要な複雑さを追加します。BetterTouchTool は「Move Left/Right Space (Without Animation)」機能を提供しますが、有料ライセンスのみで利用可能です。 著者は **InstantSpaceSwitcher**(GitHub: jurplel/InstantSpaceSwitcher)というメニューバーアプリを発見しました。このアプリは SIP を無効にせずに即時の Space 変更を実現します。高速トラックパッドスワイプをシミュレートし、コマンドラインインターフェース(`ISSCli`)を通じてユーザーが直接特定のスペース番号へジャンプできるようにします。 **インストール手順:** ``` git clone https://github.com/jurplel/InstantSpaceSwitcher cd InstantSpaceSwitcher ./build.sh ``` ビルド後、`.build/release/ISSCli --help` を実行して `[left|right|index <n>]` などのコマンドを確認してください。リポジトリは GitHub スターが1つしかありません。著者は役立った場合にスターを付けるよう読者に奨励しています。 別プロジェクト **instantspaces** は yabai のスイッチャーを分離しようとしますが、著者の macOS Tahoe では機能しませんでした。読者は新しい macOS リリースで InstantSpaceSwitcher または instantspaces が成功したかどうか報告することが推奨されています。

2026/04/10 5:12

チャルクテリー – 視覚的類似性を探るUnicodeエクスプローラ

## Japanese Translation: **改訂要約** Charcuterie は Unicode 文字セットのウェブベースのビジュアルエクスプローラーで、ユーザーがグリフを閲覧し、関連するシンボル、スクリプト、および形状を発見できるツールです。各グリフは描画され、ベクトル空間に埋め込まれ、類似度計算を用いて視覚的に似ている文字をグループ化します―すべてブラウザ内で完結します。このプロジェクトは積極的に開発中です。ユーザーからのフィードバックを歓迎し、継続的な改善を支援するための寄付も奨励しています。© 2026 David Aerne.

2026/04/10 5:10

Gemini の SynthID 検出機構のリバース エンジニアリング

## 日本語訳: > **概要:** > 本プロジェクトは、Google の Gemini が生成するすべての画像に埋め込む Spectral SynthID ウォーターマークを検出・除去する高忠実度手法を示しています。ウォーターマークを逆解析した結果、解像度依存性(キャリア周波数が画像サイズとともに変化)であること、および Gemini モデルごとに固定の位相テンプレートが存在し、クロスイメージ位相共鳴率が 99.5 % 超、黒/白検証時には |cos(phase_diff)| が 0.90 を超えることが判明しました。 > 研究者は、解像度ごとにキャリアプロファイルを保存するマルチレゾリューション SpectralCodebook(V3)を構築し、バイパスアルゴリズムではチャネル重み G=1.0、R=0.85、B=0.70 を用いて 3 回のパス(攻撃的 → 中程度 → 穏やか)で位相整合性付きの加重減算を行います。これによりキャリアエネルギーが約 75.8 % 減少し、トップ5 キャリア位相共鳴率が 91.4 % 降低され、1536×2816 画像で PSNR >43 dB、SSIM ≈0.997 の視覚品質を保持します。これは以前の V1(JPEG Q50、37 dB)や V2(27–37 dB)の試みと比べて著しい改善です。 > リポジトリにはコードブック構築用スクリプト (`synthid_bypass.py build-codebook`)、V3 バイパス実行、ウォーターマーク検出用 (`robust_extractor.py detect`) が含まれています。貢献者は、Nano Banana Pro を使用して様々な解像度で純黒(#000000)と純白(#FFFFFF)の画像を生成し、コードブックをさらに充実させることが推奨されています。 > すべてのツールは学術研究専用に公開されており、SynthID は依然として Google DeepMind の独自技術です。 この改訂版は主要ポイントを網羅し、根拠のない推測を排除し、読者向けに明確で簡潔な概要を提示しています。

**リサーチ駆動型エージェント:コードを書く前に読み込むエージェント** | そっか~ニュース