Pracuj z agentami AI

Zabezpieczenia dla agentów AI, które piszą API

Agent zmienia nazwę pola odpowiedzi równie chętnie jak nazwę zmiennej, nie pytając, którzy klienci je czytają. Wychwyć niezgodną zmianę w jego lokalnych sprawdzeniach i jeszcze raz w wymaganym sprawdzeniu CI.

Wstaw sprawdzenia w pętlę agentaZainstaluj API Genie

Zmiana nazwy odrzucona, potem wykonana bezpiecznie

Agent zmienia w odpowiedzi nazwę customerName na customer_name. apigenie diff względem pliku z gałęzi bazowej ocenia zmianę odpowiedzi jako łamiącą zgodność i kończy się kodem 1. Agent zostawia stare pole, oznacza je jako przestarzałe, dodaje nowe i ponowne sprawdzenie przechodzi, jako JSON, który może odczytać. Wymagane sprawdzenie CI uruchamia to samo polecenie w pull requeście, więc scalenie zależy od niego, nie od lokalnego uruchomienia agenta.

$ apigenie diff main.yaml api.yaml
api.yaml
  10  7  breaking  Modified operation GET /orders/{orderId}
  10  7  breaking  Modified response code 200
$ echo $?
1
$ # keep customerName, deprecated; add customer_name
$ apigenie diff main.yaml api.yaml \
    --report status --formatter json
{
  "formatVersion": 1,
  "status": "non-breaking"
}
$ echo $?
0

Co obejmuje

  • Jedna tabela kodów wyjściaWspólna dla czterech plików binarnych i zamrożona obietnicą zgodności 1.0 dla apigenie, generatora i serwera.
  • JSON na żądanielint, diff, format, test, katalog i raport kontraktu serwera, każdy z formatVersion, który zmienia się tylko wtedy, gdy pole znika lub zmienia znaczenie.
  • Konfiguracja ze schematemapigenie.yaml jest sprawdzany względem swojego JSON Schema, zanim przeczyta go jakiekolwiek polecenie.
  • Dokumentacja, którą agent może czytaćPrzewodniki, strony referencyjne i reguły lintera jako Markdown, wymienione w llms.txt i zebrane w llms-full.txt.
  • Serwery MCP z kontraktuapigenie-generator server mcp pisze narzędzie na każdą operację (eksperymentalne).
  • Wygenerowany kod, sprawdzonyWalidujące proxy sprawdza to, co zwraca serwer agenta, względem kontraktu.

Narzędzia, które to robią

Krok po kroku (przewodnik po angielsku)

Work with AI agents: Put the linter, the diff and the formatter in a coding agent's loop, so that what it changes in a contract is checked the way a person's change is.

Ta sama odpowiedź dla agenta, recenzenta i CI

lint, diff i format dają agentowi JSON, recenzentowi tekst, a CI kod wyjścia, z tymi samymi regułami za każdym z nich.

Inne zastosowania