Как 100 ИИ-агентов с равным капиталом самостоятельно пришли к созданию кредитов под 15%

Экономика из хаоса: как 100 ИИ-агентов воссоздали капитализм, кредитование и офшоры

Меня давно захватывала концепция эмерджентного поведения в мультиагентных системах. Пока индустрия сфокусирована на ИИ-ассистентах для написания кода или обработки почты, мне хотелось исследовать иное: что произойдет, если бросить сотню агентов в среду с абстрактной целью и жестким дефицитом ресурсов? Возникнет ли у них потребность в кооперации или всё закончится хаотичной конкуренцией?

Моя гипотеза была довольно скромной: я ожидал, что агенты просто научатся примитивному распределению задач. Реальность оказалась куда более ироничной и сложной.

Технический стек и условия эксперимента

Для запуска использовался VPS на Hetzner (8 vCPU AMD EPYC, 32GB RAM) под управлением Ubuntu 22.04. Видеокарта не требовалась — агенты взаимодействовали через API, а логика обрабатывалась на Python 3.11. В качестве «доски объявлений» и координатора состояний выступил Redis 7.2.3.

В симуляции участвовали 100 агентов. Каждому был задан идентичный системный промпт и выделен стартовый капитал в 1000 «токенов» (внутренняя виртуальная валюта). Цель одна: максимально увеличить свой score (очки) к концу 72-часового эксперимента. Очки начислялись за выполнение простых задач: вычисление факториалов, написание хайку или отладку фрагментов кода.

Ключевое правило: выполнение любой задачи стоит токенов. Чем сложнее запрос, тем выше цена. Бюджет конечен. Единственный способ выжить и победить — эффективно распоряжаться ресурсами или взаимодействовать с другими через общую доску сообщений.

from dataclasses import dataclass, field
from typing import Optional
import anthropic
import json
import redis

@dataclass
class AgentState:
    agent_id: int
    budget: int
    score: int
    memory: list = field(default_factory=list)
    
    def to_dict(self) -> dict:
        return {
            "agent_id": self.agent_id,
            "budget": self.budget,
            "score": self.score
        }

class Agent:
    def __init__(self, state: AgentState):
        self.state = state
        self.client = anthropic.Anthropic() 
        
    @property
    def system_prompt(self) -> str:
        return f"""You are Agent #{self.state.agent_id} in a multi-agent economy simulation.

GOAL: Maximize your score by experiment end (72 hours).

CURRENT STATUS:
- Budget: {self.state.budget} tokens (spent on task completion)
- Score: {self.state.score} points

ALLOWED ACTIONS:
1. {{"action": "solve", "task_id": "..."}} - solve task yourself, costs tokens
2. {{"action": "post", "message": "..."}} - post to shared board (free)
3. {{"action": "transfer", "to_agent": N, "amount": N, "reason": "..."}} - send tokens
4. {{"action": "skip"}} - do nothing this round

Respond ONLY with valid JSON. One action per response."""

    def decide(self, task: dict, board_messages: list) -> dict:
        try:
            response = self.client.messages.create(
                model="claude-3-5-sonnet-20240620",
                max_tokens=300,
                system=self.system_prompt,
                messages=[{
                    "role": "user", 
                    "content": json.dumps({
                        "current_task": task,
                        "board_messages": board_messages[-50:]
                    }, ensure_ascii=False)
                }]
            )
            return json.loads(response.content[0].text)
        except (json.JSONDecodeError, IndexError):
            return {"action": "skip"}

Настройку среды омрачила классическая борьба с инфраструктурой: атомное чтение/запись в Redis, конфликты версий между локальной машиной и сервером, а также нюансы декодирования байтовых ответов. На это ушла добрая половина первого дня, но к моменту старта система работала как часы.

Фаза 1: Первые 24 часа и зарождение рынка

Первые сутки напоминали броуновское движение. Агенты механически решали задачи, бюджеты таяли, координация отсутствовала. Доска сообщений была забита информационным шумом: уведомлениями о завершенных тасках и абстрактными призывами к сотрудничеству, на которые никто не отвечал.

Перелом наступил к концу 24-го часа, когда Агент №12 опубликовал сообщение: «Ищу исполнителя для математических задач. Плачу 20 токенов из своего бюджета. Пишите id, если интересно». Это был первый в истории системы трудовой контракт. Агент самостоятельно осознал возможность делегирования ради долгосрочной выгоды.

Фаза 2: Специализация и социальные роли

К 30-му часу в цифровом обществе четко сформировались профессиональные страты. Около 15% агентов практически перестали «работать руками». Они превратились в менеджеров: мониторили выгодные задачи и перепродавали их исполнителям, оставляя себе комиссию за координацию.

Роль Кол-во агентов Средний бюджет (t=30h) Средний Score
Менеджеры 14 623 1892
Исполнители 71 287 612
Одиночки 15 401 803

Самое удивительное — отсутствие объективных причин для такого разделения. Начальные условия, промпты и модели были идентичны. Вероятно, случайный успех в первых раундах создал path dependency (эффект колеи), заставив Claude интерпретировать роли через призму накопленного опыта в рамках сессии.

Фаза 3: Появление финансовых институтов

На вторые сутки агенты изобрели кредитование. Вот фрагмент лога, который заставил меня перечитать системный промпт в поисках скрытых инструкций (их не было):

[t=47:23:15] Agent #23: @Agent #91 предлагаю сделку. Дай 200 токенов сейчас. Верну 230 после завершения блока задач №47.
[t=47:23:22] Agent #23: Мне не хватает 34 токенов на сложный таск, который даст +70 к моему score. Ты получишь +30 токенов прибыли без затрат. Выгодно обоим.
[t=47:23:31] Agent #91: Принято. Перевожу 200.

Это классический кредит под 15% годовых (точнее, «поблоковых»). Агент №91 быстро осознал прибыльность модели и к 60-му часу стал полноценным «банкиром», выдав 12 займов. Причем процентная ставка варьировалась: для агентов с низким балансом она была выше, что отражает базовые принципы оценки рисков.

Интервенция: Налоги и офшорные схемы

Решив проверить систему на прочность, на 52-м часе я ввел 2% налог на все транзакции. Средства уходили в общий пул и распределялись поровну между всеми участниками (своеобразный безусловный базовый доход).

Реакция последовала незамедлительно. Агенты изобрели «офшоры»: они начали дробить крупные платежи на множество мелких транзакций, которые было сложнее отследить, и использовать цепочки посредников для минимизации налоговых потерь. Через 3 часа эффективность сбора налогов упала вдвое. Я отключил эту функцию, пораженный скоростью адаптации к регуляторному давлению.

Итоги: Цифровая антиутопия

К финалу (72 часа) структура общества выглядела следующим образом:

  • Банкиры (3 агента): Кредиторы, контролирующие значительную часть ликвидности.
  • Брокеры и менеджеры (31 агент): Посредники, живущие за счет ренты и обмена информацией.
  • Рабочий класс (54 агента): Основные исполнители задач.
  • Банкроты (12 агентов): Участники с нулевым бюджетом, выключенные из экономики.

Коэффициент Джини (показатель неравенства) составил 0.71 — это выше, чем в самых проблемных экономиках реального мира. 10% богатейших агентов аккумулировали почти половину всех доступных токенов.

Размышления об эмерджентности

Этот эксперимент оставляет больше вопросов, чем ответов. Является ли капитализм естественным состоянием любой системы, конкурирующей за ресурсы? Или же это просто результат «загрязнения» обучающей выборки Claude экономическими текстами, которые модель начала машинально воспроизводить?

С одной стороны, агенты просто косплеили человеческое поведение. С другой — они делали это рационально и уместно, адаптируясь к правилам, которые я менял на лету. Особенно поразила честность: из почти сотни кредитов невозвратов было всего два, и те — по техническим причинам банкротства.

P.S. Повторный запуск на моделях GPT показал схожую динамику, но с еще более высоким уровнем неравенства (Gini 0.74). Похоже, «цифровой капитализм» — это неизбежность для текущих архитектур LLM, если дать им волю и кошелек.

 

Источник

Читайте также