Головна / Статті / Практичні зауваження: ZQ Intelligence: Агенти-оркестратори та спеціалісти у сфері фінансів

Практичні зауваження: ZQ Intelligence: Агенти-оркестратори та спеціалісти у сфері фінансів

Покрокове керівництво з практичних нотаток: ZQ Intelligence: агенти-оркестратори та спеціалісти для фінансових операцій – контракти, чеки та слоти для коду для команд, які використовують цю схему.

1664 слів

Використовуйте цей документ як оновлену версію ідей з книги „ZQ Intelligence: Orchestrator-Specialist Agents for Financial Analysis in Snowflake“, призначену для операторів: чіткі етапи, впорядковані блоки коду та примітки щодо відновлення, які зберігаються після передачі обов’язків. Етап Огляду найкраще функціонує, якщо його розглядати як вимірювану поверхню. Збережіть один ідеальний запис, один випадок збою та примітки щодо скасування змін перед розширенням обсягу роботи. Тримайте конфігурацію окремо від коду додатку. Файли середовища, сховища конфіденційних даних та флаги функцій мають знаходитися в одному місці, де оператори можуть їх перевіряти, не читаючи весь код.

ZQ Model as a Service: Як це живить інтелектуальні функції Snowflake

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

Чому спеціалізовані агенти: логіка конвеєрного виробництва

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

Архітектура в одному погляді

На етапі «Архітектура в одному погляді» необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Розглядайте цей етап як контракт між вхідними даними та перевіреними результатами. Призначте назви artefaktам, визначте критерії успіху та не допускайте мовчазного часткового завершення. Забезпечте людське схвалення для операцій, які вимагають витрат грошей чи змінюють дані у продакшені. Компіляційна налаштування не є гарантією повноти бізнес-процесу. На етапі «Архітектура в одному погляді» необхідно визначити вхідні дані, власника кроку та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Зберігайте конфігурацію окремо від коду додатку. Файли середовища, сховища секретних даних та флаги функцій мають знаходитися в одному місці, яке оператори можуть перевіряти, не читаючи весь код.

Сценарій використання 1: Агент ZQ Macro

Під час роботи над етапом ZQ у сценарії використання 1 спочатку запишіть умови виконання: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Такий перелік допомагає зберігати чесність подальших змін у коді. Документуйте як шлях успішного виконання, так і шлях відновлення. Повторні спроби, людський контроль та обробка некоректних повідомлень є частиною продукту, а не етапом подальшої оптимізації. Робіть контрольні пункти після дорогих кроків. Система відновлення не повинна знову стягувати плату за той самий виклик LLM, коли оператор намагається знову виконати пізніший етап.

- Retrieve evidence for a query
CALL TESTING.ZQ_CB_AGENT.ZQ_AGENT_RETRIEVE_EVIDENCE(
 OBJECT_CONSTRUCT('QUERY', 'inflation outlook', 'CENTRAL_BANK', 'federal_reserve_system', 'K', 25)
);
 - Run full analysis (retrieval + stance + uncertainty + forward-looking)
CALL TESTING.ZQ_CB_AGENT.ZQ_AGENT_RUN_FULL_ANALYSIS(
 OBJECT_CONSTRUCT('QUERY', 'unemployment', 'CENTRAL_BANK', 'federal_reserve_system', 'K', 25)
);

Сценарій використання 2: Агент ZQ Equity

Під час роботи над етапом Use Case 2 ZQ спочатку запишіть умови використання: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Такий перелік допомагає зберігати чесність пізніших змін у коді. Віддавайте перевагу невеликим, тестованим одиницям коду перед об’ємними скриптами. Якщо якийсь крок зазнає невдачі, причина має вказувати на конкретну відповідальність, а не на складну послідовність операцій. Робіть перевірки після дорогих кроків. Система повторного запуску не повинна знову стягувати плату за один і той самий виклик LLM, коли оператор намагається виконати наступний етап.

Аналіз, заснований на доказах: як це реалізує ZQ

Під час виконання етапу Evidence-Grounded Analysis How ZQ спочатку запишіть угоду: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність подальших змін у коді. Розглядайте цей етап як угоду між вхідними даними та перевіреними результатами. Позначте всі елементи, визначте критерії успіху та не допускайте безпроблемного часткового виконання завдань. Робіть контрольні пункти після дорогих кроків. Система повернення до виконання не повинна знову оплачувати однаковий виклик LLM, коли оператор намагається виконати наступний етап. Під час виконання етапу Evidence-Grounded Analysis How ZQ спочатку запишіть угоду: необхідні вхідні дані, сигнал про успіх та те, що відбувається у разі часткової невдачі. Цей перелік допомагає зберігати чесність подальших змін у коді. Зберігайте конфігурацію окремо від коду додатку. Файли середовища, сховища конфіденційних даних та флаги функцій мають знаходитися в одному місці, де оператори можуть їх перевіряти, не читаючи весь граф.

Код: Конфігурація інструменту агента

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

# ZQ Macro Agent: tool definitions (agent_spec.py)
tools:
 - tool_spec:
 type: "generic"
 name: "retrieve_evidence"
 description: "Retrieves central bank sentences via Cortex Search and persists for NLP classification. Returns REQUEST_ID for classifier tools."
 input_schema:
 type: "object"
 properties:
 QUERY: { type: "string", description: "Search query for central bank communications" }
 CENTRAL_BANK: { type: "string", description: "Filter by central bank. NULL for all." }
 K: { type: "number", description: "Number of evidence sentences (default 25, max 200)." }
 required: [QUERY]
 - tool_spec:
 type: "generic"
 name: "classify_stance"
 description: "Classifies retrieved evidence by monetary policy stance (Hawkish/Dovish/Neutral). Requires REQUEST_ID from retrieve_evidence."
 input_schema:
 type: "object"
 properties:
 REQUEST_ID: { type: "string", description: "REQUEST_ID from retrieve_evidence" }
 required: [REQUEST_ID]

Код: Пошук у Cortex та зберігання доказів

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

- Cortex Search service over CB sentences
CREATE OR REPLACE CORTEX SEARCH SERVICE TESTING.CB_AI.SENTENCE_SEARCH_SVC
 ON TEXT
 ATTRIBUTES CENTRAL_BANK, YEAR, DOCUMENT_TYPE
 WAREHOUSE = CB_AGENT_WAREHOUSE
AS
SELECT ID, TEXT, CENTRAL_BANK, YEAR, DOCUMENT_TYPE, RELEASE_DATE, …
FROM TESTING.CB_AI.SENTENCE_SEARCH_VW;
 - Evidence and labels tables for traceability
CREATE TABLE TESTING.CB_AI.EVIDENCE_HITS (
 request_id STRING, hit_id STRING, rank INT,
 document_id STRING, sentence_id STRING, text STRING, …
);
CREATE TABLE TESTING.CB_AI.MODEL_LABELS (
 request_id STRING, model_id STRING, hit_id STRING,
 prediction STRING, confidence DOUBLE, …
);

Послідовність обробки: отримання → класифікація → агрегація

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

Висновок

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

Посилання

На етапі „Посилання“ необхідно визначити вхідні дані, відповідальну особу за крок та критерії завершення перед зміною коду. Оператори повинні мати можливість перезапустити крок з відомої точки контролю, не намагаючись вгадати прихований стан. Краще використовувати невеликі, перевірювані одиниці коду замість об’ємних скриптів. Коли крок зазнає невдачі, причина має вказувати на конкретну відповідальність, а не на заплутану структуру процесу. Встановлюйте людське схвалення для тих етапів, де витрачаються гроші чи змінюються дані в продакшені. Підключення на етапі компіляції не є гарантією повноти бізнес-функцій.

Чек-лист для експлуатації

Під час роботи над етапом чек-листу для експлуатації спочатку запишіть умови виконання: необхідні вхідні дані, сигнал про успіх та наслідки часткової невдачі. Цей чек-лист допомагає зберігати чесність подальших змін у коді.

Записуйте час виконання та витрати на токени або запити поруч із функціональними результатами. Візуальний контроль витрат заздалегідь запобігає несподіваним рахункам під час переходу з демо-середовища у спільні середовища.

Створюйте контрольні точки після дорогих кроків. Функція відновлення не повинна знову нараховувати плату за той самий виклик LLM, коли оператор перезапускає пізніший етап.

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

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

Створюйте контрольні точки після дорогих кроків. Функція відновлення не повинна знову нараховувати плату за той самий виклик LLM, коли оператор перезапускає пізніший етап.

Перш ніж запускати стек у продакшн, заморозьте версії, створіть «золотий» запис для критичного шляху та підтвердьте кроки відкату. У спільних середовищах необхідні обмеження на частоту запитів, перевірки прав власності та чіткий власник для зміни секретів. Віддавайте перевагу надійності перед креативними одноразовими демонстраціями.

Примітка до b3ca06f8cc84: не включайте ключі постачальника до репозиторію, встановіть ліміт токенів на сеанс та зберігайте записи поруч із фікстурами для оцінки, щоб подальша заміна моделей залишалася порівнянною.