Практические замечания: ZQ Intelligence: агенты-оркестраторы и специалисты в области финансов
Пошаговое руководство по использованию «Практические заметки: ZQ Intelligence: Агенты-оркестраторы и специалисты для финансовых операций: контракты, чеки и слоты для вставки кода для команд, использующих эту схему».
Используйте это как переработанную версию идей из документа «ZQ Intelligence: Orchestrator-Specialist Agents for Financial Analysis in Snowflake», предназначенную для операторов: четкие этапы, упорядоченные блоки кода и записи о восстановлении, сохраняющиеся при передаче задач. Этап Обзора работает наилучшим образом, если рассматриваться как измеримая основа. Соберите один идеальный пример работы, один случай сбоя и записи о возврате к предыдущему состоянию перед расширением объема работ. Храните конфигурацию отдельно от кода приложения. Файлы среды, хранилища секретов и флаги функций должны находиться в одном месте, чтобы операторы могли их проверять, не читая весь кодовый граф.
ZQ Model as a Service: Как он обеспечивает работу интеллектуальных функций Snowflake
Для модели ZQ в качестве этапа необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Необходимо одновременно задокументировать успешный сценарий выполнения и сценарий восстановления. Повторные попытки, проверки человеком и обработка неработоспособных сообщений являются частью продукта, а не элементами последующей доработки. При следующем шаге, представляющем собой код или вызов инструмента, следует отдавать предпочтение структурированным выводам с проверкой по схеме перед свободным текстовым описанием.
Почему специализированные агенты: логика конвейера
На этапе сборки специалистов по анализу причин необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии системы. Лучше использовать небольшие, тестируемые модули вместо обширных скриптов. При сбое шага он должен указывать на конкретную причину, а не на сложную структуру обработки данных. Внедрять человеческое утверждение для операций, связанных с расходованием средств или изменением производственных данных. Простая связь на этапе компиляции не гарантирует полноты бизнес-логики.
Архитектура в одном взгляде
На этапе «Архитектура в одном взгляде» необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Рассматривайте этот этап как контракт между входными данными и проверенными выходными результатами. Дайте названия результатам работы, определите критерии успеха и не допускайте молчаливого частичного завершения задачи. Внедряйте утверждение человека для операций, связанных с тратой денег или изменением производственных данных. Компиляционная настройка не заменяет полноты обработки бизнес-задач. На этапе «Архитектура в одном взгляде» необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Храните конфигурацию вне кода приложения. Файлы среды, хранилища секретов и флаги функций должны находиться в одном месте, которое операторы могут проверять, не читая весь код.
Сценарий использования 1: Агент ZQ Macro
При работе над этапом ZQ в рамках сценария использования 1 сначала запишите условия работы: необходимые входные данные, сигнал успешного выполнения и действия при частичной неудаче. Такой чек-лист поможет сохранять честность при последующих изменениях кода. Документируйте одновременно успешный и восстановительный пути выполнения. Повторные попытки, проверки человеком и обработка неработоспособных сообщений являются частью продукта, а не элементами последующей доработки. Создавайте контрольные точки после дорогостоящих операций. Функция возобновления выполнения не должна повторно взимать плату за один и тот же вызов большой языковой модели, когда оператор пытается выполнить следующий этап.
- 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, …
);
Цепочка обработки: Получение → Классификация → Агрегация
Этап извлечения и классификации данных в конвейере работает наилучшим образом, когда рассматривается как измеримая структура. Соберите один эталонный пример транскрипции, один случай сбоя и запись о возврате к предыдущему состоянию перед расширением объема работ. Рассматривайте этот этап как контракт между входными данными и проверенными выходными результатами. Дайте названия всем элементам, определите критерии успешного выполнения и не допускайте молчаливого частичного завершения задачи. Разделяйте политику разбиения данных на части и политику их извлечения. Изменение одной из них не должно приводить к переписыванию другой при изменении показателей качества. Этап извлечения и классификации данных в конвейере работает наилучшим образом, когда рассматривается как измеримая структура. Соберите один эталонный пример транскрипции, один случай сбоя и запись о возврате к предыдущему состоянию перед расширением объема работ. Храните конфигурацию вне кода приложения. Файлы среды, хранилища секретов и флаги функций должны находиться в одном месте, чтобы операторы могли их проверять, не читая весь код.
Заключение
На этапе завершения необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Необходимо задокументировать как успешный, так и восстановительный сценарии работы. Повторные попытки, проверки человеком и обработка неработоспособных сообщений являются частью продукта, а не элементами последующей доработки. Внедрять утверждение человеком для операций, связанных с тратой денег или изменением производственных данных. Настройка на этапе компиляции не гарантирует полноты функционала продукта.
Ссылки
На этапе разработки ссылок необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед внесением изменений в код. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии системы. Лучше использовать небольшие, тестируемые модули вместо обширных скриптов. При сбое шага причина должна быть связана с конкретной функцией, а не с запутанной структурой обработки данных. Внедрять человеческое утверждение для операций, связанных с расходованием средств или изменением производственных данных. Простая настройка во время компиляции не гарантирует полноты реализации бизнес-логики.
Чек-лист операций
При работе над чек-листом операций сначала необходимо описать условия работы: требуемые входные данные, сигнал о успешном выполнении и действия при частичном сбое. Такой чек-лист помогает сохранять честность последующих изменений в коде.
Записывайте время выполнения и стоимость токенов или запросов рядом с функциональными результатами. Визуальное отображение стоимости заранее предотвращает неожиданные счета при переходе с демо-среды в общедоступные среды.
Создавайте контрольные точки после дорогостоящих операций. Функция возобновления не должна снова взимать плату за один и тот же вызов ЯИИ, когда оператор пытается выполнить последующий узел заново.
Фиксируйте версии зависимостей и сохраняйте хэш изображения, с использованием которого выполнялась демонстрация. Воспроизводимость важнее устного опыта сотрудников.
Храните конфигурацию вне кода приложения. Файлы среды, хранилища секретов и флаги функций должны находиться в одном месте, чтобы операторы могли их проверять, не читая весь граф.
Создавайте контрольные точки после дорогостоящих операций. Функция возобновления не должна снова взимать плату за один и тот же вызов ЯИИ, когда оператор пытается выполнить последующий узел заново.
Перед внедрением стека заморозьте версии, сделайте копию «золотого» транскрипта для критической цепочки операций и уточните шаги возврата к предыдущему состоянию. В совместных средах необходимы ограничения на частоту запросов, проверки принадлежности пользователя и четко определенный ответственный за обновление секретов. Лучше выбирать надежность, чем креативные одноразовые демонстрации.
Примечание для b3ca06f8cc84: не храните ключи поставщика в репозитории, установите лимит токенов на сессию и сохраняйте транскрипты рядом с фикстурами для оценки, чтобы последующие замены моделей оставались сопоставимыми.