mcpField
I
interview-cheatsheet

interview-cheatsheet

github.com/wanshuiyin生産性18.2k367 回インストール4 日前に更新
リポジトリ

interview-cheatsheet について

interview-cheatsheet は、機械学習や LLM の面接対策向けに中国語のチュートリアルを生成するスキルです。数式の導出、PyTorch の自作実装、頻出質問 25 問を含み、レンダリング前に数学とコードをレビューします。デフォルトでは変更をコミットしません。

主な機能

  1. 01約 600~1,000 行のチュートリアル生成
  2. 02数式と導出の掲載
  3. 03PyTorch の自作コード作成
  4. 04難易度別の面接質問 25 問
  5. 05複数モデルによる数学・コードレビュー
  6. 06デフォルトで検出のみ、コミットなし

活用シーン

  1. 01RLHF、DPO、PPO の面接準備
  2. 02MoE などの機械学習トピックの復習
  3. 03KV Cache と Speculative Decoding の学習
  4. 04レビュー可能な面接学習資料の作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wanshuiyin/auto-claude-code-research-in-sleep --skill interview-cheatsheet

インストール後、Claude Code で/interview-cheatsheetを入力して読み込まれたか確認します。

詳細

/interview-cheatsheet — 中国語の長文 ML/LLM 面接対策

各レビュアー枠の前に、選択可能なレビュアーに従ってください: 呼び出しの解決 → .aris/reviewer.json → Claude Code のデフォルト(Codex MCP) を、正規のヘルパーリゾルバー経由で reviewer_route.py を使って解決し、この 枠のティア、新しいコンテキスト、ソース/画像入力、決定論的なゲートを維持します。 以下の Codex の例/固定設定は backend=codex の場合にのみ適用されます。他のルートでは、それぞれの初回呼び出し/返信の契約を使用します。ルートと実際に返された識別情報を保存してください; 選択したものが利用できない場合は REVIEW_UNAVAILABLE とします。実際の ファミリー/完了状況/スコープに基づいて受け入れ可否を分類します。 呼び出し元のレビュアー/モデル/effort のオーバーライドを、レビュアーを含む子プロセスに 引き継ぎます。生成ワーカーは変更しません。

呼び出しごとに、中国語の総合的なチートシートを1つ生成します:数式+導出+ゼロからのコード+高頻出問題25問。出力はレンダリング前に複数モデルによる数式/コードレビューに合格します。デフォルトは検出のみ:自動コミットは行いません。

入力

  • <topic>(必須) — 600〜1000行のチュートリアル1本に収まる程度に絞ったテーマ。適切な例:「RLHF / DPO / PPO」、「MoE」、「KV Cache + Speculative Decoding」。不適切な例(範囲が広すぎる):「LLM トレーニング全般」、「diffusion」(Forward Process / Sampling / CFG に分割してください)。
  • --effort(デフォルト balanced) — balanced は約600行、max はより詳細な証明と多くの L3 問題を含む約1000行です。
  • --byline(デフォルト "<Your Name>, <Affiliation>") — /render-html --author に渡されます。
  • --commit(デフォルト false) — false(デフォルト)の場合、レンダリング後に停止します;ユーザーが確認してコミットします。明示的なユーザーの承認なしにプッシュしてはいけません。

スタイルガイド — 厳守(標準リファレンスとして docs/tutorials/attention_tutorial.md を読んでください)

セクション構成(12〜14セクション)
## §0 TL;DR — callout intro line + numbered list of 5-7 takeaways
## §1 直觉 — why this matters; analogy; one-paragraph mental model
## §2 核心公式 — main formula + derivation (variance / scaling / boundary)
## §3 实现细节 — 50-80 line from-scratch PyTorch
## §4-7 变体 / 工程实践 / 常见 bug — variants, comparison tables, footguns
## §8 复杂度 / 资源 — time + memory complexity
## §9 与相关方法对比 — placement in the ecosystem
## §10 25 高频面试题 — L1 (10 必会) + L2 (10 进阶) + L3 (5 顶级 lab), all with <details><summary> collapsible answers
## §A 附录 (optional) — sanity-check output, reference list
規約 — 確立された知見を反映する
ルール理由例
見出し形式は ## §N Title、§N の後にスペースを入れる以前のバージョンでは §0TL;DR のように詰めていました## §0 TL;DR Cheat Sheet
表のセル内の数式:|...| ではなく \lvert ... \rvert を使うMarkdown の表内では | がセル区切りになるため、行が崩れます$\text{score}_{ij} - m \cdot \lvert i-j \rvert$
本文にリストが続くコールアウト:コールアウトの導入行とリストを分けるそうしないと、リストの最初の項目がコールアウトに取り込まれ、項目2〜Nの番号が1から振り直されます> 💡 **Sampler 选择** — 按 NFE/质量排序如下。
- Euler …
- Heun …
コールアウトの接頭辞のみ:💡 ⚠️ ✅ ❌(それ以外はクラスが適用されません)レンダラーがこれらを callout-info/warn/good/bad に対応付けます> ⚠️ **FP16 overflow** — 即使除了 √d_k …
数式:インラインは $...$、ディスプレイは $$...$$、重要な枠には $$\boxed{...}$$MathJax CDN;ソースにそのまま記述します—
コード:```python フェンスを使い、実際に動作する PyTorch を記述するレビュアーが実行可能性を確認します—
個人情報の禁止リスト:所有者の所属機関/研究室/センター名、学位課程の所属、プライベートサーバーの別名、就職活動に関する情報、/Users/... パス、特定の研究室/企業名レビュアーが FAIL と判定しますbyline は本文ではなく、レンダリング時に --author 経由で渡します
言語:中国語を主とし、英語の技術用語はそのまま使用する既存のチートシートのスタイルに合わせます「softmax 饱和」、「vector field」
アイブロー/サブタイトル/タイトルの命名
フィールドパターン
--eyebrowInterview Prep · <Topic>
--subtitleスコープを説明する中国語の1文(例:公式推导 + From-Scratch 代码 + 25 高频题(L1 必会 · L2 进阶 · L3 顶级 lab))
--title<Topic> 面试 Cheat Sheet または <Topic> Quick Reference
--langzh-CN
スラッグ

<topic> → ファイル名用のケバブケース/スネークケースの <slug>。例:「RLHF / DPO / PPO」→ rlhf_dpo_ppo。

ワークフロー

Step 1 — 構成を計画する(ファイルは書き込みません)

内部で以下の下書きを作成します。

  • セクションタイトルを12~14個
  • 主な数式の一覧(それぞれの導出の概要を含む)
  • コードブロックの一覧(骨組みと、各ブロックで説明する内容)
  • L1/L2/L3の難易度別に分類した面接質問25問(それぞれ1行の想定回答付き)
  • 比較表のトピック(例:「RLHF vs DPO vs IPO vs SimPO」)

トピックが広すぎて1つのチートシートに収まらない場合は、下書きに着手せず、ユーザーに範囲の絞り込みを依頼してください。

Step 2 — MDを下書きする

docs/tutorials/<slug>_tutorial.md に直接書き込みます。スタイルガイドに従ってください。目標の長さは600行(バランス重視)または1000行(最大)で、許容誤差は±20%です。

Step 3 — モデルをまたいだ数式/コードレビュー(codex gpt-6-astra xhigh、新規スレッド)

model: gpt-6-astra、config: {model_reasoning_effort: xhigh}、sandbox: read-only、新規スレッド(codex-replyは使用しない)を指定して、mcp__codex__codexを呼び出します。

レビュアーへのプロンプト:

You are reviewing a long-form Chinese interview-prep tutorial on <TOPIC> for math/code/factual correctness and style discipline.

## Files to read (READ-ONLY)
- Draft MD: <MD_PATH>
- Style reference: docs/tutorials/attention_tutorial.md
  (Read this only for STYLE — do NOT score the draft against the reference's content topic.)

## Return JSON with these 10 checks

1. formula_correctness — Independently re-derive each $$ display formula. Flag any error with file:line.
2. code_correctness — For each python block: would it run? Does it implement the stated math? Imports / shapes / device handling consistent?
3. interview_answer_correctness — Each L1/L2/L3 question's <details> answer. Specifically flag wrong year / wrong paper / wrong author / off-by-one indexing / inverted comparison.
4. historical_citations — Paper authors + year + venue. Flag wrong attributions (e.g., "DPO: Rafailov 2023 NeurIPS" must be checkable).
5. table_pipe_escape — Any markdown table cell containing `|x|` math (not `\lvert x \rvert`)? Cite line.
6. callout_list_collision — Any line matching the pattern `^> (?:💡|⚠️|✅|❌) \*\*[^*]+\*\* — (?:- |\d+\. )`? That swallows the list.
7. heading_consistency — All `## §N` and `### N.M` follow style guide (space after §N, no glued chars).
8. section_completeness — Sections §0..§10 (and §A if effort=max) present and non-trivial.
9. length_target — Within ±20% of target (600 for balanced, 1000 for max).
10. personal_info_leak — None of: the owner's institution / lab / center names, degree-program affiliations, private server aliases, job-search or recruitment context, absolute `/Users/...` paths. (Keep the concrete string banlist in local untracked notes — the public SKILL defines only the CATEGORIES; listing the real values here would itself be the leak.)

Return JSON:
{
  "verdict": "PASS | WARN | FAIL",
  "checks": {<check_name>: "pass|warn|fail with one-line note + file:line if applicable"},
  "blocking_issues": ["..."],
  "warnings": ["..."]
}

Verdict: PASS = all pass, WARN = at most cosmetic issues (length slight off / cosmetic style), FAIL = any math/code/factual error OR personal-info leak OR table-pipe / callout-list bug.
Step 4 — 修正して繰り返す(上限なし — 進捗を見て判断)

FAIL項目ごとにMDを編集します。その後、新規スレッド(threadIdは再利用しない)でcodexを再度呼び出します。判定がPASS、またはFAIL項目なしのWARNになるまで続けます。

ラウンド数に上限はありません。 代わりに、以下を目安にしてください。

  • ✅ 続行する:各ラウンドのFAIL項目が減少していて、具体的かつ列挙可能な場合(例:引用年の修正、1つずれた値、1行のコードのバグ)。レビュアーが有効に機能しているため、収束するまで続けてください。
  • ⛔ 中断して報告する:同じ問題が繰り返し発生する(ループを検出した)場合、FAIL項目がユーザーの判断を要する構成や範囲の問題に移った場合、または収束しないままラウンド数が約6回を超えた場合。

ほとんどのチュートリアルは3~5ラウンドで収束します。実質的なバグがまだ見つかっているなら、5~6ラウンドまで進めても問題ありません。Video Generationチュートリアル(2026年5月)では5ラウンドまで進め、最後の2ラウンドで実際の引用ミスと、Soraのパッチサイズに関する過剰な帰属が見つかりました。これらは、そのまま公開されていた可能性があります。

Step 5 — /render-htmlでレンダリングする

直接呼び出してください(サブスキルとして/render-htmlを呼び出さず、そのPythonスクリプトを実行してください。これにより明確に制御できます)。

python3 skills/render-html/scripts/render_html.py docs/tutorials/<slug>_tutorial.md \
  --template academic \
  --out docs/tutorials/<slug>_tutorial.html \
  --title "<Topic> 面试 Cheat Sheet" \
  --subtitle "<one-line scope summary>" \
  --eyebrow "Interview Prep · <Topic>" \
  --author "<byline>" \
  --lang zh-CN

render_html.pyは独自の13項目のcodexレビューを自動で実行します。そこでFAILになった場合は、MDを修正して再レンダリングしてください(数式/コードレビュアーが見落とした、表のパイプ文字やコールアウトリストの問題が原因であることがよくあります)。なお、render_html.py自体が、レンダリング段階の監査用に<slug>_tutorial.review.jsonを書き込みます。

Step 6 — 監査履歴を統合する

両方のレビューが合格したら、数式/コードレビュー履歴とレンダリングレビュ��ー履歴を、docs/tutorials/<slug>_tutorial.review.jsonに統合します。

{
  "skill": "interview-cheatsheet",
  "source": "docs/tutorials/<slug>_tutorial.md",
  "source_sha256_prefix": "<16-char prefix>",
  "output": "docs/tutorials/<slug>_tutorial.html",
  "topic": "<TOPIC>",
  "effort": "balanced | max",
  "byline": "<author string>",
  "math_code_review": {
    "verdict": "PASS",
    "rounds": [
      {"run": 1, "verdict": "...", "thread_id": "...", "issue": "...", "fix": "..."},
      ...
    ]
  },
  "render_review": {
    "verdict": "PASS",
    "rounds": [...]
  },
  "summary": "<one-line: N-round math/code review + M-round render review settled at PASS>",
  "rendered_at": "<YYYY-MM-DD>"
}
Step 7 — 停止してユーザーに報告する

git add/git commit/git pushは実行しないでください。 次の内容を報告します。

✅ /interview-cheatsheet "<TOPIC>" complete.

  Files:
    docs/tutorials/<slug>_tutorial.md          (<lines> lines, <bytes> bytes)
    docs/tutorials/<slug>_tutorial.html        (<bytes> bytes, <TOC> TOC entries)
    docs/tutorials/<slug>_tutorial.review.json

  Math/code review:  PASS after <N> rounds (<thread IDs>)
  Render review:     PASS after <M> rounds
  Length:            <actual> lines (target <effort>)

  Issues caught + fixed during review:
    - <one line per non-trivial fix>

  Suggested commit message:
    docs(tutorials): add <Topic> cheat sheet (rendered via /render-html)

  ⚠️ Did NOT auto-commit — user reviews and pushes manually.
  Also update docs/tutorials/README.md to add the new row.

インデックスを更新する

チュートリアルが合格した後、必要に応じてdocs/tutorials/README.mdに行を追加します。

| **<Topic> 面试 Cheat Sheet** | [`<slug>_tutorial.md`](<slug>_tutorial.md) | [`<slug>_tutorial.html`](https://wanshuiyin.github.io/Auto-claude-code-research-in-sleep/tutorials/<slug>_tutorial.html) | <one-line topic list> |

行の追加をユーザーに提案します。ただし、内容を整理したい場合はユーザー自身が編集できるようにしてください。

主要な不変条件(組み込まれたARISルール)

不変条件適用方法
実行者とレビュアーは異なるモデルファミリーにするClaudeが下書きを作成し、gpt-6-astraがレビューする(数式/コード段階)。さらにgpt-6-astraが再度レビューする(レンダリング段階)
レビュアーの呼び出しごとに新規スレッドを使うStep 3とレンダリング段階のゲートでは、どちらもcodex-replyではなくmcp__codex__codexを使う
Codexの推論レベルはxhighStep 3のレビュアー設定で固定
個人情報のマスキング数式/コードレビュアーとレンダリングレビュアーの両方が確認する。禁止リストはスタイルガイドに記載
学びを反映する表のパイプ文字とコールアウトリストの衝突に関するルールを、スタイルガイドとレビュー項目5・6の両方に記載
失敗を見逃さないレビューがFAILになり、FAIL項目が減少しなくなった(ループ)場合、または収束しないまま約6ラウンドに達した場合は、中断して報告します。プッシュはしません

使用しない場合

  • トピックが広すぎる場合 — まず範囲を小さく分割してください
  • ML/LLMの中核から外れたトピックの場合 — このスタイルガイドは数式+コード+中国語を前提としています。一般的なトピックには別の形式を使うか、直接執筆してください
  • 編集したい下書きがすでにある場合 — Editを直接使ってください。このスキルは新規作成向けです
  • HTML出力が不要な場合 — /render-htmlを別途呼び出すか、Step 5を省略してください

参考用の呼び出し

/interview-cheatsheet "RLHF / DPO / PPO"
/interview-cheatsheet "MoE (Mixture-of-Experts)" — effort: max
/interview-cheatsheet "KV Cache + Speculative Decoding"
/interview-cheatsheet "Long-context: RoPE / YaRN / NTK / MLA"
/interview-cheatsheet "Distributed Training (DDP / FSDP / ZeRO / TP / PP)"
/interview-cheatsheet "Quantization (GPTQ / AWQ / INT4 / FP8 / SmoothQuant)"

参考用のスタイルファイル

  • 正式なスタイル:docs/tutorials/attention_tutorial.md + .html
  • 参考スタイル:docs/tutorials/flow_matching_tutorial.md + .html
  • レビュー監査形式:docs/tutorials/attention_tutorial.review.json

出典

2つのパイロットチュートリアル(Attention + Flow Matching、2026年5月)から抽出しました。どちらも複数モデルによるレビューに合格しました。Attentionチュートリアルでは3回のレビューを要し、レンダリング結果からは明らかでなかったテーブルのパイプ記号の衝突と、コールアウトリストの衝突が見つかりました。これらの教訓は現在、スタイルガイドとレビューチェック5・6に反映されており、今後のチュートリアルで同じ問題が繰り返されないようにしています。

コメント