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".
| OpenAI | Anthropic | |
|---|---|---|
| Forma zgłoszenia | paczka ZIP z manifestem | formularz w portalu |
| Nagranie demo | wymagane | niewymagane |
| Weryfikacja domeny | token pod /.well-known/ | nie |
| Przypadki testowe | dokładnie 5 pozytywnych i 3 negatywne | konto testowe z pełnymi danymi |
| Automatyczny skan narzędzi | tak, ze sporem o oznaczenia | tak |
| Czas do publikacji | 14 dni | ten 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ń :-)