Agentic AI as LLM orchestration
Camunda

Agentic AI as LLM orchestration
Camunda


Download Analyse_flux_AMF_C8.ts.zip file ⤳ case study requires Node.js TypeScript

L'IA ⤳ « il paraît que… » en 2026

JPMorgan a supprimé 360 000 heures par an (200 postes de juristes) en lecture/analyse automatique de documents (les modèles ont été entraînés sur mesure en l'occurrence sur les données métier de JPMorgan)

La banque et l'assurance essuient (actuellement) les plâtres alors que ce sont deux secteurs d'activité réputés frileux sur les nouvelles technologies : « j'y vais quand cela fonctionne »

Au-delà de la banque et de l'assurance, près de 50% des entreprises ont commencé l'intégration de l'IA mais 3% d'entre elles observent un ROI

Une innovation dont le train est « infernal » : Anthropic Cowork

Archétype

Une demande de prêt relatif à l'acquisition d'un véhicule pour particulier donne lieu à l'envoi d'une photographie ainsi qu'un devis PDF

La propriété Vehicle Identification Number -VIN- de la voiture (hybride électrique) contredit le devis (100% électrique)

L'automatisation de l'évaluation du risque côté banque puis l'acceptation (versus le refus) de la demande de prêt peut être basée sur 2 activations LLM avec supervision humaine. Il est toutefois clair que la détection d'incohérence(s) en amont est un travail fastidieux qu'une 3ème activation LLM peut prendre en charge

AI + BPMN*

BPMN offers a natural « structuring » framework for « confining » AI to tasks running within a broader business context, i.e., AI and non-AI software

Human-In-The-Loop -HITL-: integrate human activities downstream from those of a LLM to challenge it

*Competitor like Open AI Agent Builder

**Camunda paid $16 000 USD to AWS because of a BPMN diagram test program (use of out-of-the-box “AI Agent connector” from Camunda 8.8)

From present (2026) to future

Failures relating to AI deployment and usage in organizations (no timely ROI) partly result from the introduction of AI processing as isolated IT. Agentic AI overcomes this problem with multiple AI agents having bounded processing scopes and collaborative behaviors with non-AI components as well

Remaining AI issues (non-exhaustive list)

Inconsistencies” in regulatory PDF documents pushed to Autorité des Marchés Financiers -AMF-

BPMN ⤳ diagram (Analyse_flux_AMF.bpmn)

Camunda Modeler process application

% tree -a
.
├── .analyse_flux_AMF
├── .process-application
├── README.md
├── package.json
├── resources
│   ├── Analyse_flux_AMF.bpmn
│   └── Analyse_flux_AMF.form
├── ts
│   ├── Analyse_flux_AMF.ts
│   ├── Ollama.ts
│   └── Test
│       └── Test.ts
└── tsconfig.json

Parameters (.analyse_flux_AMF)

Ollama_MODEL="qwen3" # "deepseek-r1" "llama3.3" "llava" "mistral" "qwen3"
Ollama_MODEL_TEMPERATURE=0 # Handled via BPMN (AI Agent connector) property within Camunda 8.8
Ollama_MODEL_THINKING=false # Handled via BPMN (AI Agent connector) property within Camunda 8.8

Flux_AMF_identificationsociete_iso_nom_soc="bnp"
# Flux_AMF_identificationsociete_iso_code_tkr_iso_cd_mch="fr"
Flux_AMF_informationdeposee_inf_lng_inf="Français"
Flux_AMF_from="2025-11-05T15:45:26+00:00" # 5 nov. 2025 -> 1 jan. 2026: 10 doc. (BPMN diag. rejects more than 15 doc.)
Flux_AMF_to="2026-01-01T15:45:26+00:00"

Camunda Form ⤳ Human-In-The-Loop

Analysis (French PDF documents)

● https://fr.ftp.opendatasoft.com/datadila/INFOFI/MKW/2025/12/FCMKW133495_20251208.pdf :
Le texte mentionne un total de 4 100 000 actions rachetées, mais indique que
8 634 514 actions ont été rachetées au 5 décembre 2025. Il y a une incohérence
entre le total quotidien et le cumul total.
…
● https://fr.ftp.opendatasoft.com/datadila/INFOFI/MKW/2025/11/FCMKW130472_20251124.pdf :
Le texte ne contient pas d'incohérence.
● https://fr.ftp.opendatasoft.com/datadila/INFOFI/MKW/2025/11/FCMKW139903_20251120.pdf :
Le texte ne contient pas d'incohérence.

Ollama

export default class Ollama {
    …
    static readonly Flux_AMF_analysis = z.object({"incohérences dans le texte": z.array(z.string())});
    private static readonly _System_prompt = "répondre de manière concise. ne pas répondre systématiquement. ne pas remplir le format s'il n'y a pas d'incohérence.";
    static async Analyze(user_prompt: string) {
        const response = await ollama.chat({
            format: z.toJSONSchema(Ollama.Flux_AMF_analysis),
            messages: [ // The system prompt allows you to set context and instructions for the model before the conversation starts. It’s a powerful way to define the model’s behavior.
                {role: "system", content: Ollama._System_prompt},
                {role: "user", content: user_prompt}
            ],
            model: process.env.Ollama_MODEL!,
            options: {temperature: 0.0}, /* Ollama conseille de régler la température du modèle à '0' si utilisation de 'zod' : https://docs.ollama.com/capabilities/structured-outputs#tips-for-reliable-structured-outputs */
            stream: false,
            think: false // Enable or disable thinking: https://ollama.com/blog/thinking
        });
        try {
            return JSON.parse(response.message.content);
        } catch (error: unknown) { // console.assert(error instanceof SyntaxError);
            return {"échec": user_prompt};
        }
    }
}

© BarbierDarnal.com