← Back to Benchmark Results

Advanced AL Patterns

RecordRef, FieldRef, Queries, SingleInstance, Fluent API, and modern collections

Report generated: February 25, 2026 at 7:49 AM

Benchmark data: Feb 18, 2026 – Feb 25, 2026

15
Models
10
Tasks
53.3%
Pass Rate

Model Rankings

pass@1 pass@3 (additional)
GPT-5.3 Codex (t0.1)
60%
10%
70.0%
GPT-5.2 (high, t0.1)
43%
17%
60.0%
Kimi K2.5 (t0.1)
47%
50.0%
Gemini 3 Pro (t0.1)
40%
10%
50.0%
Glm 5 (t0.1)
37%
13%
50.0%
Grok Code Fast 1 (t0.1)
30%
20%
50.0%
Minimax M2.5 (t0.1)
20%
10%
30.0%

Model Performance

anthropic/claude-opus-4-5-20251101@thinking=50000

Runs:3
pass@1:73.3%
pass@3:80.0%
Consistency:90.0%
1st: 172nd: 5Failed: 28/10 passed
Temperature:0.1
Thinking:50,000
Tokens/run:37,453
Cost/run:$0.58

Known Shortcomings (10)

  • page-extension-with-table-extension 1x
  • reserved-keyword-as-parameter-name 1x
  • dictionary-iteration-syntax 1x
  • empty-or-malformed-code-generation 1x
  • temporary-table-parameter-handling 1x
+5 more View all 10
View details ›

anthropic/claude-sonnet-4-6

Runs:3
pass@1:73.3%
pass@3:80.0%
Consistency:90.0%
1st: 122nd: 10Failed: 28/10 passed
Temperature:0.1
Thinking:-
Tokens/run:61,257
Cost/run:$0.59

Known Shortcomings (5)

  • event-subscriber-event-name 1x
  • count-method-column-syntax 1x
  • code-truncation-incomplete-output 1x
  • jsonvalue-type-checking-api 1x
  • flowfield-calcsums-restriction 1x
View details ›

gemini/gemini-3.1-pro-preview

Runs:3
pass@1:70.0%
pass@3:80.0%
Consistency:80.0%
1st: 132nd: 8Failed: 28/10 passed
Temperature:0.1
Thinking:-
Tokens/run:123,105
Cost/run:$0.09

Known Shortcomings (16)

  • empty-or-missing-code-generation 2x
  • empty-or-missing-code-generation 2x
  • empty-or-missing-code-generation 1x
  • table-extension-with-page-extension 1x
  • al-syntax-structure 1x
+11 more View all 16
View details ›

anthropic/claude-opus-4-6

Runs:3
pass@1:70.0%
pass@3:70.0%
Consistency:100.0%
1st: 152nd: 6Failed: 37/10 passed
Temperature:0.1
Thinking:-
Tokens/run:54,390
Cost/run:$0.88

Known Shortcomings (8)

  • reserved-keyword-as-parameter-name 1x
  • cross-join-dataitem-link 1x
  • incomplete-procedure-body 1x
  • flowfield-calcfields-requirement 1x
  • parse-failure 1x
+3 more View all 8
View details ›

openai/gpt-5.3-codex

Runs:3
pass@1:60.0%
pass@3:70.0%
Consistency:80.0%
1st: 122nd: 6Failed: 37/10 passed
Temperature:0.1
Thinking:-
Tokens/run:31,991
Cost/run:$0.30

Known Shortcomings (14)

  • query-object-syntax 2x
  • empty-or-missing-code-generation 2x
  • parse-failure 2x
  • dictionary-keys-method-signature 1x
  • al-syntax-basics 1x
+9 more View all 14
View details ›

openai/gpt-5.2-2025-12-11@thinking=high

Runs:3
pass@1:43.3%
pass@3:60.0%
Consistency:70.0%
1st: 32nd: 10Failed: 46/10 passed
Temperature:0.1
Thinking:high
Tokens/run:34,458
Cost/run:$0.27

Known Shortcomings (13)

  • interface-definition-syntax 2x
  • table-field-caption-property 2x
  • query-object-syntax 2x
  • query-crossjoin-syntax 2x
  • jsonvalue-type-checking-methods 2x
+8 more View all 13
View details ›

openrouter/moonshotai/kimi-k2.5

Runs:3
pass@1:46.7%
pass@3:50.0%
Consistency:90.0%
1st: 112nd: 3Failed: 55/10 passed
Temperature:0.1
Thinking:-
Tokens/run:75,148
Cost/run:$0.94

Known Shortcomings (11)

  • query-object-syntax 2x
  • event-subscriber-parameter-syntax 1x
  • page-extension-cardpageid-override 1x
  • parse-failure 1x
  • multiline-string-literals 1x
+6 more View all 11
View details ›

gemini/gemini-3-pro-preview

Runs:3
pass@1:40.0%
pass@3:50.0%
Consistency:80.0%
1st: 102nd: 2Failed: 55/10 passed
Temperature:0.1
Thinking:-
Tokens/run:205,644
Cost/run:$0.26

Known Shortcomings (23)

  • codeunit-syntax-structure 3x
  • multiline-string-literals 1x
  • inherent-permissions-syntax 1x
  • query-crossjoin-column-datasource 1x
  • complete-codeunit-generation 1x
+18 more View all 23
View details ›

openrouter/z-ai/glm-5

Runs:3
pass@1:36.7%
pass@3:50.0%
Consistency:80.0%
1st: 82nd: 3Failed: 55/10 passed
Temperature:0.1
Thinking:-
Tokens/run:96,124
Cost/run:$1.25

Known Shortcomings (25)

  • query-object-syntax 2x
  • list-dictionary-of-interface-clear-method 1x
  • event-subscriber-event-name 1x
  • al-string-literal-escaping 1x
  • fluent-api-return-self-codeunit 1x
+20 more View all 25
View details ›

openrouter/x-ai/grok-code-fast-1

Runs:3
pass@1:30.0%
pass@3:50.0%
Consistency:60.0%
1st: 52nd: 4Failed: 55/10 passed
Temperature:0.1
Thinking:-
Tokens/run:68,289
Cost/run:$0.77

Known Shortcomings (22)

  • query-object-syntax 2x
  • jsonobject-selecttoken-vs-get 2x
  • httpclient-getheaders-usage 2x
  • multiline-string-literals 1x
  • page-extension-cardpageid-override 1x
+17 more View all 22
View details ›

anthropic/claude-sonnet-4-5-20250929

Runs:3
pass@1:36.7%
pass@3:40.0%
Consistency:90.0%
1st: 92nd: 2Failed: 64/10 passed
Temperature:0.1
Thinking:-
Tokens/run:37,032
Cost/run:$0.33

Known Shortcomings (14)

  • multiline-string-literals 1x
  • query-filter-element-syntax 1x
  • jsonobject-get-method-signature 1x
  • cross-join-dataitem-link-constraints 1x
  • reserved-keyword-as-variable-name 1x
+9 more View all 14
View details ›

openrouter/deepseek/deepseek-v3.2

Runs:3
pass@1:33.3%
pass@3:40.0%
Consistency:80.0%
1st: 10Failed: 64/10 passed
Temperature:0.1
Thinking:-
Tokens/run:37,177
Cost/run:$0.38

Known Shortcomings (29)

  • interface-definition-syntax 3x
  • application-area-in-page-extension-field 2x
  • reserved-keyword-as-variable-name 2x
  • query-cross-join-syntax 2x
  • jsonobject-get-vs-selecttoken 2x
+24 more View all 29
View details ›

openrouter/qwen/qwen3-max-thinking

Runs:3
pass@1:26.7%
pass@3:30.0%
Consistency:90.0%
1st: 32nd: 5Failed: 73/10 passed
Temperature:0.1
Thinking:-
Tokens/run:32,073
Cost/run:$0.29

Known Shortcomings (27)

  • option-field-optionmembers-required 2x
  • variant-type-argument-and-interface-definition 2x
  • query-object-syntax 2x
  • enum-frominteger-syntax 1x
  • list-iteration-pattern 1x
+22 more View all 27
View details ›

openrouter/minimax/minimax-m2.5

Runs:3
pass@1:20.0%
pass@3:30.0%
Consistency:80.0%
1st: 42nd: 2Failed: 73/10 passed
Temperature:0.1
Thinking:-
Tokens/run:43,716
Cost/run:$0.45

Known Shortcomings (32)

  • json-object-key-iteration 3x
  • interface-definition-syntax 2x
  • multiline-string-literals 2x
  • text-char-conversion-copystr 1x
  • page-object-definition 1x
+27 more View all 32
View details ›

openrouter/qwen/qwen3-coder-next

Runs:3
pass@1:20.0%
pass@3:20.0%
Consistency:100.0%
1st: 6Failed: 82/10 passed
Temperature:0.1
Thinking:-
Tokens/run:31,901
Cost/run:$0.29

Known Shortcomings (35)

  • codeunit-generation-empty-output 5x
  • interface-definition-syntax 4x
  • query-object-syntax 2x
  • reserved-keyword-as-parameter-name 2x
  • initvalue-vs-defaultvalue 1x
+30 more View all 35
View details ›

Task Results Matrix

N/M = passed N of M runs (hover for details)

TaskDescriptionClaude Opus 4.5 (50K)Claude Sonnet 4 6Gemini 3.1 Pro PreviewClaude Opus 4.6GPT-5.3 CodexGPT-5.2Kimi K2.5Gemini 3 ProGlm 5Grok Code Fast 1Claude Sonnet 4.5Deepseek V3.2Qwen3 Max ThinkingMinimax M2.5Qwen3 Coder Next
CG-AL-H003Create a codeunit called "CG Temp Table Processor" with ID 70202 that demonstrates correct temporary table handling.3/33/33/33/33/30/33/33/33/32/30/30/30/30/30/3
CG-AL-H005Create a table and codeunit that test understanding of Rec vs xRec and Modify behavior.0/30/30/30/30/30/30/30/30/30/30/30/30/30/30/3
CG-AL-H006Create a SingleInstance codeunit that maintains state across calls within the same session.3/33/33/33/33/33/33/33/33/33/33/33/33/33/33/3
CG-AL-H011Create an AL query object named "CG Sales Summary" with ID 70011 that:3/33/33/30/30/31/30/32/30/30/30/32/30/30/30/3
CG-AL-H017Create an AL query object named "CG Dimension Matrix" with ID 70017 that:3/31/33/33/31/30/30/30/30/30/30/32/30/30/30/3
CG-AL-H018Create an AL codeunit named "CG Request Builder" with ID 70018 implementing a fluent API pattern:3/33/32/33/33/31/33/33/31/31/33/30/32/30/30/3
CG-AL-H020Create an AL codeunit named "CG Collection Processor" with ID 70020 demonstrating List and Dictionary types:1/33/33/33/32/33/30/30/30/31/32/30/30/31/30/3
CG-AL-H022Create a codeunit named "CG Dynamic Record Handler" with ID 70224 that demonstrates advanced RecordRef and FieldRef usage for dynamic record manipulation.3/33/31/33/33/32/32/30/31/30/30/30/30/30/30/3
CG-AL-H023Create a codeunit named "CG Record Introspector" with ID 70226 for dynamic record manipulation and introspection using RecordRef and FieldRef.0/30/30/30/30/30/30/30/30/30/30/30/30/30/30/3
CG-AL-M023Create a codeunit named "CG Partial Record Loader" with ID 70123 that demonstrates the SetLoadFields method for optimized partial record loading.3/33/33/33/33/33/33/31/33/32/33/33/33/32/33/3