Physical-Engineering’s Last Exam

Testing AI agents on real-world engineering.

85 expert-reviewed tasks across calculations, drawings, and design reviews.

Engineering disciplines in practice

  1. Design a structural frame to carry gravity and lateral loads. Structural engineering, 10 tasks
  2. Design a site layout for buildings, grading, and utility routes. Civil engineering, 18 tasks
  3. Design a switchboard and feeder layout for the connected loads. Electrical engineering, 27 tasks
  4. Design a cooling loop to reject the facility's heat load. Mechanical engineering, 30 tasks
Skip the drawings

Design a structural frame to carry gravity and lateral loads.

Structural engineering, 10 tasks

A research initiative by scientists at Google

Academic Partners

Leaderboard

Full leaderboard

Frontier models evaluated on the private set, ranked with their native harness.

Each model runs at its highest reasoning effort.

Score by model on its native harness± std
  1. Opus 5.5 native harness: claude-code 0.483
  2. GPT 6 Astra native harness: codex 0.458
  3. Sonnet 5.5 native harness: claude-code 0.435
  4. Gemini 4 Argon native harness: agy 0.406
  5. Opus 5 native harness: claude-code 0.400
  6. Fable 5 native harness: claude-code 0.345
  7. Grok 4.7 native harness: grok-build 0.301
  8. Gemini 3.8 Flash native harness: agy 0.275
  9. GLM 5.2 pi 0.250
  10. DeepSeek-V4.1-Flash native harness: dsh 0.144
  11. Gemini 3.1 Pro native harness: agy 0.138
  12. Qwen3 Coder 480B claude-code 0.062
  13. Kimi K2 Thinking opencode 0.062
  14. MiniMax M2 claude-code 0.057
  15. Qwen3-Next 80B openhands 0.043
  16. Gemma 4 26B native harness: agy 0.042
  17. gpt-oss 120B native harness: codex 0.038
  18. Llama 4 Maverick pi 0.007
The models, each on its native harness or else its best, on the 56 hidden test tasks
#ModelHarnessScore ± std
1Claude Opus 5.5Opus 5.5 native harness: claude-code 0.483±0.014
2GPT 6 AstraGPT 6 Astra native harness: codex 0.458±0.006
3Claude Sonnet 5.5Sonnet 5.5 native harness: claude-code 0.435±0.014
4Gemini 4 ArgonGemini 4 Argon native harness: agy 0.406±0.013
5Claude Opus 5Opus 5 native harness: claude-code 0.400±0.016
6Claude Fable 5Fable 5 native harness: claude-code 0.345±0.020
7Grok 4.7Grok 4.7 native harness: grok-build 0.301±0.007
8Gemini 3.8 FlashGemini 3.8 Flash native harness: agy 0.275±0.007
9GLM 5.2GLM 5.2 pi 0.250±0.004
10DeepSeek-V4.1-FlashDeepSeek-V4.1-Flash native harness: dsh 0.144±0.023
11Gemini 3.1 ProGemini 3.1 Pro native harness: agy 0.138±0.014
12Qwen3 Coder 480BQwen3 Coder 480B claude-code 0.062±0.001
13Kimi K2 ThinkingKimi K2 Thinking opencode 0.062±0.002
14MiniMax M2MiniMax M2 claude-code 0.057±0.006
15Qwen3-Next 80BQwen3-Next 80B openhands 0.043±0.001
16Gemma 4 26BGemma 4 26B native harness: agy 0.042±0.004
17gpt-oss 120Bgpt-oss 120B native harness: codex 0.038±0.005
18Llama 4 MaverickLlama 4 Maverick pi 0.007±0.003

Native harness; otherwise the model's best.

How grading works

Each task runs in an isolated container with the project's drawings, spreadsheets, specs, and local services.

Automated scripts check quantitative outputs, while an LLM judge grades open-ended engineering work against an expert rubric.

  • No internet access
  • 6 hours per task
  • Three runs per harness and model

Engineering disciplines

All 85 tasks

Contribute a task

Share a realistic engineering problem with its starting files and grader. Accepted tasks join the benchmark with author credit.

See what makes a good task

Competition

Build an agent harness, pair it with the model of your choice, and compete on the hidden test set.

Go to the competition

Citation

@misc{han2026ple,
  title         = {{PLE}: Physical-Engineering's Last Exam},
  author        = {Rujun Han and Yufan Zhuang and Arijit Ray and Han Yu and
                   Zoey CuiZhu and George Lee and Yifei Ming and Binz Roy and
                   Varun Sakalkar and Vishy Tirumalashetty and Burak Gokturk and
                   Tomas Pfister and Chen-Yu Lee},
  year          = {2026},
  eprint        = {2610.30537},
  archivePrefix = {arXiv},
  primaryClass  = {cs.AI},
  url           = {https://arxiv.org/abs/2610.30537}
}