AI-Nativeシリーズ・07
面接勉強はやめて、コンパイルしよう
1分でわかる要点
職務記述書はソースコードだ。パースし、根拠づけし、リンクする——実際に作ったものと突き合わせるのだ。そしてリンカのエラーに準備計画を書かせる。面接をコンパイルする手法を、用語ごとに解説する。
職務記述書はソースコードだ。パースし、根拠づけし、リンクする——実際に作ったものと突き合わせるのだ。そしてリンカのエラーに準備計画を書かせる。約8分。
最初の履歴書は、裏付けのない主張の美しい山だった
1482年、30歳の求職者がミラノ公に手紙を書いた。現存する最古の履歴書とされるその書簡は、番号付きの主張が十個並んでいた:I can dry up the water of the moats. I can build unbreakable bridges. I can make cannon.(訳:私は堀の水を干上がらせることができる。壊れない橋を作ることができる。大砲を作ることができる。)そして、今日彼がむしろ有名になっている絵画は、十番目の項目だった。
その手紙を書いた時点で、実際にLeonardo da Vinciが干上がらせた堀の数は、おおよそゼロだ。史上最初の履歴書は、すでに履歴書というものがやることをやっていた——証拠なしに能力を投影することだ。結局彼の名を成したのは、その手紙ではなかった。ノートだった。七千ページに及ぶ図面、測定、実験の記録である。手紙は主張し、ノートは示した.
五百四十四年経った今も、面接対策の大半は手紙書きのままだ——フレームワークのドキュメントを詰め込み、用語集を暗記し、自分についての形容詞を練習する。私が提案したいのは、2026年版にアップデートされたノート方式だ——それは求人票そのものを、あなたが実行する.
メンタルモデル:求人票はソースコードである
12歳の子供にも分かるくらいシンプルな、この方法の全体像を示そう。
求人票はレシピだ。料理本を丸暗記するのではなく、レシピを読み、パントリー(食材庫)を確認し、足りないものだけを買いに行けばいい。
そして、これがエンジニアリングの帽子をかぶった同じ方法だ——実際に私が実行しているバージョンである(このページ冒頭のアニメーションがそれだ)。
- パースする。 求人票は散文の形をしているが、その中に仕様がエンコードされている。その役職が実際に求めているもの——コンピテンシー・クラスター、名指しされたツール、シニアリティ(経験レベル)——を抽出する。
- グラウンディングする。 抽出された概念のひとつひとつが、キーワードの雰囲気ではなく、実在する定義を持った本物であることを確認する。
- リンクする。 各要件を、あなたが実際に築いてきたもの——公開リポジトリ、稼働中のデモ、コミット履歴のあるもの——に対して解決する。
- エラーを読む。 リンクに失敗したものこそが、あなたの準備計画だ。「全部勉強する」ではなく、欠けているピースだけを正確に作ればいい。
四つの動詞。その魔法は、そのすべてが実行可能だという点にある——これはヘルメットをかぶった比喩ではない。というわけで、実際に手を動かした過程をお見せする番だ。
用語ごとに:キッチンは本物の機械にマッピングされる
動くコードにマッピングできないメンタルモデルは、単なる装飾にすぎない。というわけで、ここに用語ごとのマッピングを示す——各行は、今すぐクローンして実行できるオープンソースのパイプラインとして実装されている。
「レシピを読む」=決定論的パース。 コンパイラは、求人票を精選されたコンピテンシー分類法に照らしてスコアリングする——エージェント型システム設計 と モダンAIスタックに加え、名前付きツールのライブラリも使う。マッチングは単語境界で行われるため、「rust」が「trust」の中で誤発火することはない。決定論的かつオフライン:同じJDを入れれば同じプロファイルが出る。LLMの気分は一切関与しない。
「食材が本物か確認する」=検索によるグラウンディング。 抽出された各コンセプトは、その後オープンなソースに照らしてグラウンディングされる——定義と関係性についてはWikipediaとWikidata、スキルについてはESCO(EUのオープンスキル・タクソノミー)を使う。生成されるナレッジグラフの各ノードには、契約によって強制される実際の定義と出典URLが付く。http(s)の出典がなければ、フルノードにはならない。用語をリトリーバルで解決できない場合、そのノードは薄く、フラグ付きの状態で出荷される——決して捏造はしない。出典まで辿れないノードで構成されたナレッジグラフなど、自信満々なクリップアートに過ぎない。
「パントリーを確認する」=レシートに基づくリンク。 次に、リンカがライブラリに対してシンボルを解決するのと同じように、要求された各コンピテンシーを自分の公開された仕事と照らして解決していく。評価ハーネスは?precision@kでリトリーバルをスコアリングし、CIをゲートするリポジトリに解決される。ガードレールは?サインオフ・チェックリスト付きのセキュリティ・フレームワークに解決される。ツール統合は?MCPサーバーの棚に解決される。それぞれの解決結果はクリック可能なレシートであり、形容詞ではない。
「買い物リストを書く」=ギャップレポート。 未解決のまま残ったものこそが——正確に、証明可能な形で——準備すべきことだ。シラバスではない。買い物リストだ。
三つの望遠鏡:30日、30年、300年
「鋭さ」とは、準備時間を賭ける前に、三段階のズームレベルで主張を確認することを意味する。そこで私はこの手法に三つの望遠鏡を向けてみた——今熱いか、生き残ったか、太古からの法則か。
30日望遠鏡(今熱いか?) エージェント型AIの求人は前年比で280%増加した——米国だけでおよそ9万件のリスティングだ——一方、従来型のエントリーレベル技術職の採用は縮小した。求人の34.3%がLangChainを名指ししており、今やそれはベースラインの前提だ。加えて調査対象チームの57.3%がすでに本番環境でエージェントを運用している。つまり、JDは記述可能でパース可能な仕様へと収束しつつあるということだ。コンパイラにとっては朗報である。
30年望遠鏡(生き残ったか?)。 1998年の選抜メタ分析では、ワークサンプルが職務遂行能力の最も強力な予測因子の一つであることが判明した——それ以来、あらゆるリプリケーション戦争を生き延びている。応募者追跡システムは1990年代から履歴書をキーワードにパースしてきた。30年間、ロボットはあなたをコンパイルし、二値判定で落としてきたわけだ。(失礼な話だ。)この方法は単にコンパイラを逆方向に走らせるだけ——今度はあなたが彼らをコンパイルする。そしてナレッジグラフ——「文字列ではなくモノ(things, not strings)」、2012年——はハイプサイクルを生き延びて、退屈なインフラになった。これは機械が獲得できる最高の賛辞だ。
300年望遠鏡(古来の法則か?)。 履歴書が生まれる何世紀も前から、ギルドは一つの規則で採用を行っていた。職人(journeyman)がマスターになるには、マスターピース(masterpiece)を一つ作り上げ、騙されようのない人々にそれを判定させる必要があった——一つの作品、騙されない審査員による判定。履歴書(1482年、前述参照)はより新しく、より劣った発明だ。審査員なしの主張にすぎない。あらゆる世紀、あらゆる職種で生き残るパターンは同じである。作品は書状より長く生き残る。
三つの望遠鏡、結論は一つ。形容詞ではなく作品を持ってこい。
最良の準備成果はエラーメッセージである
実際の求人でこの方法を走らせたときに何が起きたか——シニアの「エージェント型AIエンジニア」職で、30日望遠鏡が増殖中だと告げているタイプの求人だ。コンパイルパスは褒め言葉のような結果を出した。七つのコンピテンシークラスターのうち六つが求められ、シンボルの大半はパブリックリポジトリ——オーケストレーションループ、評価ハーネス、エージェントセキュリティフレームワーク、MCPツール群——に対してきれいに解決された。
そしてリンカーが語り出した。
$ jd-compile agentic-ai-engineer.md --link ~/repos
resolved: orchestration ✓ evals ✓ guardrails ✓ mcp-tools ✓
ld: undefined symbol — langgraph
JDには「特にLangGraph」と書かれていた。二回もだ。そして私のポートフォリオにはLangGraphのコードが一つもなかった——私が持っているオーケストレーションの証拠はすべて自作のエンジンだからだ。私はフレームワークが抽象化しているその仕組みを、自分の手で作っていたのだ。これは印象的に聞こえるが、実は自作の車で運転免許試験に来て、免許証がないのと同じことだと気づくまでの話だ。学びは確かに大きかった!それでも免許はない。
これこそ、詰め込み学習なら一週間を無駄にしていた瞬間だ。ギャップレポートが代わりに指示したのは二つの動きだった。
- 自分の言葉に翻訳せよ、ごまかすな。 フレームワークのプリミティブはどれも、私が苦労して既に作り上げたものに対応している——ステートグラフはスコアを保持するループに、チェックポインターは保存・再開可能なメモリに、ヒューマン・イン・ザ・ループの割り込みはハードストップの承認ゲートに対応する。それぞれのプリミティブがなぜ存在するのかを知っていることこそ、シニアレベルの会話だ。チェックポインターが存在する理由は、ノードにウォールクロックタイムを漏れさせた瞬間に再開可能性が死ぬからだ。私はそれを苦労して学んだので、面接でそう言える。
- 足りないオブジェクトファイルを、自分で書け。 実際のフレームワーク内の小さな作品一つ——四つのノード、チェックポインター、一本のリトライエッジ、一つのヒューマンゲート——を半日でパブリックに公開した。「使ったことはありますか?」への答えは、「はい、これがそのリポジトリです。そして私自身のエンジンはこれができない部分もこうやってやります」に変わる。
エラーメッセージひとつ。午後ひとつ分の時間。exit 0.
SMARTにする、そして複利で効かせる
このループは、無理なくこの頭字語通りのものになる。
- Specific(具体的) ——ギャップひとつにアーティファクトひとつ、あらかじめ名前をつけておく(「チェックポインターを備えた4ノードのステートフル・ワークフロー」など)。「エージェントについてもっと詳しくなる」ではダメだ。
- Measurable(測定可能) ——コンパイルを再実行する。シンボルは解決するか、解決しないか。それだけだ。「なんとなく良い感じ」は証拠として認めない。
- Achievable(達成可能) ——半日で終わる規模感。ギャップの解消に1か月かかるなら、それは面接対策ではなくキャリアの決断であり、レポートはそれを早期に見える形にしてくれただけだ。これもまた有用である。
- Relevant(関連性) ——どのアーティファクトも、面接の場でそのまま引用できるJDの一文に紐づいている。
- Time-boxed(時間制限) ——面接前に完了させる。なぜなら面接こそが、コンパイラが動かせない締め切りだからだ。
そして、ここが詰め込み学習に永遠に勝る部分だ。このループは複利で効いてくる。 JD第1号のために出荷したアーティファクトは、JD第2号がコンパイルされる時点ですでにライブラリの中にある。ポスティングをひとつ回すごとに、ギャップレポートは短くなっていく。詰め込み学習は面接のたびにゼロへリセットされるが、コンパイルは積み重なっていく。これは学習テクニックではない——自己増殖する資産なのだ。
自分の手で実行してみよう(すべて公開されている)
パイプライン全体はオープンソースだ——決定論的なコアで、APIキーは不要、コンパイル工程にLLMも不要。
git clone https://github.com/wjlgatech/FDE-os
cd FDE-os
# 1. drop any job posting into course/target-jds/ as markdown
# 2. compile it → competency profile
python3 skills/jd-compiler/scripts/jd_compile.py compile course/target-jds/your-jd.md
# 3. deepen it → grounded knowledge graph + skills (Wikipedia/Wikidata/ESCO)
python3 skills/jd-compiler/scripts/jd_to_deepen.py course/target-jds/your-jd.md \
--title "The Role" --url "https://the-posting-url"
そのあとは、スクリプトには代わりにできない唯一のステップに向き合う。要求される各コンピテンシーを自分自身の公開された実績と照らし合わせ、正直に問うのだ。これはレシートに解決するのか——それとも単なる形容詞なのか? 形容詞にしかならないものは、すべて書き出しておく。時間を区切ってそのリストを実際に作り込むこと——それが、あなたにとって過去最高の面接対策になる。
覚えておくべき、たった一行
Leonardo needed seven thousand notebook pages to back up ten claims. You need a lot less — because now the notebook checks itself against the job.(訳:Leonardoは10個の主張を裏付けるために7000ページのノートを必要とした。あなたに必要なのはもっと少ない——なぜなら今では、ノート自体が仕事に対して自らを検証してくれるからだ。)
料理本を丸ごと勉強するな。レシピをコンパイルし、自分の食材庫とリンクし、足りないものだけを正確に作れ。
AI-Native シリーズの続き
そのすべてはWritingセクション(ホームページ内)にある。
AI-Native シリーズの一部。jd-compiler とその周辺のすべては github.com/wjlgatech/FDE-os で公開されている——Publish ボタンはあなたのものだ。出典:Leonardo's letter (Wikipedia)(訳:レオナルドの手紙〈Wikipedia〉) ・Stanford 2026 AI Index の求人データ(出典:JobsByCulture)JobsByCulture · LangChain State of Agent Engineering ・Schmidt & Hunter (1998)。