Strona główna / Artykuły

MCP, CLI i umiejętności razem: stos łączności dla agentów produkcyjnych

Umiejętności, CLI i MCP rozwiązują różne problemy związane z łącznością. Dowiedz się, kiedy używać każdego z nich, a także o progresywnym odkrywaniu, trybie kodowym i planie rozwoju MCP na rok 2026.

Wydawca: REACTAPP.TOP5 min czytania1106 słów

Źródła: How to Build Production-Ready AI Agents: MCP, CLI, and Skills — the Right Tool for the Right Job

Demos określiły rok 2024, agenci programistyczni rok 2025, a 2026 to rok, w którym agenci do pracy z wiedzą ogólną trafią do produkcji. Podobno Model Context Protocol osiągnął około 110 milionów miesięcznych pobierania, co jest kamieniem milowym osiągniętym szybciej niż w przypadku Reacta. Jednak w miarę jak agenci przejmują procesy biznesowe obejmujące wiele aplikacji SaaS i wspólnych dysków, wciąż pojawia się jeden kluczowy punkt: łączność to nie jedna rzecz. Każdy, kto twierdzi, że istnieje jedna odpowiedź – czy to korzystanie z komputera, MCP czy linia poleceń – przesadza. Silni agenci nie wybierają jednego rozwiązania. Korzystają z całego zestawu narzędzi do łączności jednocześnie.

Trzy warstwy

Umiejętności, CLI i MCP rozwiązują różne problemy i są budowane w inny sposób.

  • Umiejętności zawierają wiedzę specjalistyczną. Są to wielokrotnie używalne instrukcje proceduralne, zazwyczaj pliki w formacie Markdown, które uczą modelu, jak korzystać z narzędzi. Przenoszą się pomiędzy klientami i dostarczają kontekstu niezbędnego do wykonywania złożonych zadań. Mogą być pisane przez ludzi lub generowane przez agenty, a są ładowane z lokalnych katalogów, takich jak .claude/skills/, lub z zdalnych repozytoriów.
  • CLI, czyli obsługa komputera, polega na lokalnej eksploatacji w stylu Unix. Działa efektywnie, zużywa niewiele tokenów (około 200 na odpowiedź) i korzysta z wstępnego szkolenia modelu w zakresie narzędzi takich jak git, gh i curl. Narzędzia CLI uzyskuje się poprzez instalację zwykłych binarników za pomocą menedżera pakietów.
  • MCP to tkanka łączna. Oferuje bogatą semantykę, niezależność od platformy oraz funkcje korporacyjne takie jak OAuth, polityki zarządzania i ślady audytu. Serwer jest definiowany w kodzie, na przykład server.py lub server.ts, wraz z narzędziami, zasobami i poleceniami, i komunikuje się za pomocą JSON-RPC 2.0 przez HTTP lub SSE.
  • Kiedy MCP jest właściwym wyborem

    Zastosuj MCP, gdy potrzebujesz bogatej semantyki, uprawnień oraz niezależności od platformy. Stosuje on podejście oparte na schemacie i deterministyczne do wyboru narzędzi, z wbudowanym zarządzaniem i śladami audytu. Kosztem jest kontekst – naiwna konfiguracja, która wcześniej ładuje wszystkie schematy narzędzi, może zużyć od 44 000 do 55 000 tokenów, a każda odpowiedź to pełny obiekt JSON typowany, co jest doskonałe do programowego parsowania, ale generuje dużo tokenów.

    Dla wszystkich, którzy piszą serwery, zaleca się używanie opisowych nazw funkcji i parametrów oraz dodawanie opisu do każdego parametru. Modele działają lepiej i szybciej, gdy dokładnie wiedzą, czego się od nich oczekuje.

    # Annotated Tool Definitions
    from typing import Annotated
    from datetime import date
    from enum import Enum
    
    class Category(str, Enum):
        TRAVEL = "travel"
        MEALS = "meals"
        OFFICE = "office"
    
    def submit_expense(
        amount: Annotated[float, "The expense amount in USD"],
        date: Annotated[date, "Date of the expense in YYYY-MM-DD format"],
        category: Annotated[Category, "The expense category"]
    ) -> str:
        """Submits a new expense report for approval."""
        pass
    

    Kiedy interfejs wiersza poleceń jest najlepszym wyborem

    Jeśli narzędzie już znajduje się w danych używanych do wstępnego szkolenia modelu, jak w przypadku Git lub GitHub CLI, wykonywanie poleceń z interfejsu wiersza poleceń jest bardzo skuteczne. Model może łączyć polecenia za pomocą rurek i przekierowań oraz tanio iterować nad błędami. Zamiast otrzymywać ogromny pakiet danych w formacie JSON, może filtrować je za pomocą jq i otrzymywać tylko to, czego potrzebuje – zwięzłą odpowiedź liczącą około 200 tokenów.

    Odkrywanie w czasie rzeczywistym

    Największym ulepszeniem w większości narzędzi do zarządzania agentami jest możliwość odkrywania narzędzi w czasie rzeczywistym. Zamiast umieszczać wszystkie narzędzia w oknie kontekstowym, należy odłożyć ich ładowanie do momentu, gdy model faktycznie ich potrzebuje. Daj mu możliwość wykonywania zapytań typu tool_search, aby mógł dynamicznie wyszukiwać narzędzia, co pozwala zmniejszyć zużycie kontekstu o około pięć razy.

    Programowe wywoływanie narzędzi

    Gdy model musi koordynować kilka narzędzi, nie zmuszaj go do wywoływania ich po kolei, ponieważ każdy taki krok powoduje opóźnienie wynikające z przetwarzania. Zastosuj programowe wywoływanie narzędzi, zwane również trybem kodowym. Udostępnij REPL, takie jak izolat V8 lub środowisko Python sandbox, i pozwól modelowi napisać skrypt, który łączy te narzędzia. Skrypt ten jest pisany raz i uruchamia całą sekwencję, co znacznie zmniejsza opóźnienia.

    // Programmatic Tool Calling (Code Mode)
    // Instead of multiple sequential LLM turns, the model writes this script once:
    const issue = await mcp.call_tool("linear_get_issue", { id: "ENG-5121" });
    const prs = await mcp.call_tool("github_list_prs", { repo: "frontend" });
    
    // Use structured output to enforce types
    const expectedType = z.object({ title: z.string(), status: z.string() }).passthrough();
    const typedIssue = await extract("claude-haiku-4-5", expectedType, issue);py
    

    Budowanie dla agentów

    Autorzy serwerów powinni przestać mapować API REST jeden do jednego na serwery MCP i od samego początku projektować rozwiązania z myślą o agentach. Pomagają w tym trzy nawyki: tworzenie narzędzi o jasnym przeznaczeniu, tak jak robiłoby się interfejs dla osoby; udostępnianie środowisk wykonywania, podobnie jak robi to Cloudflare MCP, aby model mógł koordynować złożone procesy w kodzie; oraz publikowanie aplikacji MCP – wykorzystanie semantyki MCP do dostarczania zasobów interfejsu użytkownika, czyli HTML, JavaScript i CSS, przez sieć, dzięki czemu serwer może renderować swój własny interfejs wewnątrz klienta.

    Co przyniesie przyszłość MCP

    Ekosystem szybko rozwija się, aby sprostać potrzebom przedsiębiorstw i zapewnić skalowalność, a plan na rok 2026 obejmuje trzy główne kierunki rozwoju.

    • Lepsza podstawa: nowy transport bezstanowy, zaproponowany przez Google, powinien ułatwić wdrażanie serwerów MCP na Kubernetes i Cloud Run, a oczekuje się również wersji 2.0 SDK dla TypeScript i Python.
    • Integracja wszędzie: funkcja Cross-App Access umożliwiłaby jednokrotne logowanie na serwerach MCP za pośrednictwem dostawcy tożsamości firmy, a serwery mogłyby być automatycznie znajdowane w pliku znajdującym się w adresie .well-known/mcp-server-card/server.json.
    • Poza obecnymi możliwościami: mechanizm Skills over MCP pozwoliłby serwerom dostarczać wiedzę specjalistyczną wraz z narzędziami za pomocą punktów końcowych skills/list i skills/get.

    Wybór spośród nich

    Decyzja zależy od kontekstu i wymagań: MCP, gdy potrzebna jest kontrola oraz bogata semantyka; CLI, gdy model już zna narzędzie i ważne są tokeny; Skills, aby dostarczyć wiedzę proceduralną łączącą te elementy.

    Główne wnioski

    Żaden pojedynczy narzędzie nie jest najlepsze, a przedstawianie MCP jako konkurencji dla CLI pomija istotę problemu. Agenty produkcyjne wymagają kilku warstw. Krytyka MCP, mianowicie wysoki koszt tokenów, braki w zabezpieczeniach oraz nierówna jakość serwerów, wskazuje na rzeczywiste problemy, ale są to problemy inżynieryjne, na które istnieją rozwiązania, a ekosystem już się dostosowuje. Progresywne odkrywanie i tryb Code Mode zmniejszają obciążenie tokenami i opóźnienia, dzięki czemu standard można dostosować, zamiast go porzucić. Rezygnacja z MCP w przedsiębiorstwie zamienia te problemy na gorsze: fragmentację zabezpieczeń, brak ścieżki audytowej oraz uzależnienie od dostawcy. Można oczekiwać, że najsilniejsze agenty będą łączyć Skills do przetwarzania wiedzy, MCP do zarządzanych połączeń, a CLI do taniego wykonywania zadań lokalnie.

    Literatura pokrewna