Multi-Step Tool-Calling over Korean Open Public APIs: A Benchmark and a Data-Synthesis Recipe
Organizations: LG CNS
Abstract
Data-sovereignty regulations increasingly require public institutions to deploy open-source, on-premise LLM agents that chain multiple tool-calls across live government APIs. However, open-source models consistently underperform in this multi-step setting, and no existing benchmark measures the gap. We introduce the Korean Open Public API Benchmark (KOPA-Bench), comprising 145 real-world tasks. To close this gap, we present EDGE, an Execution-grounded Dynamic Graph for tool-calling data synthEsis driven by live execution. EDGE builds a graph of how each tool's output can feed another's input, keeps only the links that succeed when actually called against the live APIs, and traverses these verified links to synthesize executable multi-step trajectories. Fine-tuned via GRPO on the resulting dataset, our 9B model nearly matches the untuned 27B model from the same family, improving substantially not only on KOPA-Bench but also on the BFCL benchmark.
Figures & tables
| KOPA-Bench | BFCL | |||||
| Model | pass@1 | pass@4 | Action | Multi- Turn | Single (non-live) | Single (live) |
| Proprietary | ||||||
| Claude Sonnet 4.6 ( Anthropic, 2026 ) | 0.4655 | 0.8207 | 0.4269 | 60.13 | 84.98 | 76.83 |
| GPT-5.1 ( OpenAI, 2025 ) | 0.3706 | 0.4690 | 0.5881 | 38.12 | 82.96 | 65.21 |
| Large open-source | ||||||
| Qwen3.5-27B | 0.4482 | 0.5655 | 0.4213 | 65.38 | 89.65 | 83.35 |
| Training objective | pass@1 | pass@4 | Action |
| Qwen3.5-4B (base) | 0.1758 | 0.3103 | 0.2140 |
| SFT (Ours) | 0.2724 | 0.3586 | 0.3048 |
| GRPO (Ours) | 0.3094 | 0.4690 | 0.3462 |
| Training dataset | pass@1 | pass@4 | Action |
| Qwen3.5-4B (base) | 0.1758 | 0.3103 | 0.2140 |
| pure-sequential | 0.2327 | 0.3724 | 0.3648 |
| parallel + Mixed | 0.3080 | 0.4000 | 0.4070 |
| full | 0.3094 | 0.4690 | 0.3462 |
Appendix figures & tables15 assets
Supplementary material from the paper’s appendix.
Appendix
| Model | pass@1 | CI width |
| Qwen3.5-27B | 0.4681 0.0146 | 0.0292 |
| gemma-4-26B-A4B-it | 0.3672 0.0151 | 0.0301 |
| Qwen3.5-9B | 0.3526 0.0249 | 0.0498 |
| EXAONE-4.5-33B | 0.2224 0.0122 | 0.0244 |
| gemma-4-E4B-it | 0.1845 0.0110 | 0.0220 |
| Qwen3.5-4B | 0.1603 0.0204 | 0.0407 |
| Domain | Platforms | #Tasks |
| Traffic | Korea Expressway Corporation, Seoul Open Data Plaza | 22 |
| Finance | DART, KRX, Korea Deposit Insurance Corporation | 29 |
| Education | Educational Data Platform, HRD Korea | 30 |
| Law | Korean Law Info Center | 22 |
| Politics | Open Assembly | 25 |
| District Admin. | Gyeonggi Data Dream | 17 |
| Domain | #Tasks | Steps | Tool calls | Headroom | Avail. tools | Parallel % |
| Traffic | 22 | 3.64 | 5.14 | 2.21 | 7.5 | 55% |
| Finance | 29 | 3.69 | 5.65 | 2.24 | 6.6 | 83% |
| Education | 30 | 2.93 | 4.30 | 2.79 | 7.7 | 57% |
| Law | 22 | 3.00 | 3.55 | 3.63 | 6.7 | 27% |
| Politics | 25 | 3.72 | 5.48 | 2.10 | 8.7 | 52% |
| District Administration | 17 | 2.76 | 5.41 | 1.55 | 8.0 | 82% |
| Outcome | Group | Update |
| Semantic success | — | |
| Generic-only success | — | |
| Schema/type mismatch | structural | |
| Missing-field error | structural | |
| Rate limit | environmental | |
| Timeout | environmental |
| Stage | Filter Class | Representative Anomaly Example (User Query / Trajectory Flaw) |
| Stage 1 | Real-time source | Trajectory components invoke APIs that fetch live highway gating status without a fixed reference timestamp, causing the ground-truth targets in the training dataset to dynamically change per execution (violating data determinism). Example: “실시간 영업소 진입조절 현황에 뜬 각 노선별로 휴게시설 경로 정보가 몇 건씩 있는지 확인해 줄 수 있어?” ( Gloss: “Can you check how many rest area route information items are available for each route listed in the real-time tollbooth entry control status?”) |
| Stage 1 | Linguistic anomaly | Query contaminated with foreign tokens or mixed scripts during synthesis, violating standard format constraints. Example: “전월 대비总人口 증감 수치를 알려줘." or "먼저 확인한 뒤,そこに 포함된 각 영업소별로”. ( Gloss: “Tell me the change in 总人口 compared to the previous month." / "After checking first, そこに for each tollbooth included there.”) |
| Stage 2 | Answer leakage | The query phrasing explicitly discloses the target intermediate parameter, rendering the associated tool call redundant. Example: “2023년 김포시에 있는 야구 가능한 공공체육시설 주소에서 시군명을 뽑아서, 그 시군별로 경기도 내 골프장이 몇 건씩 있는지 알려줄래?” ( Gloss: “Extract the municipality name from the address of baseball-available public sports facilities in Gimpo City in 2023, and tell me how many golf courses there are in Gyeonggi-do for that municipality?”) |
| Symbol | Description | Value |
| Phase A: skeleton graph construction | ||
| Intra-domain candidate neighbors / source tool | ||
| Cross-domain candidate neighbors / source tool | ||
| Min. feasibility score to admit an edge | ||
| Prior strength | ||
| Skeleton-construction model | Qwen3.5-122B | |
| Metric | Value |
| Calls per task (mean / med. / min / max) | 4.13 / 4 / 2 / 36 |
| Steps: 3 / 4–5 / 6 | 42.3 / 50.9 / 6.7 % |
| Calls: sequential / parallel | 63.8 / 36.2 % |
| Dataset | Environment | one-to-many chaining (%) | chained cardinality | ||
| median | p90 | max | |||
| ToolBench-v1 | RapidAPI | 1.9 | 1 | 16 | 127 |
| APIGen-MT | -bench | 10.0 | 1 | 3 | 16 |
| Nemotron ( NVIDIA, 2025 ) | -bench | 1.6 | 1 | 1 | 15 |
| ToolACE | synthetic | 4.5 | 1 | 5 | 10 |
| Ours | KOPA-Bench | 81.2 | 27 | 157 | 224,958 |
| Type | Count | % |
| Mixed | 654 | 36.7 |
| Drv | 350 | 19.7 |
| Sem | 303 | 17.0 |
| Seq | 215 | 12.1 |
| Cmp | 161 | 9.0 |
| Cond | 50 | 2.8 |
| Level | Value |
| Verbatim query leakage | 0.0% (0/145) |
| Tool-universe overlap (functions) | 62.2% (135/217) |
| Class-level held-out platforms | 3/12 |
| Tasks using only unseen functions | 12.4% (18/145) |
| Mean per-task function coverage | 62.9% |
| Domain | Held-out platform | Base | Ours | |
| Traffic | Seoul Open Data Plaza | 10 | 0.2000 | 0.6000 |
| Finance | DART•KRX | 21 | 0.3333 | 0.4762 |
| Total | 31 | 0.2903 | 0.5161 | |
| Resolution | Eval | Train | Jaccard | Unseen |
| Function-pair | 178 | 687 | 0.000 | |
| Adjacency | 592 | 2,911 | 0.004 |
Tool-Augmented Language Model Agents
Tool-augmented language model agents use external tools, APIs, and environments to solve tasks beyond text generation alone.
See all 167 papers