強化学習:人間からのフィードバックによる

2026/02/07 21:53

強化学習:人間からのフィードバックによる

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

要約

日本語訳:

## Summary
この文書は、書籍スタイルのリソースに対する時系列更新履歴を記録しており、主要なマイルストーンと導入された変更点を詳細に示しています:

- **07 Feb 2026 build:** Manning の出版フォーマットに合わせた最終版。
- **Jan 2026 reorganization:** 大規模章の再構築で Manning 構造に合わせ、旧 URL をリダイレクト。
- **Dec 2025:** 編集者からのフィードバックをもとに v2 の作業中。更新情報は「後ほど確認」へ。
- **02 July 2025:** ツール使用章(PR 参照)を追加。
- **06 June 2025:** RLVR/推論改善を備えた v1.1 をリリース。
- **14–16 Apr 2025:** v0 を完了。過剰最適化と未解決の質問に対処。
- **26 Feb.–05 Mar 2025:** DPO 章(06–16 Mar の更新含む)を開始、完了し整理。
- **10–15 Feb 2025:** RM コンポーネント、好みデータ、コンテンツクリーニングを追加し、ポリシー勾配セクションを最終化。
- **04 Feb 2025 & 02 Feb 2025:** PPO/GAE セクションを導入。変更ログを追加し、序文を改訂。

著者は、Costa Huang、Claude、Ross Taylor、Hamish Ivison、John Schulman、Valentina Pyatkin、Daniel Han、Shane Gu、Joanne Jang、LJ Miranda 及び他の RL コラボレーターと GitHub の貢献者に感謝し、プロジェクト改善への協力を称えています。

このタイムラインは継続的な保守と改善を示しており、読者が将来の更新のためにリソースを再訪することを奨励しています。

本文

変更履歴(Changelog)

  • 最終ビルド日: 2026年2月7日
  • 2026年1月: Manning書籍の構成に合わせて章を大幅再編。旧URLは新しい場所へリダイレクトされます。
  • 2025年12月: 編集者からのフィードバックを基に本のv2作業中です – 更新情報は随時確認してください!
  • 2025年7月2日: ツール使用章を追加(PR参照)。
  • 2025年6月6日: v1.1リリース。RLVR/推論改善が多数実装されました(PR参照)。
  • 2025年4月14–16日: v0 完成:過剰最適化、未解決の質問等を整理。
  • 2025年4月6–12日: 評価セクションを追加。
  • 2025年3月28日〜4月5日: RLHF × プロダクトに関する研究、サイトのクリーニングと改善、推論セクションの更新。
  • 2025年3月17–27日: ポリシー勾配セクションを改善し、細かな変更を実施。
  • 2025年3月6–16日: DPO 完成、大幅クリーニング。
  • 2025年2月26〜3月5日: DPO章の開始と序文の改良。
  • 2025年2月20–25日: SEO改善、IFT章追加、小さな編集。
  • 2025年2月10–15日: RM 追加、好みデータ、クリーニング、ポリシー勾配最終化。
  • 2025年2月8日: RM 追加、編集・クリーニング。
  • 2025年2月4日: PPO と GAE を追加。
  • 2025年2月2日: 変更履歴を追加し、序文を改訂。

謝辞

このプロジェクトで直接ご協力いただいた皆様に感謝します:

  • Costa Huang(もちろん Claude も)
  • Ross Taylor, Hamish Ivison, John Schulman, Valentina Pyatkin, Daniel Han, Shane Gu, Joanne Jang, LJ Miranda 他、私の RL コミュニティ内で協力してくださった方々。

さらに、GitHub の貢献者の皆さんにも、このプロジェクトを向上させていただきましたことに感謝いたします。

同じ日のほかのニュース

一覧に戻る →

2026/02/08 6:45

小型 C コンパイラ

## Japanese Translation: Tiny C Compiler(TCC)は、非常に小さな(約100 KBのx86実行ファイル)Cコンパイラであり、1回のステップでコンパイル・アセンブル・リンクを行い、バイトコード層なしでネイティブx86マシンコードを生成します。2.4 GHz Pentium IV上では、Links BrowserテストをGCC(20.0 秒)より約10倍速く実行できます(2.27 秒)。これは別のコンパイルステージが不要であるためです。 TCCはISO C99を完全にサポートし、自身をコンパイルでき、任意のC動的ライブラリを直接リンクすることも可能です。完全なプリプロセッサ、GNUスタイルのアセンブラー構文、オプションのメモリと境界チェック機能、さらにはシェバンベースの「Cスクリプト」まで含まれ、コマンドラインから実行できます。libtccライブラリにより、他のプログラムがTCCをランタイムコード生成のバックエンドとして使用できるようになります。 性能テストはPentium IV上で行われました。新しい測定値(参照1–4)では、モダンハードウェアでも速度向上が継続しています。ドキュメント、メールリストサポート、およびSavannah/GitHubリポジトリは最新情報を提供します。 TCCはGNU Lesser General Public License(LGPL)の下で配布されており、商用利用も許可されています。

2026/02/08 8:23

**良質なコードの静かな終焉**

## Japanese Translation: 著者は中学時代から「Good Code™」―読みやすく、保守しやすく、特定の目的を持って存在するコード――を書き続けることに情熱を注いできました。機能提供に重点を置くソフトウェアエンジニアとして、彼は今日の高速開発環境で良いコードがますます希少になっていると感じています。 同僚の経験はこの状況をよく示しています。外部Linuxカーネル統合システムをCからRustへ書き換えた後、最初のバージョンは機能していたものの読みづらく保守が困難でした。原始的なCロジックを学習した上で再度書き直すと、コードはクリーンになり、自明であり、元のCよりも優れていると言えるようになりました。この経験が著者に品質コードへの熱意を再燃させました。 現在、彼はほとんどの場合初期バージョンを書かず、代わりに「Good Code™」ではなく許容できるものを生成するコーディングエージェントに頼っています。このようなツールへの継続的な依存が個々の行レベルでの品質への注意を薄め、業界実務におけるGood Codeの静かな消滅を招くと彼は恐れています。コード品質が低下すると保守コストや技術的負債が増大し、開発者の生産性、製品の信頼性、そして最終的には企業から提供されるソフトウェアへのユーザーの信頼まで損なわれます。

2026/02/08 2:39

**セクターC:512バイトで実装されたCコンパイラ**

## Japanese Translation: SectorCは、x86‑16アセンブリで完全に書かれたCコンパイラで、単一の512バイトのブートセクタに収まります。Ultra‑compactなトークン化スキーム「Barely C」を使用しており、各スペース区切り語を「メガトークン」とみなし、`atoi()`で識別子をハッシュし64Kテーブルに格納します。変数はこのハッシュを通じてセグメント0x3000に保存されます。最初のBarely C実装は468バイトで、シンボルテーブルなしの再帰下降パーサーでした。バイトスレッド化されたForth風の変種も試みられましたが、サイズをさらに削減することはできませんでした。 最終的なコンパイラはわずか **303 バイト** です。サイズは、フォールスルーロジック、テイルコール、コールフュージョン、`lodsw/stosw`の広範な使用、およびすべてのジャンプオフセットを1バイト内に収めるなどの手法で削減されました。残り約200バイトでBarely Cは完全なCサポートへと拡張されました:ネストされたif/whileブロック、包括的な演算子集合(+, −, *, &, |, ^, <<, >>, ==, !=, <, >, <=, >=)、ハッシュテーブルを介した関数定義と再帰、インライン`asm`ステートメント、および単一行(`//`)と複数行(`/* */`)コメントの両方が実装されました。 コンパイラのランタイムは `rt/` ディレクトリ内の2つのCファイルに分かれています:ライブラリルーチン(多くの場合インラインasmを含む)を持つ `lib.c` とエントリポイントとして機能する `_start.c` です。これらはプログラムソースと結合してからコンパイルされます。記事には、全ブートセクタのBase64文字列、VGAモード0x13hで動くサイン波を描画するデモ、および追加例(`hello.c` はビデオメモリ0xB8000に書き込み、`twinkle.c` はPCスピーカーで「Twinkle Twinkle Little Star」を再生)が含まれています。この作業は、512バイトという一見不可能な目標—完全機能のCコンパイラを実現すること—が、創造的なトークン化、ハッシュ化、および積極的なコードサイズ最適化によって達成できることを示しています。