OpenAI Agents SDK, Agents API sau Responses API: ce alegi în 2026

OpenAI Agents SDK, Agents API și Responses API, comparate pe criterii de producție: buclă, stare, unelte, cost și date în UE. Cu exemple de cod și scenarii.

15 minute de lectură

OpenAI Agents SDK, OpenAI Agents API și Responses API sunt cele trei căi prin care construiești un agent pe platforma OpenAI, iar diferența dintre ele se reduce la două întrebări: cine rulează bucla agentului și cine îi păstrează starea. Cu Responses API apelezi modelul și scrii tu bucla; cu OpenAI Agents SDK bucla rulează în procesul tău, dintr-o bibliotecă open-source; cu Agents API o rulează OpenAI, care păstrează și sesiunea. Ghidul le compară pe criterii de producție, cu documentația oficială citită la 8 octombrie 2026.

OpenAI Agents SDK, Agents API sau Responses API: cine ține bucla agentului și unde îi stă starea

Pe scurt Responses API Agents SDK Agents API
Ce este API-ul de bază pentru apeluri către model bibliotecă open-source, Python și TypeScript serviciu găzduit, în public beta
Cine ține bucla codul tău Runner-ul bibliotecii, în procesul tău OpenAI, printr-un harness gestionat
Unde stă starea la tine sau, opțional, la OpenAI în stocarea ta sau, opțional, la OpenAI la OpenAI, în sesiune, până o ștergi
Procesarea datelor în UE disponibilă, cu aprobare cea a API-ului apelat nu: rezidență doar în SUA, fără ZDR

OpenAI Agents SDK, Agents API, Responses API: ce desparte cele trei căi

Un agent are trei piese: modelul, bucla care execută uneltele cerute de model și starea care trece de la un pas la altul. Modelul este același pe toate cele trei căi; se schimbă cine deține celelalte două piese. Ghidul oficial de alegere pune problema la fel: alegi un runtime după locul în care rulează orchestrarea și după cine administrează starea între sarcini. Al patrulea punct de pornire de pe pagină, ChatKit, este o interfață de chat, nu un runtime.

Cele trei sunt straturi, nu trepte: Agents SDK apelează implicit Responses API, iar cheia pentru Agents API cere și permisiunea de scriere pe Responses, pentru inferență.

Responses API: apelezi modelul și ții tu bucla

Responses API este interfața recomandată de OpenAI pentru toate proiectele noi; Chat Completions rămâne suportat. Intrarea și ieșirea nu mai sunt mesaje, ci Items tipizate: mesaj, apel de funcție, rezultat de funcție, raționament. Pentru agenți contează un detaliu din documentație: GPT-6 Astra și GPT-6.1 Sol cer Responses API pentru tool calling. Migrarea, costul și cache-ul sunt în ghidul de migrare pe GPT-6 Sol și Luna.

Primești, fără cod de orchestrare:

  • Unelte găzduite: web search, file search, code interpreter, computer use, generare de imagini, shell și servere MCP la distanță. Modelul poate chema mai multe într-o singură cerere.
  • Funcțiile tale: modelul întoarce un Item function_call, tu execuți funcția și trimiți înapoi un function_call_output.
  • Trei feluri de a ține starea: retrimiți tu istoricul, înlănțui răspunsurile cu previous_response_id sau folosești Conversations API. Răspunsurile se stochează implicit, cu retenție de 30 de zile; store: false oprește stocarea.

Nu primești bucla. Exemplul este fluxul din ghidul oficial de function calling, adaptat minim: altă funcție, iar cei doi pași din documentație sunt puși într-o buclă cu limită.

import json
from openai import OpenAI

client = OpenAI()

tools = [
    {
        "type": "function",
        "name": "stare_comanda",
        "description": "Întoarce starea unei comenzi după numărul ei.",
        "parameters": {
            "type": "object",
            "properties": {"numar_comanda": {"type": "string"}},
            "required": ["numar_comanda"],
        },
    },
]


def stare_comanda(numar_comanda: str) -> str:
    return f"Comanda {numar_comanda}: predată curierului, livrare estimată mâine."


input_list = [{"role": "user", "content": "Unde este comanda RO-1042?"}]

for _ in range(6):  # frâna o pui tu
    response = client.responses.create(
        model="gpt-6-astra",
        instructions="Răspunzi doar pe baza rezultatului întors de tool.",
        tools=tools,
        input=input_list,
    )
    input_list += response.output  # istoricul îl ții tu

    apeluri = [item for item in response.output if item.type == "function_call"]
    if not apeluri:
        break
    for item in apeluri:
        argumente = json.loads(item.arguments)
        input_list.append(
            {
                "type": "function_call_output",
                "call_id": item.call_id,
                "output": stare_comanda(**argumente),
            }
        )

print(response.output_text)

Condiția de oprire, limita de pași și istoricul sunt ale tale, la fel și cazurile netratate aici: argumente JSON malformate, o funcție care aruncă o excepție, un istoric care depășește fereastra de context. Acolo se desparte bucla de demo de cea de producție, iar cursul Construire de Aplicații AI cu Python și SDK-uri parcurge drumul în ordinea firească: întâi scrii bucla de tool use de mână, pe Chat Completions și pe API-ul Anthropic, apoi o predai unui Runner, în modulul „Primul agent cu OpenAI Agents SDK”. Handoff-urile și orchestrarea multi-agent nu intră în acel curs. Pentru primul apel de API, streaming și function calling, vezi ghidul de la API la produs.

OpenAI Agents SDK: bucla rulează în procesul tău

OpenAI Agents SDK este o bibliotecă open-source, sub licență MIT, cu două implementări: openai-agents pentru Python (0.23.1 pe PyPI la 8 octombrie 2026, Python 3.10 sau mai nou) și @openai/agents pentru TypeScript (0.19.0 pe npm, instalat împreună cu zod). Ambele sunt la versiuni 0.x, deci fixează versiunea în proiect.

Bucla scrisă de mână devine un apel, Runner.run(...) în Python și run(...) în TypeScript: cheamă modelul, execută uneltele cerute, schimbă agentul la un handoff și se oprește la răspunsul final. Peste ea stau primitivele din documentația de azi:

  • Agenți și unelte: funcții decorate cu @function_tool, cu schema generată din semnătură, unelte găzduite, alți agenți expuși ca unelte.
  • Handoff-uri: un agent predă conversația unui specialist, care devine proprietarul răspunsului.
  • Guardrails și aprobare umană: verificări pe intrare, pe ieșire sau în jurul unei unelte, plus întreruperi în care rularea așteaptă decizia unui om.
  • Sesiuni: biblioteca încarcă și salvează istoricul într-o stocare pe care o controlezi.
  • Tracing: activ implicit pe server, cu urmele vizibile în panoul Traces al platformei.
  • Sandbox agents: mediu izolat, cu fișiere și shell, prin integrări cu furnizori de sandbox.

Pentru stare, documentația dă patru strategii și recomandă una singură per conversație: istoricul ținut de aplicație, o sesiune, un conversationId sau previous_response_id. Primele două țin starea la tine, ultimele două la OpenAI.

La MCP există două variante. Un server public se atașează ca unealtă găzduită (HostedMCPTool), iar apelul trece prin platforma OpenAI. Un server local sau privat se conectează din procesul tău, prin stdio sau streamable HTTP. Protocolul este explicat în articolul despre MCP.

Exemplul pornește de la quickstart-ul oficial al Agents SDK și combină o unealtă, un handoff și o sesiune.

import asyncio

from agents import Agent, Runner, SQLiteSession, function_tool


@function_tool
def stare_comanda(numar_comanda: str) -> str:
    """Întoarce starea unei comenzi după numărul ei."""
    return f"Comanda {numar_comanda}: predată curierului, livrare estimată mâine."


agent_livrari = Agent(
    name="Livrari",
    handoff_description="Specialist pentru starea comenzilor și livrare.",
    instructions="Răspunzi doar pe baza tool-ului stare_comanda. Nu inventezi date.",
    model="gpt-6-astra",
    tools=[stare_comanda],
)

agent_triaj = Agent(
    name="Triaj suport",
    instructions="Trimiți fiecare întrebare la specialistul potrivit.",
    model="gpt-6-astra",
    handoffs=[agent_livrari],
)

session = SQLiteSession("conversatie_123")


async def main() -> None:
    rezultat = await Runner.run(
        agent_triaj,
        "Unde este comanda RO-1042?",
        session=session,
        max_turns=6,
    )
    print(rezultat.final_output)
    print(rezultat.last_agent.name)


if __name__ == "__main__":
    asyncio.run(main())

O capcană de producție: guardrails definite pe agent nu rulează peste tot. Cele de intrare rulează doar pentru primul agent din lanț, cele de ieșire doar pentru agentul care dă răspunsul final, deci validarea unei acțiuni cu efect se pune lângă unealta care o execută. Proiectarea lor, împreună cu handoff-urile și tracing-ul, pe un scenariu de suport pentru un magazin online, este materia lecției „OpenAI Agents SDK: Arhitectura Multi-Agent Nativă” din cursul AI Agents: Arhitectura și Automatizarea Sistemelor Autonome.

La Anthropic, împărțirea este alta: Claude Agent SDK aduce în procesul tău chiar harness-ul agentului de cod, cu uneltele lui de fișiere și terminal. La OpenAI, biblioteca îți dă bucla și primitivele, iar harness-ul Codex se consumă ca serviciu, prin Agents API. Comparația cu LangGraph și CrewAI este în ghidul de framework-uri de agenți.

OpenAI Agents API: OpenAI rulează agentul și îi păstrează sesiunea

Agents API este în public beta: jurnalul de modificări al API-ului îl consemnează la 10 septembrie 2026, iar la 29 septembrie adaugă computer use. Se vede și în cod: metodele stau în spațiul beta.agents, iar cererile poartă antetul OpenAI-Beta: agents=v1.

Serviciul dă aplicației tale acces la harness-ul Codex printr-un API administrat de OpenAI, care gestionează sesiunile, orchestrarea, compactarea contextului și reluarea după erori; aplicația ta furnizează uneltele și alege mediul de execuție. Este harness-ul agentului de cod din ghidul practic Codex, oferit aici ca infrastructură. Lucrezi cu patru concepte: agentul, mediul opțional de execuție (openai_hosted, self_hosted sau none), sesiunea durabilă și evenimentele, urmărite prin streaming sau webhooks.

Capabilitățile, citite la sursă:

  • Execuție găzduită. În sandbox-ul OpenAI agentul rulează cod, editează fișiere și produce artefacte; fișierele din /workspace/outputs rămân descărcabile după expirarea sandbox-ului.
  • Memorie. Documentația nu descrie o funcție separată cu acest nume. Persistă sesiunea, cu tururile și itemii ei, iar harness-ul rezumă munca anterioară ca să încapă în context.
  • Multi-agent. Cu multi_agent.enabled, agentul deleagă sarcini independente unor subagenți paraleli, implicit cel mult șase simultan.
  • Computer use. Agentul navighează într-un browser găzduit de OpenAI; aprobarea accesului la fiecare site și autentificarea le tratează aplicația ta.
  • Uneltele tale. Serverele MCP la distanță sunt apelate direct de harness. Funcțiile rămân la tine: codul tău primește fiecare apel, iar dacă handlerul nu răspunde, agentul rămâne în așteptare.

Exemplul din quickstart-ul Agents API, cu instrucțiunile traduse:

from openai import OpenAI

with OpenAI() as client:
    with client.beta.agents.sessions.create(
        agent={
            "model": "gpt-6-astra",
            "instructions": "Scrii cod curat, îl rulezi și raportezi rezultatul real.",
        },
        environment={"type": "openai_hosted"},
        input="Creează tree.py, un script care afișează arborele de fișiere din directorul curent. Rulează-l și arată-mi rezultatul.",
        stream=True,
    ).with_result_collection() as stream:
        for event in stream:
            print(event.type)
        result = stream.get_final_result()
    print(result.output_text)
    session_id = result.session_id  # cu el continui sau ștergi sesiunea

Nu există buclă în cod: creezi sesiunea, trimiți sarcina, citești evenimentele. Un tur încheiat nu garantează că fiecare unealtă a reușit, avertizează documentația.

Cât costă OpenAI Agents API

Documentația enumeră trei componente: tokenii modelului ales, la tarifele lui de API; uneltele OpenAI, la tarifele lor standard; sandbox-urile găzduite, la tarifele standard de containere. O taxă separată pentru serviciu nu apare. Pe pagina de prețuri (developers.openai.com/api/docs/pricing), la 8 octombrie 2026, containerele erau listate la 0,03 dolari pentru 1 GB, 0,12 dolari pentru 4 GB și 0,48 dolari pentru 16 GB, pe sesiune de 20 de minute. Sandbox-ul găzduit are 1, 4 sau 16 GB de memorie, implicit 4 GB.

Unde stau datele

Pentru o echipă din România, acesta este criteriul care scoate cel mai des Agents API din discuție. Documentația spune că serviciul suportă deocamdată rezidența datelor doar în Statele Unite și nu suportă Zero Data Retention; un sandbox propriu nu schimbă asta, fiindcă harness-ul și inferența rămân în serviciul OpenAI. Starea sesiunii se păstrează până o ștergi. Despre o restricție de acces din UE documentația nu spune nimic. Există și o variantă pe AWS, Bedrock Managed Agents, de verificat în documentația AWS.

Aceeași idee la Anthropic, agentul rulat de furnizor cu execuția uneltelor în sandbox-ul tău, este descrisă în ghidul despre Managed Agents, MCP și guvernanță.

AgentKit, Agent Builder, ChatKit și Assistants API: starea la 8 octombrie 2026

  • Assistants API a fost închis la 26 august 2026; înlocuitorii indicați sunt Responses API și Conversations API.
  • Agent Builder, editorul vizual de fluxuri, este depreciat din 3 iunie 2026 și are închiderea programată la 30 noiembrie 2026. Ghidul de migrare exportă fluxul sub formă de cod Agents SDK, fără garanția aceluiași comportament; continui cu Agents SDK sau cu un agent de workspace în ChatGPT, pe planurile Business, Enterprise sau Edu. Un tutorial de Agent Builder sau o comparație cu n8n nu mai are rost pentru un proiect nou.
  • ChatKit rămâne disponibil. Pentru proiecte noi, documentația recomandă integrarea cu serverul tău: ChatKit este interfața, iar agentul din spate este al tău.
  • AgentKit nu mai apare ca produs în ghidurile de agenți. În documentația API citită azi, numele apare doar într-un rând din tabelul de prețuri („Agent Kit”, stocarea fișierelor încărcate prin ChatKit) și într-o intrare din mai 2026 a jurnalului de modificări.

Dacă nu scrii cod, discuția este alta: ghidul ChatGPT Work.

Decisions API este în public beta din 6 octombrie 2026, pe POST /v1/decisions, cu un singur model, gpt-6-luna. Nu este un runtime de agenți: primește text și imagini și întoarce răspunsuri tipizate (probabilitatea unei condiții, o alegere dintr-o listă fixă, un scor pe o grilă). Lângă un agent, locul lui este la margini: rutare, clasificare, verificare înaintea unei acțiuni.

Tabel comparativ: OpenAI Agents SDK vs Responses API vs Agents API

Trei căi către un agent pe platforma OpenAI: ce rămâne în aplicația ta și ce se mută la OpenAI, bucla și starea

Criteriu Responses API Agents SDK Agents API
Cine ține bucla codul tău Runner-ul, în procesul tău harness-ul gestionat de OpenAI
Unde stă starea istoricul tău, previous_response_id sau Conversations API sesiuni în stocarea ta; opțional, la OpenAI sesiunea de la OpenAI: configurație, tururi, itemi
Unelte unelte găzduite și funcțiile tale, executate de tine funcții, unelte găzduite, MCP local sau găzduit, agenți ca unelte unelte ale serviciului, MCP, funcții tratate de aplicația ta
Observabilitate ce loghezi tu tracing încorporat, activ implicit jurnal de sesiuni și trase, cu export OTLP JSON
Facturare tokeni și unelte găzduite biblioteca e open-source; plătești API-ul apelat tokeni, unelte și containere pentru sandbox-ul găzduit
Alt furnizor de model rescrii integrarea adaptoare pentru alte modele, în pachetul Python harness și inferență în serviciul OpenAI; variantă pe AWS
Procesarea datelor globală, SUA sau UE, cu aprobare cea a API-ului apelat rezidență doar în SUA, fără ZDR

Ce alegi: cinci scenarii

  1. Un endpoint care răspunde dintr-o singură cerere, cu căutare pe web sau în documente. Responses API. Uneltele găzduite acoperă cazul.
  2. Un asistent în produsul tău, cu unelte interne, aprobare umană pentru acțiunile cu efect și istoricul în baza ta de date. Agents SDK, pentru sesiuni, aprobări și guardrails.
  3. Sarcini lungi pe fișiere și cod: rapoarte din date, investigarea unui incident. Agents API cu sandbox găzduit, dacă datele pot sta în SUA și îți asumi un API în beta. Altfel, Agents SDK cu sandbox agents, pe infrastructura ta.
  4. Date personale din UE, cu cerință contractuală de procesare în UE sau de ZDR. Responses API pe endpointul regional, cu bucla ta sau cu Agents SDK deasupra, fără Conversations API și fără Agents API.
  5. Vrei să poți schimba furnizorul de model. Agents SDK, cu uneltele ținute ca funcții și servere MCP, sau o bibliotecă neutră din ghidul de framework-uri citat mai sus.

Criteriile pe care tutorialele le sar

Costul unei rulări lungi

Un agent face mai multe apeluri de model pentru o sarcină, iar fiecare reprocesează instrucțiunile, uneltele și istoricul. Trei precizări din documentație, uitate în estimări: previous_response_id nu reduce factura, fiindcă tokenii de intrare din tot lanțul se facturează din nou; tokenii de raționament se facturează ca ieșire, iar subagenții fac propriile apeluri; un procent mare de intrare citită din cache nu măsoară economia pe sarcină. La Agents API, câmpul usage este orientativ și nu reprezintă factura finală. Măsoară costul pe sarcină dusă la capăt, nu pe apel.

Evaluarea înainte de lansare

Trasele arată dacă agentul a ales unealta potrivită. Pasul următor, un set de date de referință și rulări repetabile, nu mai merită construit pe platforma OpenAI: Evals platform a fost depreciată la 3 iunie 2026, evaluările existente devin doar-citire la 31 octombrie, iar panoul și API-ul au închiderea programată la 30 noiembrie 2026. Calea de migrare indicată de OpenAI este Promptfoo. Ține setul de referință și aserțiunile în depozitul tău. Construcția lui, calibrarea unui model-judecător și porțile de calitate din CI, cu DeepEval și Promptfoo, sunt subiectul cursului AI Evals pentru LLM-uri în Producție.

Dependența de furnizor

La Responses API, specifice OpenAI sunt formatul de Items și uneltele găzduite. La Agents SDK, uneltele tale rămân funcții și servere MCP, deci se mută ușor; orchestrarea se rescrie. La Agents API, la OpenAI stau și bucla, și starea sesiunii, pe un API în beta. Istoria recentă este un argument: Assistants API a fost închis, iar Agent Builder depreciat, ambele în 2026.

Rezidența datelor în UE și ZDR

România intră în regiunea „Europe (EEA + Switzerland)” din documentația OpenAI. La 8 octombrie 2026:

  • Responses API suportă stocare și procesare regională în Europa, prin eu.api.openai.com. Condițiile: eligibilitate stabilită cu echipa de vânzări, aprobare pentru un control de retenție (ZDR sau Modified Abuse Monitoring), un amendament contractual și un adaos de 10 % la tarif pentru modelele eligibile lansate începând cu 5 martie 2026.
  • Conversations API nu este eligibil pentru ZDR și nu figurează printre serviciile regiunii europene.
  • Agents API: rezidență doar în SUA, fără ZDR.
  • Agents SDK moștenește regimul API-ului apelat. Regimul traselor trimise în platformă nu este precizat; biblioteca permite dezactivarea trasării.

Acestea sunt fapte de documentație, nu o analiză juridică.

Întrebări frecvente

Care este diferența dintre OpenAI Agents SDK și Responses API? Responses API este apelul către model: scrii tu bucla, oprirea și istoricul. OpenAI Agents SDK este o bibliotecă open-source care rulează bucla în procesul tău și adaugă handoff-uri, guardrails, sesiuni și tracing. SDK-ul apelează implicit Responses API, deci alegi între a scrie orchestrarea și a o prelua.

OpenAI Agents API este disponibil general sau în beta? În public beta, din 10 septembrie 2026. La 8 octombrie 2026, metodele erau în spațiul beta.agents, iar cererile cereau antetul OpenAI-Beta: agents=v1.

Cât costă OpenAI Agents API? Plătești tokenii modelului ales la tarifele lui de API, uneltele OpenAI la tarifele standard și, dacă folosești sandbox-ul găzduit, tariful standard de containere. Documentația nu listează o taxă separată pentru serviciu.

Pot folosi OpenAI Agents SDK în TypeScript sau doar în Python? În ambele. Pachetul Python este openai-agents, iar cel TypeScript este @openai/agents, instalat împreună cu zod. Conceptele sunt aceleași: Runner.run și final_output în Python, run și finalOutput în TypeScript.

Responses API înlocuiește Chat Completions? Chat Completions rămâne suportat, dar OpenAI recomandă Responses API pentru proiectele noi. Pentru agenți diferența este practică: GPT-6 Astra și GPT-6.1 Sol cer Responses API pentru tool calling, iar începând cu GPT-5.4, Chat Completions acceptă tool calling doar cu reasoning_effort setat pe none.

Concluzie

Alegerea se face după cine ține bucla și unde stă starea, nu după model. Responses API îți lasă tot controlul și tot codul. OpenAI Agents SDK preia bucla, handoff-urile, guardrails și trasarea și le rulează în procesul tău. Agents API mută și bucla, și sesiunea la OpenAI: cel mai puțin cod, dar un serviciu în beta, cu rezidența datelor doar în SUA și fără ZDR la 8 octombrie 2026. Ordinea verificărilor: unde au voie să stea datele, cât costă o sarcină dusă la capăt, cum evaluezi agentul și abia apoi câte linii de cod economisești.

Surse

Toate sursele au fost citite la 8 octombrie 2026.

Consultate și: jurnalul de modificări, paginile de prețuri și de modele, documentația Agents API și Agents SDK, ghidurile Decisions și ChatKit, PyPI, npm și depozitele oficiale de pe GitHub.

Articol redactat la 8 octombrie 2026. Agents API și Decisions API sunt în beta, iar Agents SDK este la versiuni 0.x: parametrii, limitele și tarifele se pot schimba. Exemplele de cod au fost verificate local la nivel de importuri și de construire a obiectelor; niciunul nu a fost rulat pe API-ul real. Cursuri-AI.ro este furnizor de cursuri plătite, deci parte interesată.

Autor

Echipa editorială Cursuri AI

Redacție dedicată AI-ului aplicat, în limba română. Actualizăm articolul când se schimbă modelele, prețurile sau legislația la care face referire.

  • Surse oficiale citate în text
  • Revizuit înainte de publicare

Cursul care continuă acest articol

Construire de Aplicații AI cu Python și SDK-uri (OpenAI, Anthropic): de la API la Produs

  • 27 lecții
  • ~24h de conținut
  • IT Pro

Ai citit teoria. În curs o aplici: lecții structurate pe module, exerciții și quiz-uri cu feedback imediat, Profesorul AI integrat în fiecare lecție și progres salvat automat. La final primești o atestare privată de finalizare.

Din programa cursului

  1. Fundamente: de la API de LLM la mediul tău Python
  2. Primul apel: chat completions, mesaje și parametri
  3. Streaming și UX: răspunsuri în timp real
  4. Function calling / tool use: conectează modelul la codul tău

+ încă 7 module în programa completă

499 lei pe lună pentru acest curs, TVA 21% inclus · sau 1.999 lei pe lună pentru toate cele 25 de cursuri IT Pro (vezi ce înveți în tot parcursul).

Abonament lunar, cu reînnoire automată · anulezi oricând din contul tău · conținut digital cu acces imediat, vezi condițiile de retragere. Atestarea confirmă parcurgerea cursului și este privată — nu este diplomă și nu este calificare recunoscută de stat.

Ți-a plăcut articolul? Lasă o apreciere sau salvează-l pentru mai târziu.
Newsletter

Cele mai recente articole despre AI, pe email

Primești pe loc cele mai recente trei articole și cursul asociat, când există, apoi cel mult trei emailuri în următoarele două săptămâni. Te dezabonezi oricând.

Comunitate

Întrebări & sugestii

Ce au întrebat cititorii despre acest articol — și răspunsurile echipei Cursuri AI.

Mesajele sunt verificate de un moderator înainte de publicare.

Fii primul care lasă o întrebare sau o sugestie pe acest articol.

Catalogul complet

50 de cursuri AI în română, cu exerciții, quiz-uri și Profesor AI

Un curs: 499 lei pe lună · pachet Non-IT: 1.499 lei pe lună · pachet IT Pro: 1.999 lei pe lună. Toate cu TVA inclus, începutul primei lecții se citește fără cont.