Tech-tag co-occurrence

Every AI role gets tagged from a 35-term controlled vocabulary spanning agent / eval / training / inference / modality clusters. Tags that frequently appear together in the same JD pull each other close; thicker edges = more co-occurrences. The clusters that emerge organically are the real sub-disciplines of applied AI engineering right now.

All sectors · 4742Enterprise · 1275AI Frontier · 868Industrial · 650Data AI · 526Consumer · 337Banking · 239Fintech · 220Robotics · 127Defense · 115Pharma · 101Media · 73Retail · 62Hospitality · 62Telecom · 27Seattle · 27Aerospace · 14Insurance · 12Healthtech · 7

Showing 868 tagged AI roles in AI Frontier. Layout is a Fruchterman-Reingold force simulation, run server-side to convergence.

frontier_research ↔ pretraining (27 JDs)agent_research ↔ frontier_research (26 JDs)frontier_research ↔ multimodal (16 JDs)audio_speech ↔ frontier_research (8 JDs)code_gen ↔ frontier_research (7 JDs)evals ↔ frontier_research (30 JDs)fine_tuning ↔ frontier_research (18 JDs)frontier_research ↔ model_serving (29 JDs)agent_research ↔ pretraining (5 JDs)multimodal ↔ pretraining (14 JDs)audio_speech ↔ pretraining (9 JDs)code_gen ↔ pretraining (3 JDs)evals ↔ pretraining (9 JDs)fine_tuning ↔ pretraining (19 JDs)model_serving ↔ pretraining (31 JDs)agent_research ↔ multimodal (8 JDs)agent_research ↔ audio_speech (6 JDs)agent_research ↔ code_gen (8 JDs)agent_research ↔ evals (52 JDs)agent_research ↔ fine_tuning (19 JDs)agent_research ↔ model_serving (24 JDs)audio_speech ↔ multimodal (19 JDs)code_gen ↔ multimodal (5 JDs)evals ↔ multimodal (25 JDs)fine_tuning ↔ multimodal (20 JDs)model_serving ↔ multimodal (41 JDs)audio_speech ↔ code_gen (4 JDs)audio_speech ↔ evals (16 JDs)audio_speech ↔ fine_tuning (40 JDs)audio_speech ↔ model_serving (28 JDs)code_gen ↔ evals (9 JDs)code_gen ↔ fine_tuning (4 JDs)code_gen ↔ model_serving (6 JDs)evals ↔ fine_tuning (90 JDs)evals ↔ model_serving (146 JDs)fine_tuning ↔ model_serving (112 JDs)evals ↔ guardrails (85 JDs)evals ↔ llm_observability (166 JDs)guardrails ↔ llm_observability (78 JDs)inference_infra ↔ model_serving (202 JDs)agent_orchestration ↔ inference_infra (59 JDs)inference_infra ↔ llm_observability (61 JDs)agent_orchestration ↔ model_serving (172 JDs)llm_observability ↔ model_serving (156 JDs)agent_orchestration ↔ llm_observability (154 JDs)agent_orchestration ↔ evals (160 JDs)evals ↔ tool_use (46 JDs)evals ↔ rl_post_training (67 JDs)agent_orchestration ↔ guardrails (52 JDs)guardrails ↔ tool_use (19 JDs)fine_tuning ↔ guardrails (21 JDs)guardrails ↔ rl_post_training (23 JDs)llm_observability ↔ tool_use (45 JDs)fine_tuning ↔ llm_observability (60 JDs)llm_observability ↔ rl_post_training (31 JDs)agent_orchestration ↔ tool_use (88 JDs)agent_orchestration ↔ fine_tuning (76 JDs)agent_orchestration ↔ rl_post_training (24 JDs)fine_tuning ↔ tool_use (12 JDs)rl_post_training ↔ tool_use (11 JDs)fine_tuning ↔ rl_post_training (60 JDs)rl_post_training ↔ synthetic_data (24 JDs)evals ↔ synthetic_data (15 JDs)frontier_research ↔ synthetic_data (4 JDs)interpretability ↔ synthetic_data (2 JDs)frontier_research ↔ rl_post_training (26 JDs)interpretability ↔ rl_post_training (11 JDs)evals ↔ interpretability (18 JDs)frontier_research ↔ interpretability (9 JDs)code_gen ↔ llm_observability (4 JDs)llm_observability ↔ multimodal (12 JDs)agent_orchestration ↔ code_gen (12 JDs)agent_orchestration ↔ multimodal (18 JDs)agent_orchestration ↔ rag (131 JDs)agent_orchestration ↔ vector_db (33 JDs)agent_orchestration ↔ audio_speech (11 JDs)rag ↔ tool_use (29 JDs)tool_use ↔ vector_db (7 JDs)multimodal ↔ tool_use (8 JDs)audio_speech ↔ tool_use (4 JDs)code_gen ↔ tool_use (7 JDs)rag ↔ vector_db (38 JDs)llm_observability ↔ rag (76 JDs)multimodal ↔ rag (8 JDs)audio_speech ↔ rag (7 JDs)llm_observability ↔ vector_db (19 JDs)multimodal ↔ vector_db (2 JDs)audio_speech ↔ llm_observability (6 JDs)model_serving ↔ rl_post_training (28 JDs)rl_post_training ↔ rlhf (2 JDs)reward_modeling ↔ rl_post_training (8 JDs)fine_tuning ↔ rlhf (5 JDs)fine_tuning ↔ reward_modeling (4 JDs)agent_research ↔ guardrails (24 JDs)frontier_research ↔ guardrails (11 JDs)interpretability ↔ llm_observability (8 JDs)guardrails ↔ interpretability (14 JDs)agent_orchestration ↔ pretraining (5 JDs)pretraining ↔ rag (3 JDs)pretraining ↔ vision (3 JDs)fine_tuning ↔ rag (60 JDs)fine_tuning ↔ vision (9 JDs)model_serving ↔ rag (102 JDs)model_serving ↔ vision (11 JDs)agent_orchestration ↔ vision (6 JDs)rag ↔ vision (4 JDs)multimodal ↔ vision (11 JDs)audio_speech ↔ vision (6 JDs)inference_infra ↔ pretraining (14 JDs)fine_tuning ↔ inference_infra (30 JDs)inference_infra ↔ rag (26 JDs)inference_infra ↔ multimodal (23 JDs)inference_infra ↔ vision (9 JDs)audio_speech ↔ inference_infra (14 JDs)agent_orchestration ↔ multi_agent (2 JDs)llm_observability ↔ multi_agent (2 JDs)audio_speech ↔ rl_post_training (19 JDs)model_serving ↔ tool_use (32 JDs)evals ↔ inference_infra (31 JDs)inference_infra ↔ tool_use (10 JDs)frontier_research ↔ inference_infra (15 JDs)evals ↔ vision (5 JDs)tool_use ↔ vision (3 JDs)frontier_research ↔ vision (2 JDs)agent_orchestration ↔ frontier_research (11 JDs)frontier_research ↔ tool_use (5 JDs)guardrails ↔ inference_infra (11 JDs)guardrails ↔ model_serving (27 JDs)evals ↔ rag (69 JDs)model_serving ↔ vector_db (28 JDs)inference_infra ↔ vector_db (12 JDs)agent_orchestration ↔ agent_research (36 JDs)agent_research ↔ tool_use (11 JDs)agent_research ↔ rl_post_training (23 JDs)multimodal ↔ rl_post_training (12 JDs)pretraining ↔ rl_post_training (4 JDs)frontier_research ↔ llm_observability (11 JDs)agent_research ↔ llm_observability (27 JDs)guardrails ↔ rag (5 JDs)rlhf ↔ synthetic_data (3 JDs)multimodal ↔ synthetic_data (6 JDs)llm_observability ↔ pretraining (2 JDs)rl_post_training ↔ vision (2 JDs)llm_observability ↔ vision (3 JDs)recommender_systems ↔ search_ranking (15 JDs)rag ↔ recommender_systems (7 JDs)fine_tuning ↔ recommender_systems (5 JDs)model_serving ↔ recommender_systems (9 JDs)rag ↔ search_ranking (12 JDs)fine_tuning ↔ search_ranking (8 JDs)model_serving ↔ search_ranking (11 JDs)inference_infra ↔ quantization (5 JDs)model_serving ↔ quantization (5 JDs)evals ↔ vector_db (7 JDs)agent_research ↔ rag (11 JDs)inference_infra ↔ rl_post_training (11 JDs)inference_infra ↔ recommender_systems (3 JDs)recommender_systems ↔ vector_db (3 JDs)inference_infra ↔ search_ranking (3 JDs)search_ranking ↔ vector_db (5 JDs)fine_tuning ↔ vector_db (13 JDs)evals ↔ reward_modeling (5 JDs)llm_observability ↔ reward_modeling (3 JDs)audio_speech ↔ synthetic_data (32 JDs)fine_tuning ↔ synthetic_data (28 JDs)agent_research ↔ interpretability (6 JDs)evals ↔ rlhf (3 JDs)model_serving ↔ synthetic_data (5 JDs)inference_infra ↔ synthetic_data (5 JDs)model_serving ↔ training_infra (4 JDs)inference_infra ↔ training_infra (4 JDs)agent_orchestration ↔ search_ranking (8 JDs)agent_orchestration ↔ recommender_systems (7 JDs)llm_observability ↔ search_ranking (8 JDs)llm_observability ↔ recommender_systems (6 JDs)rag ↔ rl_post_training (5 JDs)rl_post_training ↔ search_ranking (3 JDs)evals ↔ search_ranking (7 JDs)multimodal ↔ search_ranking (3 JDs)agent_research ↔ synthetic_data (4 JDs)llm_observability ↔ synthetic_data (3 JDs)frontier_research ↔ search_ranking (2 JDs)frontier_research ↔ rag (4 JDs)agent_orchestration ↔ rl_robotics (7 JDs)agent_research ↔ rl_robotics (7 JDs)agent_research ↔ inference_infra (4 JDs)inference_infra ↔ rl_robotics (2 JDs)model_serving ↔ rl_robotics (3 JDs)synthetic_data ↔ vision (4 JDs)agent_orchestration ↔ synthetic_data (6 JDs)embodied_ai ↔ evals (5 JDs)agent_research ↔ embodied_ai (2 JDs)embodied_ai ↔ guardrails (2 JDs)fine_tuning ↔ interpretability (5 JDs)interpretability ↔ model_serving (2 JDs)inference_infra ↔ interpretability (2 JDs)guardrails ↔ vector_db (2 JDs)agent_research ↔ vector_db (2 JDs)embodied_ai ↔ model_serving (5 JDs)evals ↔ recommender_systems (3 JDs)guardrails ↔ multimodal (2 JDs)guardrails ↔ synthetic_data (2 JDs)agent_orchestration ↔ embodied_ai (3 JDs)rl_robotics ↔ tool_use (2 JDs)evals ↔ rl_robotics (8 JDs)guardrails ↔ rl_robotics (4 JDs)embodied_ai ↔ rl_robotics (2 JDs)embodied_ai ↔ inference_infra (2 JDs)code_gen ↔ rl_post_training (5 JDs)code_gen ↔ inference_infra (3 JDs)fine_tuning ↔ rl_robotics (2 JDs)reward_modeling ↔ synthetic_data (3 JDs)rl_post_training ↔ rl_robotics (4 JDs)llm_observability ↔ rl_robotics (2 JDs)frontier_research ↔ rl_robotics (3 JDs)agent_orchestration ↔ interpretability (2 JDs)interpretability ↔ rl_robotics (2 JDs)RL post-training N=111 JDs Top co-occur: Evals ×67 · Fine-tuning ×60 · LLM observability ×31RL post-trainingFrontier research N=72 JDs Top co-occur: Evals ×30 · Model serving ×29 · Pretraining ×27Pretraining N=44 JDs Top co-occur: Model serving ×31 · Frontier research ×27 · Fine-tuning ×19Agent research N=70 JDs Top co-occur: Evals ×52 · Agent orchestration ×36 · LLM observability ×27Multimodal N=65 JDs Top co-occur: Model serving ×41 · Evals ×25 · Inference infra ×23Audio & speech N=76 JDs Top co-occur: Fine-tuning ×40 · Synthetic data ×32 · Model serving ×28Code gen N=33 JDs Top co-occur: Agent orchestration ×12 · Evals ×9 · Agent research ×8Evals N=325 JDs Top co-occur: LLM observability ×166 · Agent orchestration ×160 · Model serving ×146EvalsFine-tuning N=207 JDs Top co-occur: Model serving ×112 · Evals ×90 · Agent orchestration ×76Fine-tuningModel serving N=428 JDs Top co-occur: Inference infra ×202 · Agent orchestration ×172 · LLM observability ×156Model servingGuardrails N=116 JDs Top co-occur: Evals ×85 · LLM observability ×78 · Agent orchestration ×52GuardrailsLLM observability N=300 JDs Top co-occur: Evals ×166 · Model serving ×156 · Agent orchestration ×154LLM observabilityInference infra N=204 JDs Top co-occur: Model serving ×202 · LLM observability ×61 · Agent orchestration ×59Inference infraAgent orchestration N=365 JDs Top co-occur: Model serving ×172 · Evals ×160 · LLM observability ×154Agent orchestrationTool use N=91 JDs Top co-occur: Agent orchestration ×88 · Evals ×46 · LLM observability ×45Synthetic data N=68 JDs Top co-occur: Audio & speech ×32 · Fine-tuning ×28 · RL post-training ×24Interpretability N=28 JDs Top co-occur: Evals ×18 · Guardrails ×14 · RL post-training ×11RAG N=162 JDs Top co-occur: Agent orchestration ×131 · Model serving ×102 · LLM observability ×76RAGVector DB N=42 JDs Top co-occur: RAG ×38 · Agent orchestration ×33 · Model serving ×28RLHF N=9 JDs Top co-occur: Fine-tuning ×5 · Synthetic data ×3 · Evals ×3Reward modeling N=8 JDs Top co-occur: RL post-training ×8 · Evals ×5 · Fine-tuning ×4Vision N=14 JDs Top co-occur: Model serving ×11 · Multimodal ×11 · Fine-tuning ×9Training infra N=8 JDs Top co-occur: Model serving ×4 · Inference infra ×4Multi-agent N=2 JDs Top co-occur: Agent orchestration ×2 · LLM observability ×2Recommender systems N=17 JDs Top co-occur: Search & ranking ×15 · Model serving ×9 · RAG ×7Search & ranking N=21 JDs Top co-occur: Recommender systems ×15 · RAG ×12 · Model serving ×11Quantization N=5 JDs Top co-occur: Inference infra ×5 · Model serving ×5RL robotics N=9 JDs Top co-occur: Evals ×8 · Agent orchestration ×7 · Agent research ×7Embodied AI N=7 JDs Top co-occur: Evals ×5 · Model serving ×5 · Agent orchestration ×3Data pipeline N=1 JDsForecasting N=1 JDs
31 tags · 217 co-occurrence edges · min edge weight 2. Bubble area ∝ JDs containing tag · edge thickness ∝ co-occurrence count. Hover any node for top-3 partners; click to see the JDs.

Tag velocity · last 4 weeks vs prior 4

Which technologies are hot, which are cooling. Sparkline = 12 weeks of unique roles tagged with each term, last bar on the right is this week. Sorted by absolute pickup. Tags with under 10 lifetime mentions are hidden as noise.

Tag12-week trendLast 4wPrior 4wΔTotal
agent_orchestration
11 roles
Feb 23
10 roles
Mar 2
17 roles
9
4 roles
16
15 roles
23
12 roles
30
17 roles
Apr 6
29 roles
13
15 roles
20
35 roles
27
19 roles
May 4
0 roles
11
9848+50365
model_serving
9 roles
Feb 23
15 roles
Mar 2
19 roles
9
9 roles
16
11 roles
23
11 roles
30
26 roles
Apr 6
31 roles
13
25 roles
20
34 roles
27
15 roles
May 4
0 roles
11
10557+48428
llm_observability
4 roles
Feb 23
12 roles
Mar 2
15 roles
9
6 roles
16
13 roles
23
11 roles
30
12 roles
Apr 6
24 roles
13
11 roles
20
22 roles
27
12 roles
May 4
0 roles
11
6942+27300
rag
4 roles
Feb 23
3 roles
Mar 2
4 roles
9
2 roles
16
5 roles
23
6 roles
30
11 roles
Apr 6
12 roles
13
4 roles
20
23 roles
27
11 roles
May 4
0 roles
11
5023+27162
evals
9 roles
Feb 23
11 roles
Mar 2
12 roles
9
7 roles
16
11 roles
23
11 roles
30
12 roles
Apr 6
22 roles
13
15 roles
20
18 roles
27
11 roles
May 4
0 roles
11
6641+25325
inference_infra
3 roles
Feb 23
8 roles
Mar 2
8 roles
9
6 roles
16
4 roles
23
3 roles
30
10 roles
Apr 6
16 roles
13
9 roles
20
15 roles
27
5 roles
May 4
0 roles
11
4523+22204
tool_use
3 roles
Feb 23
0 roles
Mar 2
3 roles
9
0 roles
16
2 roles
23
4 roles
30
4 roles
Apr 6
9 roles
13
7 roles
20
11 roles
27
4 roles
May 4
0 roles
11
3110+2191
agent_research
2 roles
Feb 23
4 roles
Mar 2
4 roles
9
1 role
16
1 role
23
3 roles
30
1 role
Apr 6
6 roles
13
4 roles
20
4 roles
27
1 role
May 4
0 roles
11
156+970
multimodal
1 role
Feb 23
3 roles
Mar 2
3 roles
9
1 role
16
0 roles
23
5 roles
30
3 roles
Apr 6
10 roles
13
1 role
20
6 roles
27
1 role
May 4
0 roles
11
189+965
code_gen
2 roles
Feb 23
0 roles
Mar 2
0 roles
9
0 roles
16
2 roles
23
1 role
30
2 roles
Apr 6
3 roles
13
3 roles
20
5 roles
27
3 roles
May 4
0 roles
11
145+933
vector_db
2 roles
Feb 23
1 role
Mar 2
1 role
9
0 roles
16
1 role
23
2 roles
30
1 role
Apr 6
4 roles
13
1 role
20
6 roles
27
0 roles
May 4
0 roles
11
114+742
frontier_research
1 role
Feb 23
2 roles
Mar 2
1 role
9
0 roles
16
1 role
23
4 roles
30
2 roles
Apr 6
5 roles
13
3 roles
20
3 roles
27
1 role
May 4
0 roles
11
127+572
vision
0 roles
Feb 23
3 roles
Mar 2
1 role
9
0 roles
16
0 roles
23
0 roles
30
2 roles
Apr 6
1 role
13
0 roles
20
2 roles
27
0 roles
May 4
0 roles
11
32+114
rl_post_training
0 roles
Feb 23
2 roles
Mar 2
1 role
9
2 roles
16
3 roles
23
14 roles
30
3 roles
Apr 6
7 roles
13
5 roles
20
8 roles
27
2 roles
May 4
0 roles
11
2222·0111
pretraining
1 role
Feb 23
1 role
Mar 2
0 roles
9
1 role
16
0 roles
23
2 roles
30
4 roles
Apr 6
2 roles
13
1 role
20
3 roles
27
1 role
May 4
0 roles
11
77·044
interpretability
0 roles
Feb 23
1 role
Mar 2
0 roles
9
0 roles
16
0 roles
23
0 roles
30
2 roles
Apr 6
0 roles
13
0 roles
20
2 roles
27
0 roles
May 4
0 roles
11
22·028
search_ranking
0 roles
Feb 23
0 roles
Mar 2
0 roles
9
0 roles
16
1 role
23
1 role
30
2 roles
Apr 6
1 role
13
0 roles
20
3 roles
27
0 roles
May 4
0 roles
11
44·021
guardrails
5 roles
Feb 23
3 roles
Mar 2
6 roles
9
5 roles
16
7 roles
23
5 roles
30
6 roles
Apr 6
8 roles
13
3 roles
20
6 roles
27
5 roles
May 4
0 roles
11
2223-1116
fine_tuning
2 roles
Feb 23
3 roles
Mar 2
5 roles
9
5 roles
16
7 roles
23
25 roles
30
14 roles
Apr 6
9 roles
13
8 roles
20
23 roles
27
8 roles
May 4
0 roles
11
4850-2207
recommender_systems
1 role
Feb 23
0 roles
Mar 2
0 roles
9
0 roles
16
1 role
23
1 role
30
2 roles
Apr 6
1 role
13
0 roles
20
1 role
27
0 roles
May 4
0 roles
11
24-217
synthetic_data
0 roles
Feb 23
3 roles
Mar 2
1 role
9
1 role
16
3 roles
23
24 roles
30
2 roles
Apr 6
0 roles
13
2 roles
20
7 roles
27
1 role
May 4
0 roles
11
1030-2068
audio_speech
0 roles
Feb 23
3 roles
Mar 2
2 roles
9
2 roles
16
4 roles
23
30 roles
30
4 roles
Apr 6
4 roles
13
2 roles
20
7 roles
27
3 roles
May 4
0 roles
11
1640-2476