GenAI и Salesforce CRM Analytics: почему LLM генерируют действительный Python, но неверный JSON информационной панели (бPython

Программы на Python
Ответить
Anonymous
 GenAI и Salesforce CRM Analytics: почему LLM генерируют действительный Python, но неверный JSON информационной панели (б

Сообщение Anonymous »

В настоящее время я пишу дипломную работу на тему использования Генеративного искусственного интеллекта (LLM, например GPT-4o) для автоматизации создания информационных панелей в Salesforce CRM Analytics (CRMA). Я столкнулся с определенным техническим явлением, касающимся стабильности генерации кода, и хочу узнать мнение сообщества.
Сценарий:
Я создаю агент, который принимает запрос на естественном языке (например, «Показать Net APE по продукту») и генерирует соответствующий актив.
Проблема:
Я заметил огромное несоответствие в Производительность LLM зависит от целевого языка:
  • Python: Когда я прошу LLM сгенерировать код Python (например, для обработки данных или Streamlit), код почти всегда синтаксически правильный и надежный.
  • JSON панели мониторинга CRMA: Когда я прошу LLM сгенерировать JSON для виджета информационной панели (в частности, шагиагрегата), выходные данные являются действительным JSON с точки зрения синтаксиса. Однако его импорт в Salesforce приводит к "Белому экрану смерти" с ошибкой: Невозможно прочитать свойства неопределенного значения (чтение "длины").
Мой технический анализ:
После нескольких часов отладки я обнаружил, что механизм выполнения CRMA крайне неумолим в отношении неявных зависимостей, которые не являются строго частью стандарт JSON, но требуется механизмом рендеринга.
LLM постоянно «галлюцинирует» чистую структуру JSON, но пропускает скрытые пустые параметры.
  • Пример 1: Если в объекте запроса отсутствуют пустые массивы, такие как «filters»: [] или «joins»: [], виджет аварийно завершает работу.
  • Пример 2: Если параметры виджета не содержат "evenRowColor": null, средство рендеринга завершается с ошибкой.
Мое решение (гибридный подход):
Чтобы решить эту проблему для своей диссертации, я отошел от вероятностной генерации структуры JSON. Теперь я использую детерминированный шаблон Python (содержащий «золотую запись» рабочего JSON) и позволяю LLM сопоставлять только семантические значения (имена API). Это работает в 100% случаев.
Мои вопросы к экспертам:
  • Жесткость схемы: Существует ли общедоступная строгая схема (XSD/JSON Schema) для шаговагрегата, которая определяет эти «скрытые» обязательные поля? В стандартной документации, похоже, не подчеркивается, что пустые массивы обязательны для стабильности.
  • Толерантность к анализатору: Почему анализатор Salesforce JSON настолько более хрупкий по сравнению с интерпретатором Python? Известно ли это ограничение устаревшего формата XMD?
  • Agentforce / Copilot: Есть ли у кого-нибудь опыт использования встроенного Agentforce Salesforce в этом контексте? Использует ли он под капотом аналогичный «шаблоновый» подход, чтобы избежать этих синтаксических сбоев?
Я был бы признателен за любую техническую информацию или ссылки, которые могли бы помочь подкрепить выводы моей диссертации!
Спасибо!


Подробнее здесь: https://stackoverflow.com/questions/798 ... t-broken-d
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»