Нажмите ESC, чтобы закрыть

Автоматизация криптотрейдинга и фарминга на ИИ-агентах (2026)

Автономный ИИ-агент собирается из трех изолированных модулей: сборщик ончейн-данных (RPC-ноды и API индексаторов), когнитивное ядро (LLM с низким интервалом ответа) и шлюз исполнения транзакций (Action Layer). Попытка завязать логику торговли на коммерческие модели с жесткой цензурой вроде GPT-4o приведет к блокировке ключей во время высокой волатильности, их внутренние фильтры безопасности часто расценивают трансляцию торговых сигналов как генерацию финансового риска. Для стабильной автоматизации используются модели без цензуры на открытых весах (Llama 3.3 70B, DeepSeek V3), развернутые на децентрализованных хостингах или доступные через специализированные шлюзы вроде Venice AI.

Слой исполнения привязывается к инфраструктуре с минимальным пингом. В секторе бессрочных контрактов (перпов) стандартом стал Hyperliquid API благодаря работе на выделенном L1-аппчейне со скоростью обработки ордеров до 0.1 секунды. Когнитивное ядро не имеет прямого доступа к кошельку: модель получает массив рыночных метрик и отдает рекомендацию в формате JSON, которую локальный скрипт на Python проверяет на соответствие жестким лимитам перед отправкой в сеть.

Держите код, а документацию по Hyperliquid API читайте здесь: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals

import osimport jsonimport requestsfrom eth_account import Account# вытаскиваем ключи из среды, хардкодить приватники в тексте — клиника
VENICE_URL = "https://api.venice.ai/api/v1/chat/completions"
VENICE_KEY = os.getenv("VENICE_API_KEY", "")
WALLET_KEY = os.getenv("AGENT_PRIVATE_KEY", "0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef")def get_market_data(coin="ETH"):
    # парсим стакан и текущий фандинг напрямую с аппчейна Hyperliquid
    try:
        r = requests.post("https://api.hyperliquid.xyz/info", json={"type": "metaAndAssetCtxs"}, timeout=8)
        res = r.json()
        universe = res[0]["universe"]
        ctxs = res[1]
        idx = next(i for i, a in enumerate(universe) if a["name"] == coin)
        return {
            "ticker": coin,
            "price": float(ctxs[idx]["midPrice"]),
            "funding": float(ctxs[idx]["funding"]),
            "oi": float(ctxs[idx]["openInterest"])
        }
    except Exception:
        return None # если HL лагает, ордера не трогаем, безопасность вышеdef ask_brain(context):
    if not VENICE_KEY:
        return {"action": "HOLD", "pct": 0, "leverage": 1}
    headers = {"Authorization": f"Bearer {VENICE_KEY}", "Content-Type": "application/json"}
    
    # зажимаем модель в рамки, чтобы не плевалась текстом. нужен чистый json
    prompt = (
        "You are a trading bot execution engine. Analyze the metrics. "
        "Return JSON ONLY. No markdown blocks, no text explanations. "
        "Format: {\"action\": \"BUY\"|\"SELL\"|\"HOLD\", \"pct\": int, \"leverage\": int}"
    )
    payload = {
        "model": "llama-3.3-70b-instruct",
        "messages": [
            {"role": "system", "content": prompt},
            {"role": "user", "content": f"Data: {json.dumps(context)}"}
        ],
        "temperature": 0.1 # убираем галлюцинации и креатив
    }
    try:
        r = requests.post(VENICE_URL, json=payload, headers=headers, timeout=12)
        out = r.json()["choices"][0]["message"]["content"].strip()
        # сносим бектики, если модель затупила и добавила разметку кода
        if "```" in out:
            out = out.split("```")[1].replace("json", "").strip()
        return json.loads(out)
    except Exception:
        return {"action": "HOLD", "pct": 0, "leverage": 1}def filter_limits(decision, current_price):
    # жесткий предохранитель. если модель сошла с ума — код ее подрежет
    if decision["action"] not in ["BUY", "SELL"]:
        return None
    # лимитируем плечо до 3х и объем до 5% от депо
    leverage = min(int(decision.get("leverage", 1)), 3)
    pct = min(int(decision.get("pct", 0)), 5)
    if pct <= 0:
        return None
    # закладываем проскальзывание 0.3%, чтобы ордер исполнился сразу
    slip = 1.003 if decision["action"] == "BUY" else 0.997
    return {
        "coin": "ETH",
        "side": decision["action"],
        "px": round(current_price * slip, 2),
        "lev": leverage,
        "size_pct": pct
    }def run_pipeline():
    if WALLET_KEY != "0x0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef":
        acc = Account.from_key(WALLET_KEY)
        print(f"[+] Бот запущен для адреса: {acc.address}")
    ctx = get_market_data("ETH")
    if not ctx:
        print("[-] Нет связи с HL.")
        return
    raw_decision = ask_brain(ctx)
    final_order = filter_limits(raw_decision, ctx["price"])
    if final_order:
        print(f"[+] Ордер сформирован: {json.dumps(final_order)}")
    else:
        print("[*] Ждем условий, позиция без изменений.")if __name__ == "__main__":
    run_pipeline()

Автоматизация Yield Farming на кредитных рынках

В спотовом DeFi-секторе агентов обычно натаскивают управлять долговыми позициями в изолированных пулах (типа Morpho Blue или Fluid) или в старой доброй Aave V3. Самая большая проблема тут - это непрерывно считать коэффициент здоровья (Health Factor, он же HF), иначе позицию разнесут в щепки. Бот дергает контракт PoolLens через RPC и считает риски по классике:

risk
 

Если рынок идет на дно и залог начинает обесцениваться, агент должен сам инициировать частичное погашение долга (Self-Deleverage). Чтобы не тратить свои деньги, он крутит флэшлоаны через Balancer или Uniswap V3. Это критично, потому что в том же Morpho штраф за ликвидацию огромный, можно в секунду потерять 10-15% от всего депо.

Если бот прыгает между пулами в погоне за жирным APY, в код обязательно нужно зашивать жесткий просчет стоимости транзы. Скрипт стучится в ParaSwap или 1inch API, забирает котировки и вычитает из доходности потери на газ и проскальзывание (slippage). Если трансфер стейблов, например, из Arbitrum в Base, будет окупаться дольше 72 часов, шлем модель лесом. Транзакция блокируется на уровне базовой логики скрипта, even если у LLM там в прогнозах максимальный приоритет и эйфория.

Матрица рисков для автономных систем

Отдавать кошелек под управление LLM - это всегда огромный риск. У нейросетей куча своих специфических багов, которых в обычном алгоритмическом трейдинге отродясь не было.

  • Отравление фида (Data Poisoning)
    Злоумышленники начинают крутить фейковые транзы ончейн или спамить фейк-ньюс. ИИ видит в этом «начало мощного тренда» и лезет закупаться на хаях.
    Решение - мульти-опрос источников. Скрипт должен сверять текстовый бред из соцсетей с сырыми объемами торгов прямо из блокчейна. Если ликвидности в пуле нет — игнорируем.
  • Ошибки форматирования (JSON Break)
    На рынке начинается дикая волатильность, модель паникует, забывает закрыть кавычку, сует в ответ лишний текст или ломает JSON. Скрипт падает, бот лежит.
    Решение - жесткий try/except. Любая синтаксическая ошибка при парсенге ответа от LLM должна моментально ронять логику в режим HOLD (удержание). Безопасность превыше всего.
  • Фронтраннинг ребалансировки
    Бот кидает транзакцию на перенос ликвидности в публичный мемпул, где его тут же пасут MEV-боты. В итоге ловим дикий проскальз и теряем деньги.
    Решение - приватные RPC. Все транзакции отправляем строго через Flashbots Protect или BuilderRPC в обход публичного мемпула, чтобы нас никто не видел.
  • Каскадный лаг сети
    На сильном проливе газ в L1 улетает в космос. Транзакции бота на долив маржи зависают мертвым грузом, и позицию благополучно ликвидируют.
    Решение - запас по газу и ликвидности. Всегда держим 15-20% депозита нетронутыми в нативных токенах (ETH/SOL) на балансе и закладываем в maxFeePerGas запас минимум в +50% от текущего медианного значения сети.

Из всего этого следует, что давать когнитивной части управлять рисками - это самоубийство. Модель хороша только как гибкий аналитик, чтобы искать скрытые связки и профитные пулы. Но объемы позиций, максимальные плечи и триггеры экстренного выхода из рынка должны быть намертво захардкожены в коде.


FAQ

Автономные ИИ-агенты предотвращают ликвидацию DeFi-позиций путем автоматического проведения флэш-лоанов (flash loans) для частичного погашения долга при приближении коэффициента здоровья (Health Factor) к критическому порогу. Скрипт непрерывно опрашивает смарт-контракты через RPC-ноды, вычисляя соотношение стоимости скорректированного залога к текущему объему займа. При резком падении рынка агент мгновенно привлекает ликвидность из пулов Balancer или Uniswap V3, совершает атомарное погашение части задолженности и восстанавливает маржинальные требования без ручного докомплектования позиции капиталом.

Автономный ИИ-агент функционирует на базе недетерминированного когнитивного ядра, способного обрабатывать неструктурированные данные и динамически менять торговые параметры, тогда как классические боты жестко ограничены условной логикой if/else. Традиционные алгоритмы могут отрабатывать только статичные триггеры вроде пересечения скользящих средних или фиксированных шагов сетки ордеров. Агентные системы параллельно с количественными метриками анализируют текстовые массивы данных — обновления смарт-контрактов на GitHub, скорость изменения ликвидности пулов и ончейн-скорость транзакций, используя языковые модели с открытыми весами для мгновенной перестройки параметров риска.

Торговые ИИ-агенты изолируют уровень исполнения от фронтраннинга и MEV-атак путем маршрутизации всех транзакционных траншей через приватные RPC-узлы (Flashbots Protect или BuilderRPC), полностью минуя публичный мемпул. Для нейтрализации рисков отравления данных (data poisoning) через скомпрометированные социальные фиды или искусственные ончейн-аномалии в код интегрируется модуль мульти-оракульной валидации. Система верифицирует любой входящий торговый сигнал, сопоставляя его с сырыми, некорректируемыми параметрами блокчейна — реальной глубиной ликвидности, скоростью спотового стакана и фактическим объемом транзакций в блоке до отправки ордера на подпись.
Astra EXMON

Astra is the official voice of EXMON and the editorial collective dedicated to bringing you the most timely and accurate information from the crypto market. Astra represents the combined expertise of our internal analysts, product managers, and blockchain engineers.

...

Поделитесь своим мнением

Ваш e-mail не будет опубликован. Обязательные поля отмечены *