Запрос на включение выглядел безопасным. Затем CI потерпел неудачу в случае скрытого края. Проблема была не в интеллекте. Большинство демонстраций кода ИИ дают отточенный ответ. Проверка кода требует проверки сгенерированного кода. Фиксированная подсказка. Набор публичных тестов. Набор...
Запрос на включение выглядел безопасным.
Модель написала небольшой помощник по синтаксическому анализу.
Разница была короткой.
Тесты прошли локально.
Затем CI потерпел неудачу в случае скрытого края.
Проблема была не в интеллекте.
Это было доверие без ворот.
Режим отказа
Большинство демонстраций кода ИИ дают отточенный ответ.
Они редко показывают успешную вторую серию.
Проверка кода требует проверки сгенерированного кода.
Ему не нужна большая агентская структура.
Ему нужны три вещи:
Фиксированная подсказка.
Набор публичных тестов.
Набор скрытых тестов, которые модель никогда не видит.
Скрытые тесты имеют значение.
Они улавливают заученные ответы, которые лишь передают модели примеры.
Минимальная обвязка
Вот небольшая обвязка для одной функции.
Он записывает сгенерированный код во временный каталог, запускает его в подпроцессе и сообщает об ошибках.
импортировать JSON
подпроцесс импорта
импортировать временный файл
из пути импорта pathlib
def call_model (подсказка: str) -> str:
# Подключите это к конечной точке вашей модели.
поднять NotImplementedError('заменить адаптером вашего провайдера')
def Assessment (имя_модели: str, задача: dict) -> dict:
код = call_model(задача['подсказка'])
с tempfile.TemporaryDirectory() как tmp:
code_path = Путь (tmp) / 'solution.py'
code_path.write_t