Opublikowano: 28 kwietnia 2025 r., ostatnia aktualizacja: 21 maja 2025 r.

Szybki rozwój AI otwiera nowe możliwości dla aplikacji internetowych, zwłaszcza dzięki pojawieniu się funkcji działających na urządzeniu. Dowiedz się, jak CyberAgent, czołowa japońska firma internetowa, wykorzystuje wbudowaną w Chrome'a AI i interfejs Prompt API, aby ulepszyć blogowanie na swojej platformie, Ameba Blog.
Opowiemy o ich celach, korzyściach płynących z pracy z wbudowaną AI, wyzwaniach, z którymi się zmierzyli, oraz o cennych spostrzeżeniach dla innych deweloperów korzystających z wbudowanej AI.
Czym jest interfejs Prompt API?
| Wyjaśnienie | Sieć | Rozszerzenia | Stan Chrome | Intencja |
|---|---|---|---|---|
| GitHub | Wyświetl | Intencja wysłania | ||
| GitHub | Wyświetl | Intencja przeprowadzenia eksperymentu |
Interfejs Prompt API pomaga deweloperom korzystać z dużych modeli językowych, aby dodawać funkcje AI bezpośrednio do swoich aplikacji. Dzięki definiowaniu niestandardowych promptów aplikacje mogą wykonywać takie zadania jak wyodrębnianie danych, generowanie treści i personalizowanie odpowiedzi. W Chrome interfejs Prompt API wykonuje wnioskowanie po stronie klienta za pomocą Gemini Nano. To lokalne przetwarzanie, niezależnie od używanego modelu, zwiększa prywatność danych i szybkość odpowiedzi. Niezależnie od używanego modelu szybkość odpowiedzi klienta.
Pomoc AI dla autorów Ameba Blog
CyberAgent zauważył powszechny problem, z którym borykają się autorzy: często czasochłonny proces tworzenia atrakcyjnych treści, zwłaszcza tytułów. Postawili hipotezę, że zintegrowanie funkcji opartych na AI w interfejsie tworzenia bloga może znacząco poprawić jakość i wydajność tworzenia treści. Ich celem było udostępnienie narzędzi, które będą inspirować i pomagać blogerom w tworzeniu angażujących treści.
CyberAgent opracował rozszerzenie Chrome z interfejsem Prompt API. To rozszerzenie udostępnia zestaw funkcji opartych na AI, które mają pomagać autorom Ameba Blog w generowaniu tytułów i nagłówków, kolejnych akapitów oraz ogólnych ulepszeń tekstu.
CyberAgent zależało na elastyczności funkcji, co doprowadziło go do interfejsu Prompt API. Dzięki nieskończonym możliwościom w jednym interfejsie API CyberAgent mógł dokładnie określić, co będzie najlepiej działać i najbardziej przyda się autorom Ameba.
CyberAgent przetestował rozszerzenie z wybraną grupą blogerów, co pozwoliło uzyskać cenne informacje na temat praktyczności oferowanych funkcji. Opinie pomogły CyberAgentowi znaleźć lepsze zastosowania pomocy AI i udoskonalić projekt rozszerzenia. Na podstawie pozytywnych wyników i opinii CyberAgent planuje w przyszłości udostępnić tę funkcję, udostępniając społeczności blogerów możliwości AI po stronie klienta.
Przyjrzyjmy się bliżej tym funkcjom.
Pisanie lepszych tytułów i nagłówków
Rozszerzenie generuje wiele propozycji tytułów na podstawie pełnej treści bloga. Autorzy blogów mogą dodatkowo dopracowywać te sugestie, korzystając z opcji takich jak „Wygeneruj ponownie”, „Bardziej uprzejmy”, „Bardziej swobodny” czy „Wygeneruj podobne tytuły”.
CyberAgent zaprojektował interfejs użytkownika tak, aby użytkownicy nie musieli pisać żadnego promptu. Dzięki temu z możliwości AI mogą korzystać również użytkownicy, którzy nie znają się na inżynierii promptów.
Rozszerzenie może też generować atrakcyjne nagłówki poszczególnych sekcji bloga, o które autorzy mogą poprosić, zaznaczając odpowiedni tekst.
Kod do wygenerowania tytułu za pomocą interfejsu Prompt API zawiera prompt początkowy i prompt użytkownika. Prompt początkowy zawiera kontekst i instrukcje, aby uzyskać określony typ danych wyjściowych, natomiast prompt użytkownika prosi model o interakcję z tym, co pisze użytkownik. Więcej informacji o kodzie znajdziesz w artykule Wdrażanie pomocy AI.
Generowanie kolejnych akapitów
Rozszerzenie pomaga blogerom pokonać blokadę pisarską, generując kolejne akapity na podstawie zaznaczonego tekstu. Dzięki kontekstowi z poprzedniego akapitu AI tworzy jego kontynuację, co pozwala autorom zachować kreatywność.
Ulepszanie i edytowanie tekstu
Gemini Nano analizuje zaznaczony tekst i może sugerować ulepszenia. Użytkownicy mogą ponownie generować ulepszenia z dodatkowymi uwagami dotyczącymi tonu i wyboru języka, aby tekst był „ładniejszy” lub „prostszy”.
Wdrażanie pomocy AI
CyberAgent podzielił kod rozszerzenia na 3 etapy: tworzenie sesji, wyzwalanie i promptowanie modelu.
Najpierw sprawdzają w przeglądarce, czy wbudowana AI jest dostępna i obsługiwana. Jeśli tak, tworzą sesję z parametrami domyślnymi.
if (!LanguageModel) {
// Detect the feature and display "Not Supported" message as needed
return;
}
// Define default values for topK and temperature within the application
const DEFAULT_TOP_K = 3;
const DEFAULT_TEMPERATURE = 1;
let session = null;
async function createAISession({ initialPrompts, topK, temperature } = {}) {
const { available, defaultTopK, maxTopK, defaultTemperature } =
await LanguageModel.availability();
// "readily", "after-download", or "no"
if (available === "no") {
return Promise.reject(new Error('AI not available'));
}
const params = {
monitor(monitor) {
monitor.addEventListener('downloadprogress', event => {
console.log(`Downloaded: ${event.loaded} of ${event.total} bytes.`);
});
},
initialPrompts: initialPrompts || '',
topK: topK || defaultTopK,
temperature: temperature || defaultTemperature,
};
session = await LanguageModel.create(params);
return session;
}
Każda funkcja ma funkcję pomocniczą wywoływaną przez użytkownika. Po wywołaniu, gdy użytkownik kliknie odpowiedni przycisk, sesja zostanie odpowiednio zaktualizowana.
async function updateSession({ initialPrompts, topK, temperature } = {
topK: DEFAULT_TOP_K,
temperature: DEFAULT_TEMPERATURE,
}) {
if (session) {
session.destroy();
session = null;
}
session = await createAISession({
initialPrompts,
topK,
temperature,
});
}
Po zaktualizowaniu sesji model jest promptowany zgodnie z funkcją. Oto na przykład kod do wygenerowania tytułu i ponownego wygenerowania tytułu w bardziej formalnym tonie.
async function generateTitle() {
// Initialize the model session
await updateSession({
initialPrompts: [
{ role: 'system',
content: `Create 3 titles suitable for the blog post's content,
within 128 characters, and respond in JSON array format.`,
}
]
});
const prompt = `Create a title for the following
blog post.${textareaEl.textContent}`;
const result = await session.prompt(prompt);
try {
const fixedJson = fixJSON(result);
// display result
displayResult(fixedJSON);
} catch (error) {
// display error
displayError();
}
}
async function generateMoreFormalTitle() {
// Do not execute updateSession to reuse the session during regeneration
const prompt = 'Create a more formal title.';
const result = await session.prompt(prompt);
...
}
Zalety wbudowanej AI
Wbudowana AI to rodzaj AI po stronie klienta, co oznacza, że wnioskowanie odbywa się na urządzeniu użytkownika. CyberAgent zdecydował się na użycie wbudowanych interfejsów AI API z Gemini Nano ze względu na atrakcyjne zalety, jakie oferuje zarówno deweloperom aplikacji, jak i użytkownikom.
Główne korzyści, na których skupił się CyberAgent, to:
- Bezpieczeństwo i prywatność
- Koszt
- Szybkość reakcji i niezawodność
- Łatwość programowania
Bezpieczeństwo i prywatność
Możliwość uruchamiania modeli AI bezpośrednio na urządzeniu użytkownika bez przesyłania danych na serwery zewnętrzne jest najważniejsza. Wersje robocze blogów nie są przeznaczone do publicznego wglądu, dlatego CyberAgent nie chce wysyłać ich na serwer zewnętrzny.
Wbudowana AI pobiera Gemini Nano na urządzenia użytkowników, eliminując potrzebę wysyłania i odbierania danych z serwerów. Jest to szczególnie przydatne podczas pisania, ponieważ wersje robocze mogą zawierać poufne informacje lub niezamierzone wyrażenia. Wbudowana AI przechowuje oryginalne i wygenerowane treści lokalnie, zamiast wysyłać je na serwer, co może zwiększyć bezpieczeństwo i chronić prywatność treści.
Oszczędności
Jedną z głównych zalet korzystania z wbudowanej AI jest to, że przeglądarka zawiera Gemini Nano, a interfejsy API są bezpłatne. Nie ma żadnych dodatkowych ani ukrytych kosztów.
Wbudowana AI znacznie zmniejsza koszty serwera i może całkowicie wyeliminować koszty związane z wnioskowaniem AI. To rozwiązanie można szybko skalować do dużej bazy użytkowników, a użytkownicy mogą przesyłać kolejne prompty, aby dopracowywać wyniki bez ponoszenia dodatkowych opłat.
Szybkość reakcji i niezawodność
Wbudowana AI zapewnia spójne i szybkie czasy odpowiedzi niezależnie od warunków sieciowych. Dzięki temu użytkownicy mogą wielokrotnie generować treści, co znacznie ułatwia im wypróbowywanie nowych pomysłów i szybkie uzyskiwanie satysfakcjonujących wyników.
Łatwość programowania
Wbudowana AI w Chrome upraszcza proces programowania, udostępniając gotowy interfejs API. Deweloperzy mogą łatwo tworzyć funkcje oparte na AI dla swoich aplikacji.
Gemini Nano i wbudowane interfejsy AI API są zainstalowane w Chrome, więc nie trzeba ich dodatkowo konfigurować ani zarządzać modelem. Interfejsy API korzystają z JavaScriptu, podobnie jak inne interfejsy API przeglądarki, i nie wymagają wiedzy z zakresu uczenia maszynowego.
Pokonywanie wyzwań w celu uzyskania lepszych wyników
Praca CyberAgenta z interfejsem Prompt API pozwoliła mu zdobyć cenne doświadczenie w zakresie pracy z LLM po stronie klienta.
- Niespójne odpowiedzi: podobnie jak inne LLM, Gemini Nano nie gwarantuje identycznych wyników dla tego samego promptu. CyberAgent napotkał odpowiedzi w nieoczekiwanych formatach (np. Markdown i nieprawidłowy JSON). Nawet w przypadku instrukcji wyniki mogą się znacznie różnić. Podczas wdrażania dowolnej aplikacji lub rozszerzenia Chrome z wbudowaną AI warto dodać obejście, aby mieć pewność, że dane wyjściowe są zawsze w prawidłowym formacie.
- Limit tokenów: zarządzanie wykorzystaniem tokenów jest kluczowe. CyberAgent używał właściwości i metod takich jak
contextUsage,contextWindowimeasureContextUsage(), aby zarządzać sesjami, utrzymywać kontekst i zmniejszać zużycie tokenów. Było to szczególnie ważne podczas dopracowywania tytułów. - Ograniczenia rozmiaru modelu: model jest pobierany i przechowywany na urządzeniu użytkownika, dlatego jest znacznie mniejszy niż model oparty na serwerze. Oznacza to, że w prompcie trzeba podać wystarczający kontekst, aby uzyskać zadowalające wyniki, zwłaszcza w przypadku podsumowania. Więcej informacji o rozmiarach LLM.
CyberAgent podkreśla, że chociaż modele po stronie klienta nie są jeszcze powszechnie dostępne we wszystkich przeglądarkach i urządzeniach, a mniejsze modele mają ograniczenia, mogą one nadal zapewniać imponującą wydajność w przypadku określonych zadań. Możliwość szybkiego iterowania i eksperymentowania bezpłatnie po stronie serwera sprawia, że jest to cenne narzędzie.
Radzą, aby znaleźć równowagę, zdając sobie sprawę, że uzyskanie idealnych odpowiedzi jest trudne w przypadku każdej AI, zarówno po stronie serwera, jak i po stronie klienta. Wreszcie, widzą przyszłość, w której podejście hybrydowe, łączące zalety AI po stronie serwera i po stronie klienta, otworzy jeszcze większy potencjał.
Perspektywy
Badanie wbudowanej AI przez CyberAgenta pokazuje ekscytujące możliwości bezproblemowej integracji AI w celu zwiększenia komfortu użytkowników. Rozszerzenie opracowane do współpracy z Ameba Blog pokazuje, jak można praktycznie wykorzystać te technologie do rozwiązywania rzeczywistych problemów, co stanowi cenną lekcję dla szerszej społeczności deweloperów internetowych.
W miarę rozwoju technologii i rozszerzania obsługi przeglądarek i urządzeń spodziewamy się jeszcze bardziej innowacyjnych zastosowań wbudowanej AI i innych form AI po stronie klienta.
Zasoby
- Więcej informacji o interfejsie Prompt API
- Rozpocznij korzystanie z wbudowanych interfejsów API w Chrome
- Studium przypadku CyberAgenta dotyczące AI w internecie, które obejmuje ten sam temat.
- Obejrzyj Przyszłość AI jest już teraz, studium przypadku CyberAgenta dotyczące AI po stronie klienta
Podziękowania
Dziękujemy blogerom Ameby: ao, Nodoka, Erin, Chiaki i socchi, którzy przekazali opinie i pomogli ulepszyć rozszerzenie. Dziękujemy Thomasowi Steinerowi, Alexandrze Klepper i Sebastianowi Benzowi za pomoc w napisaniu i sprawdzeniu tego posta na blogu.