YouMind
Увійти

Як підключити Jev до Grok Bot: найкращий агент, який я створив

@0x_rody
АНГЛІЙСЬКА20 жовт. 2026 р.
153K
250
22
27
854

Коротко

Цей посібник демонструє, як інтегрувати модель Jev від TypeSafe з Grok Bot для створення маршрутизатора рішень, що запобігає зайвим діям ШІ, таким як непотрібні повторні спроби або дублювання досліджень, оптимізуючи продуктивність і знижуючи витрати.

Grok Bot дає кожному користувачу один хмарний комп'ютер і дозволяє ботам запускати на ньому shell. Більшість людей просто вказують йому на задачі й дивляться, як він знову і знову повторює ту саму помилку.

Ти додаєш один навик маршрутизатора, залишаєш його на тиждень у режимі логування, перш ніж він зможе діяти, і тримаєш під рукою аварійний вимикач.

Налаштуй усе правильно — і повторні спроби припинятимуться ще до того, як почнуть коштувати тобі грошей.

Ось повна інструкція 👇

Перш ніж ми почнемо: я публікую всі детальні гайди у своєму Substack: https://zodchiii.substack.com/ 🧠

rody - inline image

Що Jev повертає як відповідь

Jev — це модель System One від TypeSafe. Вона відповідає типізованим значенням, а не текстом, і постачається з трьома примітивами:

  • Choice обирає один варіант із твого списку та повертає вибір, ймовірності й рівень впевненості
  • Score оцінює стан за заданою шкалою
  • Noul відповідає, чи є твердження істинним, числом від 0 до 1

Оскільки відповідь приходить як значення, ти можеш його логувати, порівнювати рішення за два тижні між собою та проганяти їх заново на вчорашньому трафіку.

Виклик виглядає так:

text
1from typesafe_sdk import Choice, TypeSafeClient
2
3with TypeSafeClient(model="jev-latest") as client: # читає TYPESAFE_API_KEY
4 r = client.system_one(
5 state=f"goal: {goal}\ntask: {task_type}\nlast error: {err} x{repeats}",
6 questions={
7 "action": Choice(
8 instructions="Що агент має робити далі",
9 criteria={
10 "proceed": "Ніщо не вказує на те, що наступний крок буде невдалим",
11 "reuse_cache": "Для цього вже існує свіжий артефакт",
12 "stop_retry": "Той самий підхід зазнав невдачі тим самим чином",
13 "research_capped": "Вже зібрано достатньо джерел",
14 "ask_human": "Крок передбачає надсилання, публікацію, оплату або видалення",
15 },
16 )
17 },
18 )
19
20print(r.choices["action"].choice, r.choices["action"].confidence)

Маршрутизатор обирає один із цих п'яти варіантів і фізично не може відповісти чимось іншим.

Крок 1: отримай API-ключ

Відкрий панель керування TypeSafe і створи API-ключ. Тримай його подалі від чату, репозиторію та будь-якого навику, яким плануєш ділитися.

Крок 2: передай ключ на комп'ютер

Використовуй потік запиту замаскованого секрету. Ключ ніколи не проходить через чат.

Одне, що варто знати перед додаванням: хмарний комп'ютер Grok Bot — це одна машина на акаунт, і кожен бот, якого ти на ній запускаєш, бачить ті самі файли, сесії та логіни. Ключ, який ти туди покладеш, зможуть читати всі вони.

text
1Мені потрібно передати тобі облікові дані API для TypeSafe. Використовуй потік запиту
2замаскованого секрету, а не чат. Значення має потрапити як змінна середовища
3TYPESAFE_API_KEY на твій комп'ютер, і воно не повинно з'являтися в жодному файлі,
4лозі, навику чи репозиторії, який ти створюєш. Підтвердь мені лише те, що змінну встановлено
5і вона доступна для читання, але ніколи не називай її значення.

Крок 3: встанови SDK і перевір його роботу

text
1На своєму комп'ютері виконай: pip install typesafe-sdk
2
3Потім напиши /work/jev/smoke.py, який відкриває TypeSafeClient(model="jev-latest")
4і надсилає один виклик system_one з одним запитанням типу Choice. Стан:
5"goal: file a support ticket. task: routing. last error: none x0".
6Критерії: billing, technical, sales.
7
8Запусти його та покажи мені сирий об'єкт відповіді: вибір, ймовірності
9та рівень впевненості. Якщо TYPESAFE_API_KEY відсутній, зупинись і скажи мені,
10нічого не прописуй жорстко в код.

У виводі ти шукаєш три речі: значення з твого власного списку, розподіл ймовірностей і числовий показник впевненості. Якщо чогось із цього немає, значить SDK спілкується з чимось іншим.

Крок 4: побудуй маршрутизатор

text
1Створи модуль маршрутизатора у /work/jev/router.py з однією функцією:
2
3 route(goal: str, task_type: str, last_error: str, repeats: int) -> dict
4
5Він надсилає Jev саме ці чотири поля як стан, з одним запитанням типу Choice
6під назвою "action" і такими критеріями:
7
8 proceed ніщо не вказує на те, що наступний крок буде невдалим
9 reuse_cache для цього вже існує свіжий артефакт
10 stop_retry той самий підхід зазнав невдачі тим самим чином
11 research_capped вже зібрано достатньо джерел
12 ask_human крок передбачає надсилання, публікацію, оплату або видалення
13
14Повертай вибір, рівень впевненості та ймовірності. Додавай кожен виклик
15до /work/jev/decisions.jsonl із міткою часу, чотирма вхідними параметрами та повною
16відповіддю. Читай поведінку з /work/jev/config.json із двома ключами:
17"enabled" та "mode" ("shadow" або "active"). За замовчуванням enabled має бути false.
18
19Жодного тексту промпту в стані, окрім цих чотирьох полів. Покажи мені файл
20перед тим, як запускати його.
rody - inline image

Ці чотири поля — це весь стан, який бачить Jev. Він ніколи не отримує твій промпт, репозиторій чи розмову, тому виклик залишається компактним, а лог — читабельним.

rody - inline image

Крок 5: додай навик

text
1Створи навик під назвою jev-usage-router.
2
3Тригер: перед будь-якою браузерною сесією, будь-яким етапом дослідження, будь-яким повтором
4невдалого кроку та перед запуском додаткового бота.
5
6Кроки: виклич route() з /work/jev/router.py, передавши поточну мету,
7тип задачі, текст останньої помилки та кількість її повторень.
8Потім дій відповідно до обраної дії:
9
10 proceed продовжуй за планом
11 reuse_cache використовуй наявний артефакт, пропускай роботу
12 stop_retry відмовся від цього підходу та поясни чому
13 research_capped зупинись на 5 джерелах і опиши те, що маєш
14 ask_human призупинись і запитай мене, не дій самостійно
15
16Межа схвалення: ask_human ніколи не перевизначається, незалежно від рівня впевненості.
17Вивід: один рядок на кожне рішення у звіті про запуск.

Зберігай авторитетну копію цього навику у власній системі контролю версій. Grok Bot зберігає лише 20 найсвіжіших записів про запуск для кожної рутини, тому зберігай усе важливе у власне сховище одразу в процесі роботи.

Крок 6: запусти в тіньовому режимі на тиждень

text
1Встанови у /work/jev/config.json значення {"enabled": true, "mode": "shadow"}.
2
3У тіньовому режимі викликай маршрутизатор на кожному тригері та логуй рішення, потім
4ігноруй його і роби те, що зробив би в будь-якому разі. Нічого не змінюй у тому,
5як ти працюєш.
6
7Наприкінці кожного дня додавай до /work/jev/report.md: кількість викликів,
8розподіл дій, середню впевненість і кожен випадок, коли залогована
9дія не збігалася з тим, що ти зробив насправді.

Тіньовий режим існує тому, що дешевий суддя може помилятися. Шукай у логах розбіжності. Якщо stop_retry спрацьовує на підході, який би вдався з четвертої спроби, ти хочеш дізнатися про це до того, як йому дозволять діяти.

Тижня реального трафіку достатньо для аналізу. Будь-який коротший період дасть занадто малу вибірку, щоб зробити висновки.

rody - inline image

Крок 7: переходь в активний режим, але залиш аварійний вимикач

text
1Встанови mode у значення "active". Відтепер дій відповідно до рішення, а не просто логуй його.
2
3Два аварійні вимикачі завжди залишаються доступними для мене:
4 1. "bypass jev" у будь-якому повідомленні, що ігнорує маршрутизатор для цього запуску
5 2. {"enabled": false} у config.json, що повністю вимикає його
6
7ask_human все одно призупиняє роботу і чекає на мене. Продовжуй писати decisions.jsonl точно так само, як раніше.

Продовжуй логувати навіть після перемикання. Лог — це єдиний спосіб відрізнити маршрутизатор, який економить тобі гроші, від того, що тихо зупиняє роботу, яку мав би завершити.

Що маршрутизувати першим

Почни з тієї єдиної рутини, яка постійно повторює спроби, а решту налаштувань не чіпай.

Рутини, які варто маршрутизувати першими, мають одну спільну рису: агент не знає, що він уже знає. Він знову відкриває браузер заради файлу, що лежить на диску, читає чотирнадцяте джерело, коли п'ять уже дали відповідь, або пробує той самий підхід утретє, бо ніхто не сказав йому, що вдруге він провалився з тієї ж причини.

Обери одну, запусти в тіньовому режимі та прочитай лог, перш ніж масштабувати.

Скільки це коштує

Виклик Jev містить лише чотири короткі поля, тому залишається легким. Кожен із них купує тобі можливість пропустити дорогий крок: браузерну сесію, етап дослідження, запуск додаткового бота, повторну спробу.

Вимірюй це на власному трафіку, а не покладайся на чиїсь цифри, включно з моїми. Логуй рішення, логуй пропущений крок і порівнюй тіньовий тиждень з активним.

Про які обмеження варто пам'ятати

  • Один комп'ютер на акаунт. Кожен запущений бот бачить ті самі файли та логіни, тому тримай подалі від цієї машини все, що не дав би їм усім.
  • Двадцять записів про запуск на рутину. Перенось усе важливе у власне сховище.
  • Ліміти використання досі існують. Маршрутизатор зменшує кількість дорогих дій, але не знімає стелю повністю.

То що ти отримуєш у результаті?

Grok Bot думає і працює, Jev відповідає однією з п'яти дій, а ти зберігаєш останнє слово щодо всього, що не можна скасувати.

Почни з рутини, яка постійно ламається однаково, запусти її в тіньовому режимі на тиждень, а потім перемикай.

Дякую, що прочитали!

Повні гайди та решта серії: https://zodchiii.substack.com/

Збереження в один клік

Використовуйте YouMind для AI-глибокого читання віральних статей

Зберігайте джерела, ставте цілеспрямовані запитання, підсумовуйте аргументи та перетворюйте віральні статті на корисні нотатки в одному AI-робочому просторі.

Дослідити YouMind
Для авторів

Перетворіть свій Markdown на охайну статтю для 𝕏

Коли ви публікуєте власні лонгріди, зображення, таблиці та блоки коду роблять форматування в 𝕏 складним. YouMind перетворює повну чернетку в Markdown на чисту статтю для 𝕏, готову до публікації.

Спробувати Markdown для 𝕏

Більше патернів для аналізу

Останні віральні статті

Переглянути більше віральних статей