Вибір інструмента без довільного виконання
Перетворіть звернення на дозволений виклик читання. Назва інструмента й аргумент мають належати заздалегідь заданому списку.
Що вирішує модель. Що перевіряє код.
- Один запит визначає дозволену дію, точний ID замовлення та наявність запиту на зміну даних.
- Код перевіряє обидва пороги, список відомих ID і відсутність наміру змінити замовлення.
- Єдиний дозволений інструмент читає вигаданий локальний словник. Жодні URL, довільний код чи зовнішні дії не виконуються.
Прочитайте. Запустіть. Відтворіть.
Розпакуйте архів і відкрийте каталог у терміналі. Перший крок працює без ключа та мережі.
python3 runner.py tool-routingДля реального запуску задайте SHVYDKO_API_KEY у середовищі свого комп’ютера або сервера. Не вставляйте ключ у браузер чи вихідний код. Діють поточні квоти й тариф вашого облікового запису.
python3 runner.py tool-routing --live --output tool-routing-run.jsonЗвіт містить запити, справжні відповіді, час і відоме використання. Файл створюється з приватними правами та не перезаписує наявний. Після мережевої помилки автоматичного повтору немає: перевірте Usage перед новим викликом.
python3 runner.py tool-routing --replay tool-routing-run.jsonReplay перевіряє відповідність рецепта, вхідних даних і запитів. Локальний файл можна редагувати, тому він не є підписаним доказом походження відповідей. Якщо заміните дані своїми, звіт також міститиме їх — зберігайте його приватно.
Відкритий контракт, без прихованих кроків.
План нижче згенеровано тим самим runner із даних архіву. Це запити й очікування автора, а не результат моделі.
{
"mode": "offline_plan",
"model_calls": 0,
"recipe": "tool-routing",
"author_expectation": {
"tool": "lookup_order",
"order_id": "DEMO-104"
},
"notice": "Requests only, no model answers. Hierarchy includes conditional branches; repetition requests are templates.",
"requests": [
{
"state": {
"message": "Please show the delivery status of order DEMO-104. Do not change it.",
"known_orders": [
"DEMO-104",
"DEMO-205"
]
},
"questions": {
"tool": {
"type": "choice",
"instructions": "Which read-only action is requested?",
"criteria": {
"lookup_order": "Read delivery status of one existing order",
"none": "Not a supported read-only lookup"
}
},
"order": {
"type": "choice",
"instructions": "Which exact known order is requested?",
"criteria": {
"DEMO-104": "DEMO-104",
"DEMO-205": "DEMO-205",
"unknown": "No unambiguous known order"
}
},
"changes": {
"type": "noul",
"instructions": "The request asks to change, cancel, refund or otherwise mutate an order."
}
}
}
]
}