Just AI automates JAICP DSL: an AI agent writes patterns and tests in a minute instead of six hours

Just AI has shown an internal AI agent for the JAICP platform that takes over the tedious part of working with the DSL: it writes patterns, generates phrase variations, produces autotests and handles several languages. By the team's estimate, a task of 20 phrases across four languages used to take about six hours and now takes roughly a minute, followed by human review. The agent is built on Claude Sonnet 4.5 and draws on the platform's own documentation, which lets it base its output on real JAICP examples.

AI-processed from Habr AI; edited by Hamidun News
Just AI automates JAICP DSL: an AI agent writes patterns and tests in a minute instead of six hours
Source: Habr AI. Collage: Hamidun News.
Listen to article
Article Fact Sheet & Key Figures
ParameterDetails
Primary sourceHabr AI ↗
Editor-in-Chief
Key metric #1Pulls examples and rules from the JAICP knowledge base
Key metric #2Generates patterns and explains their structure
Key metric #3Shows which phrases a template covers

Just AI has automated work with JAICP DSL using an AI agent that writes patterns and autotests in place of a human. By the team's estimate, a task that used to take about six hours of manual routine now takes roughly a minute. The developer only needs to review the result and fix it if necessary.

Why it was needed

The JAICP team works with a dedicated DSL for describing the patterns a bot uses to understand user phrases. On paper the task looks simple: take "yes", "hello" or "it doesn't work" and describe them as a template. In practice it gets complicated fast: users write in slang, make mistakes, use colloquial forms, and do all of this in different languages. For one project, Just AI had to cover Russian, English, German and Turkish, and a literal translation often does not work there.

Variability proved especially painful. The client supplies a base list of phrases, but to cover scenarios properly the developer has to come up with analogues, morphological forms and non-standard wordings on their own. Autotests do not fully solve the problem either: even if a template can be generated by a script, someone still has to prepare the input examples, check the syntax and make sure the DSL is used correctly.

So the team decided not to settle for a plain LLM request and instead built a dedicated agent that knows the platform's context and takes over the routine.

How the agent works

The solution is based on Claude Sonnet 4.5, chosen for its stable DSL code generation and good instruction following. The agent got three working tools: search for relevant pieces of documentation in Jay Knowledge Hub, answer generation based on the same knowledge base, and a separate self-check via Llm.sendRequest with GPT-4o-mini. This stack lets the agent do more than "complete" phrases: it relies on real JAICP examples and catches some errors before the result reaches the user.

  • Pulls examples and rules from the JAICP knowledge base
  • Generates patterns and explains their structure
  • Shows which phrases a template covers
  • Writes autotests from the same examples
  • Separates answers by language and does not mix them in one block

The prompt, not the set of tools, played the key role. The team split it into general logic, a block for patterns, a block for autotests and a final self-check. The instructions separately describe semantic, morphological and syntactic analysis, rules for optional blocks and synonym grouping, and then force the model to build optimized patterns rather than literal enumerations. When the models still started to "go off script", the prompt was additionally compressed and structured with the help of DeepSeek, and for multilingual support the team added a simple rule: first identify the language, then apply its morphology.

Results and numbers

The finished agent was connected to Telegram to test scenarios faster. As a result, the bot learned to build a DSL pattern from a single user phrase, show the covered utterance variants and immediately generate autotests. As a separate bonus, the system started writing even DSL scenarios, although it was not specifically trained to do so: the model pulled the necessary knowledge from the documentation in the knowledge base. The format proved useful not only for experienced developers but also for onboarding newcomers, who need to see not just the final template but the logic behind it.

"The agent also handles it in 1 minute, a 360x speedup."

The team calculated the figures on a specific example: 20 phrases from a client must be turned into patterns in four languages, with variability added and tests written. Done by hand, Russian takes about an hour, the other languages take at least three more hours, plus an hour for autotests and roughly another hour for devising additional wordings. That adds up to at least six hours of monotonous work, not counting corrections. The agent produces the same draft in about a minute, but a human still does the final review, and that is what makes the case realistic rather than promotional.

What this means

The Just AI case shows that narrowly specialized AI agents are already useful not only for chats and search but also for internal development on niche DSLs. If a team has documentation, clear rules and repetitive manual work, an agent can remove hours of routine even without a complex architecture or extensive fine-tuning.

Story

Key Questions Answered

Why it was needed?

The JAICP team works with a dedicated DSL for describing the patterns a bot uses to understand user phrases. On paper the task looks simple: take "yes", "hello" or "it doesn't work" and describe them as a template. In practice it gets complicated fast: users write in slang, make mistakes, use colloquial forms, and do all of this in different languages. For one project, Just AI had to cover Russian, English, German and Turkish, and a literal translation often does not work there. Variability proved especially painful. The client supplies a base list of phrases, but to cover

How the agent works?

The solution is based on Claude Sonnet 4.5, chosen for its stable DSL code generation and good instruction following. The agent got three working tools: search for relevant pieces of documentation in Jay Knowledge Hub, answer generation based on the same knowledge base, and a separate self-check via Llm.sendRequest with GPT-4o-mini. This stack lets the agent do more than "complete" phrases: it relies on real JAICP examples and catches some errors before the result reaches the user. Pulls examples and rules from the JAICP knowledge base Generates patterns and explains their

What are the key details on Results and numbers?

The finished agent was connected to Telegram to test scenarios faster. As a result, the bot learned to build a DSL pattern from a single user phrase, show the covered utterance variants and immediately generate autotests. As a separate bonus, the system started writing even DSL scenarios, although it was not specifically trained to do so: the model pulled the necessary knowledge from the documentation in the knowledge base. The format proved useful not only for experienced developers but also for onboarding newcomers, who need to see not just the final template but the logi

ZK
Zhemal Khamidun — CPO at Alpina Digital, product manager of AlpinaGPT. Building AI products since 2019. Hamidun News is a pet project that grew into a production aggregator with 6,000+ readers.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
What do you think?
Loading comments…