Paul Jialiang Wu agentic-portfolio English 中文 Español 한국어✉️ 無料リスト
← ポートフォリオへ戻る

AI-Nativeシリーズ・07

面接勉強はやめて、コンパイルしよう

1分でわかる要点

職務記述書はソースコードだ。パースし、根拠づけし、リンクする——実際に作ったものと突き合わせるのだ。そしてリンカのエラーに準備計画を書かせる。面接をコンパイルする手法を、用語ごとに解説する。

職務記述書はソースコードだ。パースし、根拠づけし、リンクする——実際に作ったものと突き合わせるのだ。そしてリンカのエラーに準備計画を書かせる。約8分。

The pipeline: job post → compile into a grounded graph → link against your repos → gap report: undefined symbol langgraph → build it in half a day
手法全体を一つのループにまとめるとこうなる:パース → 根拠づけ → リンク → エラーに計画を書かせる。(アニメーションになっているので、少し待ってほしい。)

最初の履歴書は、裏付けのない主張の美しい山だった

1482年、30歳の求職者がミラノ公に手紙を書いた。現存する最古の履歴書とされるその書簡は、番号付きの主張が十個並んでいた:I can dry up the water of the moats. I can build unbreakable bridges. I can make cannon.(訳:私は堀の水を干上がらせることができる。壊れない橋を作ることができる。大砲を作ることができる。)そして、今日彼がむしろ有名になっている絵画は、十番目の項目だった。

その手紙を書いた時点で、実際にLeonardo da Vinciが干上がらせた堀の数は、おおよそゼロだ。史上最初の履歴書は、すでに履歴書というものがやることをやっていた——証拠なしに能力を投影することだ。結局彼の名を成したのは、その手紙ではなかった。ノートだった。七千ページに及ぶ図面、測定、実験の記録である。手紙は主張し、ノートは示した.

Leonardo's 1482 letter (claims, stamped CLAIMED) versus his notebooks (receipts, stamped OBSERVED)
1482年:手紙にはこう書かれている——"I can dry up the moats."(訳:私は堀の水を涸らすことができる)だが、五世紀後の私たちが彼を信じた理由はノートの方だ。

五百四十四年経った今も、面接対策の大半は手紙書きのままだ——フレームワークのドキュメントを詰め込み、用語集を暗記し、自分についての形容詞を練習する。私が提案したいのは、2026年版にアップデートされたノート方式だ——それは求人票そのものを、あなたが実行する.

メンタルモデル:求人票はソースコードである

12歳の子供にも分かるくらいシンプルな、この方法の全体像を示そう。

求人票はレシピだ。料理本を丸暗記するのではなく、レシピを読み、パントリー(食材庫)を確認し、足りないものだけを買いに行けばいい。

そして、これがエンジニアリングの帽子をかぶった同じ方法だ——実際に私が実行しているバージョンである(このページ冒頭のアニメーションがそれだ)。

四つの動詞。その魔法は、そのすべてが実行可能だという点にある——これはヘルメットをかぶった比喩ではない。というわけで、実際に手を動かした過程をお見せする番だ。

用語ごとに:キッチンは本物の機械にマッピングされる

動くコードにマッピングできないメンタルモデルは、単なる装飾にすぎない。というわけで、ここに用語ごとのマッピングを示す——各行は、今すぐクローンして実行できるオープンソースのパイプラインとして実装されている。

Term-by-term mapping: read the recipe → deterministic parse; check ingredients are real → retrieval grounding with provenance URLs; check the pantry → link against public repos; write the shopping list → gap report and SMART artifact
左の列は12歳の子供向け。右の列はコードレビュー向け。アイデアは同じで、手振りは一切ない。

「レシピを読む」=決定論的パース。 コンパイラは、求人票を精選されたコンピテンシー分類法に照らしてスコアリングする——エージェント型システム設計モダンAIスタックに加え、名前付きツールのライブラリも使う。マッチングは単語境界で行われるため、「rust」が「trust」の中で誤発火することはない。決定論的かつオフライン:同じJDを入れれば同じプロファイルが出る。LLMの気分は一切関与しない。

「食材が本物か確認する」=検索によるグラウンディング。 抽出された各コンセプトは、その後オープンなソースに照らしてグラウンディングされる——定義と関係性についてはWikipediaとWikidata、スキルについてはESCO(EUのオープンスキル・タクソノミー)を使う。生成されるナレッジグラフの各ノードには、契約によって強制される実際の定義と出典URLが付く。http(s)の出典がなければ、フルノードにはならない。用語をリトリーバルで解決できない場合、そのノードは薄く、フラグ付きの状態で出荷される——決して捏造はしない。出典まで辿れないノードで構成されたナレッジグラフなど、自信満々なクリップアートに過ぎない。

「パントリーを確認する」=レシートに基づくリンク。 次に、リンカがライブラリに対してシンボルを解決するのと同じように、要求された各コンピテンシーを自分の公開された仕事と照らして解決していく。評価ハーネスは?precision@kでリトリーバルをスコアリングし、CIをゲートするリポジトリに解決される。ガードレールは?サインオフ・チェックリスト付きのセキュリティ・フレームワークに解決される。ツール統合は?MCPサーバーの棚に解決される。それぞれの解決結果はクリック可能なレシートであり、形容詞ではない。

「買い物リストを書く」=ギャップレポート。 未解決のまま残ったものこそが——正確に、証明可能な形で——準備すべきことだ。シラバスではない。買い物リストだ。

三つの望遠鏡:30日、30年、300年

「鋭さ」とは、準備時間を賭ける前に、三段階のズームレベルで主張を確認することを意味する。そこで私はこの手法に三つの望遠鏡を向けてみた——今熱いか、生き残ったか、太古からの法則か。

Three panels: last 30 days (280% posting growth, 34.3% name LangChain, 57.3% agents in production), last 30 years (work samples beat credentials, ATS parsers, knowledge graphs), last 300 years (the guild masterpiece vs the résumé)
直近のシグナル、生存のシグナル、文明レベルのシグナル——三つとも同じ方向を指している。

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ツール群——に対してきれいに解決された。

そしてリンカーが語り出した。

A light terminal: jd-compile resolves most symbols against public repos, then reports undefined symbol: langgraph — the fix is one small shippable artifact, exit 0
六クラスターが解決、未定義シンボルが一つ。この一行だけで、集中を欠いた勉強を一週間続けるより価値がある。
$ jd-compile agentic-ai-engineer.md --link ~/repos
resolved: orchestration ✓  evals ✓  guardrails ✓  mcp-tools ✓
ld: undefined symbol — langgraph

JDには「特にLangGraph」と書かれていた。二回もだ。そして私のポートフォリオにはLangGraphのコードが一つもなかった——私が持っているオーケストレーションの証拠はすべて自作のエンジンだからだ。私はフレームワークが抽象化しているその仕組みを、自分の手で作っていたのだ。これは印象的に聞こえるが、実は自作の車で運転免許試験に来て、免許証がないのと同じことだと気づくまでの話だ。学びは確かに大きかった!それでも免許はない。

これこそ、詰め込み学習なら一週間を無駄にしていた瞬間だ。ギャップレポートが代わりに指示したのは二つの動きだった。

エラーメッセージひとつ。午後ひとつ分の時間。exit 0.

SMARTにする、そして複利で効かせる

このループは、無理なくこの頭字語通りのものになる。

A rotating loop of five nodes — Specific, Measurable, Achievable, Relevant, Time-boxed — around the cycle compile → gap → artifact → recompile; side note: cramming resets, compiling accrues
Specific(具体的)・Measurable(測定可能)・Achievable(達成可能)・Relevant(関連性)・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)。