Research ·

Fine-Tuning a Customer Service Model to Frontier Quality at 65× Lower Cost

Ibraheem Shaikh · Urjit Chakraborty

Summary#

  • A small AI model, fine-tuned by Rudimint, achieved 86.7% task success on a telecom customer support benchmark, nearly matching Claude Opus 4.7’s published 88.6%.
  • Our model averaged 2.4¢ per conversation, compared with $1.58 for Claude Opus, making it approximately 65× cheaper.
  • Training used 74 support conversations generated by Gemini 3.8 Flash, teaching the model to diagnose problems, coordinate fixes, and follow support policies.

Background#

AI customer support agents operate within well-defined policies and handle recurring categories of inquiries. At scale, running them on frontier models becomes expensive. Smaller, specialized models can significantly reduce that cost while preserving the capabilities the job requires.

We tested this approach on the Telecom domain of Sierra’s τ²-Bench, where the agent must solve a simulated customer’s phone issue (no service, slow data, and so on) by asking questions and working in the customer’s carrier portal.

These tasks can require several coordinated fixes. The agent must identify each problem, obtain any required approval, guide the customer through the device fix, and verify that service works. The benchmark checks whether the required outcome was reached, including a correct human handoff when appropriate.

I can’t send picture messages. I’m in France visiting my grandchildren.
Looked up accountget_customer_by_phone
Turned on roamingenable_roaming
Roaming was off on your line, so I’ve turned it on. What network mode does your phone show?
It says 2G only.
Switch it to 5G, then allow your messaging app to use SMS.
Done, and the picture just went through. Thank you!
Condensed from one τ²-Bench Telecom evaluation task.

Methodology#

We generated training data with Gemini 3.8 Flash at medium reasoning as the teacher. It ran the 74 training tasks, and its conversations, including customer messages, reasoning summaries, agent responses, and tool calls, became the training set. The remaining 40 tasks were held back for evaluation.

We then fine-tuned the student, OpenAI’s open-weight gpt-oss-20b at high reasoning, to predict the teacher’s next response or tool call from the conversation so far. Training took under an hour and taught the model what to do across diverse scenarios: a line suspended over an unpaid bill, a data allowance that has run out, a phone stuck on the wrong network, or picture messages that won’t send abroad.

We ran the final model three times on each of the 40 evaluation tasks, 120 attempts in all, and report average task success and inference cost per attempt. Costs for the base and fine-tuned gpt-oss-20b use Tinker’s published per-token rates.

Results#

Our final model achieved 86.7% task success, passing 104 of 120 attempts across three trials of 40 Telecom tasks. Before fine-tuning, the same gpt-oss-20b scored 60.2% at 3.09¢ per attempt, so fine-tuning raised task success by 26.5 points and cut cost by 22%. The base model often tried to change settings on the customer’s phone itself, using tools it doesn’t have, and its reasoning went in circles. The fine-tuned model asks the customer to make those changes and spends less time on unnecessary reasoning, which is also where the cost saving comes from.

Task success
higher is better
Rudimint
86.7%
gpt-oss-20b
60.2%
Gemini 3.8 Flash
97.5%
Claude Opus 4.7
88.6%
Cost per attempted task
lower is better
$0.0242
$0.0309
$0.0656
$1.58

Our model finished within 1.9 percentage points of Claude’s published score at approximately 65× lower inference cost.

Claude Opus 4.7$1.58Rudimint$0.0242189≈65.2× cheaper than Claude Opus 4.7

Conclusion#

Taken together, these results demonstrate the value of specialization and fine-tuning: a 20B-parameter model trained on 74 customer support tasks achieved performance competitive with frontier models at a fraction of the inference cost.

For our customers, Rudimint derives training tasks from production traces of their workflows, keeps the ones worth learning from, and fine-tunes a model on a stronger teacher’s behavior on those tasks. After deployment, we track where the model still falls short and generate new training data aimed at those gaps, so it keeps improving on the traffic it actually serves.

Footnotes#

  1. Each of the 40 evaluation tasks was attempted three times, for 120 attempts. The model passed 104, giving 86.7% after rounding. This is average single-attempt success, not the share of tasks solved at least once in three tries. A correct human handoff counts as a success when the task requires one.
  2. Cost is per attempted task, including failures and every agent turn in the conversation. It excludes the simulated customer, fine-tuning, and teacher-data generation. The unrounded Rudimint cost is $0.0242189; $1.58 divided by that value gives 65.2×.
  3. Claude’s score and cost were reported by Artificial Analysis, not measured by Rudimint. That evaluation used Qwen3 235B A22B 2507 as the simulated customer; ours used GLM-5.3 Flash. The base gpt-oss-20b score of 60.2% is also from Artificial Analysis.

References#

  1. Barres, V., Dong, H., Ray, S., Si, X., and Narasimhan, K. τ²-Bench: Evaluating Conversational Agents in a Dual-Control Environment, 2025. Benchmark design and the Telecom domain.
  2. Sierra. τ²-Bench: benchmark code, tasks, and evaluation framework.
  3. Artificial Analysis. τ²-Bench Telecom: Claude Opus 4.7 results and evaluation methodology.
  4. OpenAI. gpt-oss-120b & gpt-oss-20b Model Card, 2025. Base-model architecture and specifications.