Modernizare Open-Source cu AI — Cum Am Rezolvat 702 Issues în mRemoteNG

Modernizare Open-Source cu AI — Cum Am Rezolvat 702 Issues în mRemoteNG

Este minunat să descoperi cât de ușor poți face lumea mai bună, din pătrățica ta.

Gela Popa, fondator Geseidl Consulting Group

La Geseidl, credem că excelența nu se demonstrează doar prin serviciile pe care le facturăm, ci și prin ceea ce oferim înapoi comunității. De peste 22 de ani construim instrumente care ne ajută pe noi și pe clienții noștri. Unele dintre ele merită împărtășite cu întreaga lume.

De aceea investim în open-source. Nu pentru marketing, nu pentru vizibilitate — ci pentru că un tool mai bun, folosit de mai mulți oameni, face lumea puțin mai bună. Aceasta este filozofia makeitcount: fă ca fiecare contribuție să conteze.

mRemoteNG este exemplul perfect. Un software pe care îl folosim zilnic în administrarea infrastructurii clienților noștri — peste 50 de servere, sute de conexiuni. Când am văzut că proiectul stagnează, cu 843 de probleme nerezolvate și zero perspective de actualizare, am decis să acționăm.

Rezultatul? Am rezolvat 702 din cele 843 de issues, am crescut testele de la 2.179 la 6.175, și am redus costul la $1,49 per commit — folosind un orchestrator AI construit de noi. Totul este public, verificabil, documentat.

Acesta este studiul de caz complet, realizat de echipa Geseidl IT Solutions. Codul sursă: github.com/robertpopa22/mRemoteNG.


Ce este mRemoteNG?

mRemoteNG (multi-Remote Next Generation) este un manager de conexiuni remote open-source pentru Windows. Suportă 16 protocoale — RDP, VNC, SSH, Telnet, HTTP/S, ICA, și altele — toate într-o singură interfață cu tab-uri. Este folosit de administratori de sisteme, ingineri DevOps și echipe IT din întreaga lume pentru a gestiona sute sau mii de conexiuni simultane.

Proiectul a fost creat în 2008, ca fork al mRemote, și a acumulat de-a lungul anilor o bază de utilizatori semnificativă — peste 12.000 de stars pe GitHub înainte de reorganizarea repository-ului. Dar, ca multe proiecte open-source mature, a intrat într-o perioadă de stagnare.

Problema: un codebase legacy în derivă

La momentul în care am preluat proiectul, situația era critică. Codebase-ul era construit pe .NET Framework cu Windows Forms și referințe COM (MSTSCLib pentru RDP ActiveX). Arhitectura se baza pe singletoni mutabili și cuplare strânsă între componente. 843 de issue-uri stăteau nerezolvate pe GitHub, unele vechi de ani de zile.

Nimeni nu avea timp sau resurse să le rezolve. Echipa de voluntari era insuficientă, iar complexitatea codebase-ului descuraja contributorii noi. Fiecare fix risca să introducă regresii în alte părți ale aplicației.


Provocarea — de la 843 issues la zero

Obiectivul nostru era ambițios dar clar: modernizarea completă a proiectului de la .NET Framework la .NET 10, eliminarea tuturor warning-urilor de analiză statică, rezolvarea issue-urilor acumulate și trecerea prin SonarCloud Quality Gate cu rating-uri A/A/A.

De ce era dificil

Nu era vorba doar de a rescrie cod. mRemoteNG avea particularități care făceau modernizarea extrem de complicată:

  • Referințe COM — MSTSCLib pentru RDP ActiveX, componente care nu pot fi pur și simplu înlocuite
  • Singletoni mutabili — stare globală partajată între zeci de clase, imposibil de testat izolat
  • Windows Forms cu interop nativ — UI strâns cuplat cu logica de business
  • 16 protocoale diferite — fiecare cu propria implementare, dependențe și edge case-uri
  • Zero documentație arhitecturală — doar codul sursă și issue-urile de pe GitHub

Un singur dezvoltator ar fi avut nevoie de luni de zile. O echipă tradițională — de săptămâni. Noi am ales o abordare diferită.


Soluția — un orchestrator AI cu 3 agenți

Am construit un sistem de orchestrare care coordonează trei agenți AI, fiecare cu rolul său specific în pipeline-ul de rezolvare a issue-urilor. Nu este un chatbot care scrie cod — este un sistem de producție cu verificare automată, rollback și monitorizare.

Cei 3 agenți

Fiecare agent AI a fost ales pentru punctele sale forte. Combinația lor acoperă spectrul complet de complexitate:

  • Codex Spark (OpenAI) — agentul de triage rapid și fix-uri simple. Excelent pe task-uri single-file: redenumire, actualizare namespace-uri, fix-uri de analiză statică. Rata de succes: 86% pe sesiunea din 27 februarie, 87 din 104 issues rezolvate din prima încercare
  • Claude Sonnet/Opus (Anthropic) — agentul pentru fix-uri complexe, multi-file și review final. Înțelege context larg, poate analiza dependențe între clase și poate face refactoring sigur pe componente interconectate. Folosit și ca reviewer final pentru PR-uri
  • Gemini Pro (Google) — agentul pentru transformări bulk. Ideal pentru aplicarea aceluiași pattern pe zeci de fișiere: eliminare warning-uri CS8618 (nullable), actualizare API-uri deprecated. A fixat 466 din 852 warning-uri CS8618 într-o singură sesiune

Pipeline-ul de rezolvare

Fiecare issue trece printr-un pipeline riguros, unde calitatea este verificată de instrumente deterministe, nu de AI:

  1. Sync — importă issue-urile din GitHub, clasifică după labels și complexitate
  2. Triage — agentul analizează issue-ul, estimează efortul și propune o strategie de rezolvare
  3. Implement — agentul scrie codul. Dacă primul agent eșuează, al doilea preia (Codex → Gemini → Claude, în cascadă)
  4. Verify — build complet + rulare toate cele 6.175 teste. ZERO implicare AI — doar MSBuild și dotnet test
  5. Commit atomic — dacă toate testele trec, modificarea e comisă cu referință la issue-ul original

Elementul crucial este pasul 4: verificarea. AI-ul nu decide dacă codul e corect — build-ul și testele decid. Dacă testele pică, implementarea e respinsă automat și se încearcă cu alt agent sau se escaladează la review uman.

Self-healing supervisor — 800 de linii de Python

Orchestratorul inițial avea o problemă: se bloca. Agentii AI puteau intra în bucle, generau fișiere corupte, sau epuizau contexte de token. Am construit un supervisor care monitorizează orchestratorul și gestionează automat 12 moduri de eșec distincte.

Supervisorul detectează: timeout-uri pe agenți (kill + retry cu alt agent), bucle infinite (abort după 3 încercări), conflicte de merge (rollback automat), erori de rată API (backoff exponențial), și alte scenarii. Totul logat, totul auditabil.

Evoluția prin 4 generații

Sistemul nu a funcționat perfect din prima zi. A evoluat prin 4 generații, fiecare construită pe lecțiile din eșecurile generației anterioare:

  • Generația 1 — Brute force: un singur agent, o singură încercare per issue. 26 issues/sprint, mult manual. Costisitor și lent, dar a validat conceptul
  • Generația 2 — Multi-agent: 3 agenți cu cascadă. A apărut problema "double-pay" — când un agent eșuează și al doilea preia, plătești de două ori. Am optimizat rutarea pentru a trimite direct la agentul potrivit
  • Generația 3 — Dezastrul de 31 ore: am lăsat orchestratorul să ruleze nesupervizat peste noapte. A creat 201 teste fantomă (teste care treceau dar nu testau nimic real), a modificat fișiere de configurare și a corupt starea repo-ului. Am petrecut o zi întreagă curățând. Lecția: AI nesupervizat = pericol real
  • Generația 4 — Supervisor self-healing: supervisorul de 800 de linii, cu 12 moduri de eșec gestionate automat. Rata de regresie: 1,2%. Costul s-a stabilizat la $1,49 per commit

Rezultate verificabile

Nu prezentăm estimări sau proiecții — ci rezultate măsurate, verificabile de oricine pe repository-ul public. Fiecare cifră de mai jos poate fi confirmată din commit history, SonarCloud dashboard sau GitHub issues.

Issue-uri rezolvate

702 din 843 de issue-uri rezolvate — o rată de 83,3%. Restul de 141 sunt fie feature requests care necesită decizii de produs, fie probleme specifice unor configurații hardware pe care nu le putem reproduce.

Calitatea codului

  • 5.247 de warning-uri de analiză statică eliminate complet — de la 5.247 la 0
  • SonarCloud Quality Gate: PASSED cu rating A/A/A (reliability, security, maintainability)
  • Teste: de la 2.179 la 6.175, toate verzi, 0 eșecuri
  • VirusTotal: 0 din 75 detecții — inclusiv rezolvarea unui false positive BitDefender care bloca instalarea

Eficiența costurilor

  • Cost per commit: $1,49 (stabilizat, de la $4,02 în prima zi)
  • Cost total proiect: aproximativ $320 pe întreaga perioadă de modernizare
  • Rata de regresie: 1,2% — doar 7 din 585 implementări au introdus regresii

Sesiunea record — 27 februarie

În sesiunea din 27 februarie, Codex singur a rezolvat 89 din 104 issues (86%). 87 au fost rezolvate din prima încercare, fără intervenție umană. Cele 15 eșecuri au fost escalate la Claude pentru fix-uri complexe.


Ce am învățat — 5 lecții cheie

Modernizarea mRemoteNG ne-a oferit lecții valoroase despre utilizarea AI în proiecte reale de software. Nu sunt lecții teoretice — fiecare a venit cu un cost concret.

1. Simplitatea bate complexitatea

Un singur agent cu context bun rezolvă mai multe probleme decât trei agenți complicați. Sesiunea din 27 februarie a demonstrat-o: Codex cu un prompt bine structurat și context adecvat a avut o rată de succes de 86%. Sistemul multi-agent complex din generația 2 avea doar 71%. Mai mulți agenți înseamnă mai multe puncte de eșec, mai multă coordonare, mai mult cost.

2. Testele automate sunt necesare dar NU suficiente

Din cele 585 de implementări, 7 au introdus regresii care au trecut TOATE cele 6.175 de teste. Testele verifică comportamentul specificat — dar AI-ul poate modifica comportament nespecificat care era totuși important. Am descoperit regresii doar la review-ul uman și la testarea manuală.

3. AI-ul adaugă "features" nesolicitate

Cel mai periculos comportament al agenților AI nu este că greșesc — este că "îmbunătățesc" codul fără să li se ceară. Am găsit cazuri în care AI-ul a adăugat logging suplimentar, a modificat mesaje de eroare, a schimbat formatarea output-ului, sau a "optimizat" algoritmi care funcționau corect. Fiecare astfel de modificare nesolicită este un risc de regresie.

4. Output tokens = 97% din cost

Am analizat costurile per categorie și am descoperit că output tokens reprezintă 97% din costul total. Fiecare explicație verbosă pe care AI-ul o generează — comentarii lungi, justificări detaliate ale modificărilor, rezumate ale contextului — costă bani reali. Am redus costul per commit de la $4,02 la $1,49 în principal prin cererea de răspunsuri concise și eliminarea verbozității.

5. Supravegherea umană rămâne esențială

AI-ul a triajat greșit 38% din deciziile de excludere — a marcat issues ca "won't fix" sau "not reproducible" când de fapt erau probleme reale. Fără review uman pe deciziile de excludere, am fi ratat fix-uri importante. AI-ul este un instrument excelent de execuție, dar deciziile strategice trebuie validate de oameni.


Upstream și comunitate

Toate modificările au fost trimise upstream prin PR #3189 — 761 fișiere modificate, 64.263 linii inserate. Este unul dintre cele mai mari PR-uri din istoria proiectului.

Am publicat documentație completă: un paper științific care descrie metodologia, analiza detaliată a costurilor, catalogul celor 12 moduri de eșec și strategiile de remediere. Totul este open-source și reproducibil de oricine.

Repository-ul fork-ului nostru este disponibil la github.com/robertpopa22/mRemoteNG. Include codul orchestratorului, configurațiile agenților și documentația completă.

Ce urmează

Continuăm să întreținem fork-ul și să contribuim la proiectul upstream. Lecțiile învățate aici le aplicăm în toate proiectele noastre de servicii IT — de la modernizarea aplicațiilor legacy la implementarea de pipeline-uri CI/CD.


Modernizarea mRemoteNG demonstrează ce este posibil când combini expertiză tehnică cu instrumente AI folosite responsabil. Nu magic — ci inginerie disciplinată, cu verificare la fiecare pas.

Descoperă mai multe despre echipa și filozofia noastră pe pagina despre noi sau explorează serviciile noastre IT.

Ai nevoie de servicii IT profesionale? Echipa Geseidl Consulting Group, lider CECCAR Prahova de 18 ani consecutiv, este pregătită să te ajute. Descoperă serviciile noastre sau contactează-ne pentru o consultație gratuită.

Geseidl Consulting Group

CECCAR #1 Prahova · CAFR Rating A · ANEVAR · CCF #233 · ISO 9001:2015

Află mai multe despre noi →

Despre noi

geseidl logo

Soluții inteligente pentru dezvoltarea afacerilor în România

Geseidl Consulting Group

Str. Ana Ipătescu, Nr. 20, Cod 100337,
Ploiești, Prahova, Romania

Acreditări profesionale

CECCAR #1 Prahova
CAFR Rating A
ANEVAR
CCF #233
ISO 9001:2015
ASPAAS
ANPC SAL - Solutionarea Alternativa a LitigiilorANPC SOL - Solutionarea Online a Litigiilor

Copyright ©2017-2026 Geseidl Consulting Group. Toate drepturile rezervate.