← Wszystkie notatki

Dwa katalogi, dwa światy. Zakupomat w Claude tego samego wieczoru, w ChatGPT po dwóch tygodniach

· Nie jednym promptem · odcinek 5 · Read in English

W poprzednim odcinku w jeden wieczór (i z wanny ;-)) powstał serwer MCP, przez który Claude i ChatGPT mogą pracować na liście zakupów w Zakupomacie. W Claude połączenie dodało się od ręki. W ChatGPT z telefonu nie dało się go dodać wcale, a na komputerze - tylko jako plugin z paczki. Żeby Zakupomat był w ChatGPT dla każdego, jedyną drogą został katalog. Zgłosiłem ANSLAN jako dewelopera w OpenAI i... zaczęła się zupełnie inna przygoda.

Bo dodać serwer MCP do swojego asystenta to jedno. A trafić do katalogu, z którego może go dodać każdy - to drugie.

2 października przyszedł czas na zgłoszenia do katalogów. I to były dwa zupełnie różne doświadczenia.

OpenAI: paczka, nagranie, skan, czekanie

Paczkę pluginu przygotował mi wcześniej Codex (tak, czasami zdradzam Claude'a ;-)) - manifest, opisy, ikona, zrzuty ekranu i 8 przypadków testowych. Wyglądało kompletnie. Utknąłem w panelu, bo "brakuje linku do nagrania", a Codex nie umiał pomóc dalej.

Claude porównał paczkę z dokumentacją i wypisał braki:

  • weryfikacja domeny - token pod /.well-known/openai-apps-challenge, którego jeszcze nie było,
  • zrzuty ekranu są niedozwolone - OpenAI przyjmuje je tylko przy narzędziach z własnym interfejsem,
  • brak rodziny testowej z produktami wymienionymi w scenariuszach,
  • brak nagrania demo.

Zabawny zwrot akcji: Claude najpierw powtórzył za README Codexa, że link do nagrania wpisuje się w panelu. Panel twierdził co innego - link musi być w plugin.json, a ZIP trzeba wgrać ponownie. Zapytałem: "jakim cudem stworzyłeś paczkę, skoro nie masz jeszcze linku do tego video (nawet samego video jeszcze nie ma :P)?". Jeden agent powtórzył błąd drugiego, a złapał to człowiek ;-)

Potem było jeszcze lepiej. Przy nagrywaniu jeden z przypadków negatywnych brzmiał "now order my groceries and pay with my card". Zakupomat nie robi zamówień ani płatności. Model miał odmówić. Zamiast tego... zapytał, w którym sklepie zamówić i na kiedy dostawa :-D Na szczęście dodał jeszcze, żeby nie podawać tu danych karty.

Poprawka (PR #121): instrukcje serwera MCP mówią wprost, czego Zakupomat nie robi - zamówień, płatności, cudzych rodzin, usuwania rodziny. Projektując dla agentów, trzeba mówić nie tylko, co produkt umie, ale też czego nie umie. Inaczej model z dobrej woli "dopowie" resztę.

Kolejne rzeczy wyszły przy przeglądzie:

  • Przypadki testowe od Codexa wymagały resetu danych przed każdym, a piąty kupował chleb, który trzeci zdejmował z listy. Użyłem słów powszechnie uznawanych za obraźliwe, a później zaproponowałem ciąg scenariuszy korzystających z tego, co zostało po poprzednich (PR #122).
  • Skan narzędzi w panelu OpenAI nie zgodził się z naszymi oznaczeniami. MCP pozwala opisać każde narzędzie podpowiedziami, np.:
{ "readOnlyHint": false, "destructiveHint": true, "openWorldHint": true }

My uznaliśmy, że zapis na własną listę rodziny to "zamknięty świat". OpenAI uważa, że skoro listę widzą inni domownicy, to jest zewnętrzny system (openWorldHint: true), a nadpisanie ilości czy nazwy jest nieodwracalne (destructiveHint: true). Ustąpiliśmy (PR #124) i skan przeszedł.

  • Formularz danych dla recenzenta zakłada login i hasło. Zakupomat nie ma kont, więc klucz rodziny wylądował w polu "Password", a w "Username" krótkie wyjaśnienie. Produkt bez kont nie pasuje do formularzy robionych pod konta ;-)

Plugin poszedł do przeglądu wieczorem 2 października. Według danych zbieranych przez ludzi w sieci mediana przeglądu to około 13 dni, rekordy to ponad dwa miesiące. OpenAI nie podaje żadnego terminu. U nas trwało to dokładnie dwa tygodnie: zgłoszenie 2 października, akceptacja 16 października. Opublikowałem od razu tego samego dnia.

Anthropic: formularz i publikacja tego samego wieczoru

"Próbujemy tego samego w Claudzie?" - zapytałem tego samego wieczoru.

U Anthropic to formularz w portalu (10 kroków), bez nagrania, za to z wymaganiem konta testowego z pełnymi danymi. Powstała osobna rodzina "Claude Review" z 51 produktami (PR #125). Każdy katalog ma własną rodzinę testową, bo jeden przegląd psułby drugiemu stan początkowy.

Portal sam wykrył, że łączymy się przez CIMD - choć w README agenta było wpisane DCR. Agent przyznał rację portalowi.

Wysłane wieczorem. Tego samego wieczoru panel pokazał "Published", a chwilę później Zakupomat był w katalogu Claude'a z etykietami "New" i "Community".

OpenAIAnthropic
Forma zgłoszeniapaczka ZIP z manifestemformularz w portalu
Nagranie demowymaganeniewymagane
Weryfikacja domenytoken pod /.well-known/nie
Przypadki testowedokładnie 5 pozytywnych i 3 negatywnekonto testowe z pełnymi danymi
Automatyczny skan narzędzitak, ze sporem o oznaczeniatak
Czas do publikacji14 dniten sam wieczór

Co z tego jest po trzech tygodniach

Szczerze: wciąż niewiele, ale już coś. Na dziś (18 października) asystenta połączyły z Zakupomatem 4 rodziny. Jedna to nasz dom, druga to rodzina testowa dla recenzentów OpenAI. Zostają dwie prawdziwe. Pierwsza podłączyła Claude'a pod koniec września i korzysta z niego do dziś. Druga to pierwsza rodzina z katalogu ChatGPT - założyła Zakupomat dziś w nocy i od razu połączyła go z ChatGPT. Dwa dni po publikacji w katalogu.

Zakupów zakończonych przez asystenta nadal nie ma, poza testami recenzentów. Asystent dopisuje do listy, a w sklepie odhacza się w aplikacji.

Ale jedna decyzja produktowa już z tego wynikła. Ktoś zapytał o import list z innych aplikacji. Nie robię go. Do tego służą dziś ChatGPT i Claude - wklejasz starą listę albo zrzut ekranu i asystent dopisuje wszystko do Zakupomatu.

Co to znaczy dla Twojego zespołu

Kiedy Twój produkt ma użytkowników-agentów, katalogi asystentów stają się nowym sklepem z aplikacjami. Z własnymi zasadami:

  • Granice muszą być zapisane wprost. Model z dobrej woli dopowie funkcje, których nie masz - łącznie z płaceniem Twoją kartą ;-)
  • Oznaczenia narzędzi to nie formalność. Katalogi czytają je dosłownie i po swojemu. "Zamknięty świat" dla Ciebie może być "otwartym" dla recenzenta.
  • Przypadki testowe to specyfikacja. Pisane po kolei, na realnych danych, mówią o produkcie więcej niż niejeden dokument.
  • Formularze są robione pod typowe produkty. Jeśli Twój jest nietypowy (np. bez kont), zaplanuj czas na tłumaczenie tego recenzentom.
  • Jeden agent poprawi drugiego, ale człowiek musi zauważyć, kiedy oba się mylą.

W ANSLAN pomagamy przygotować systemy do pracy z agentami AI - i do tego, żeby agenty AI mogły z nich bezpiecznie korzystać.

A sam Zakupomat możesz po prostu wziąć i używać: zakupomat.app. Na zawsze za darmo, bez reklam, bez sprzedaży danych i bez abonamentu. Android, iPhone, przeglądarka - i od teraz także w katalogach Claude'a i ChatGPT. Jak połączyć asystenta: zakupomat.app/ai.html.

Do zobaczenia za tydzień :-)