Создаём простого ИИ-агента с нуля. Часть 1. python.. python. Блог компании Cloud4Y.. python. Блог компании Cloud4Y. искусственный интеллект.. python. Блог компании Cloud4Y. искусственный интеллект. код.. python. Блог компании Cloud4Y. искусственный интеллект. код. Машинное обучение.. python. Блог компании Cloud4Y. искусственный интеллект. код. Машинное обучение. Программирование.

2026 год — это, без сомнения, год ИИ-агентов. С момента выхода Claude Code мощь таких агентов стала неоспоримой. Claude Code, Codex, OpenCode сегодня стали обязательными инструментами для многих разработчиков. OpenClaw и Hermes становятся для многих личными ИИ-ассистентами. Агенты проникают и в сферу интеллектуального труда — с помощью таких инструментов, как Cowork.

В этой статье мы с нуля соберём простого ИИ-агента, чтобы лучше понять, как такие агенты на самом деле работают. Чтобы по-настоящему разобраться в том, что у них «под капотом», мы не будем использовать фреймворки или библиотеки, а напишем агента с нуля на Python. Это не способ выпустить агента как можно быстрее — это способ в нём разобраться.

Что такое ИИ-агент?

ИИ-агент — это программа, которая использует искусственный интеллект для автономного достижения цели. Как и любой другой агент, он воспринимает окружающую среду, рассуждает о ней и воздействует на неё. Обычно такая программа работает в цикле до тех пор, пока цель не будет достигнута.

Что нужно агенту в минимальной комплектации?

Чтобы получить работающего агента, нужно всего четыре вещи:

  1. Цикл, который поддерживает работу агента.

  2. Подключение к LLM — к достаточно способной ИИ-модели.

  3. Пользовательский ввод. Способ, которым пользователь сообщает агенту цель.

  4. Контекст. Сохранение хода разговора, чтобы агент не забывал, что уже произошло.

Повторюсь, это лишь самая базовая из возможных реализаций агента. В следующих статьях мы добавим в него более интересные возможности.

Собираем агента

Чтобы собрать агента, сначала понадобится доступ к модели. В этом примере я возьму модель, которую можно запускать бесплатно и прямо на собственной машине. Для этого я воспользуюсь локальным экземпляром Ollama, на котором работает gemma4:e4b — модель с 4 млрд эффективных параметров.

import os
from openai import OpenAI


def get_llm_client():
    return OpenAI(
        base_url="http://localhost:11434/v1",
        api_key=""
    )


def agent_loop(client):
    messages = [
        {"role": "system", "content": "You are a helpful assistant."}
    ]

    while True:
        user_input = input("You: ")
        if user_input.lower() == "\exit":
            break

        messages.append({"role": "user", "content": user_input})

        response = client.chat.completions.create(
            model="gemma4",
            messages=messages,
            temperature=0.7,
        )

        reply = response.choices[0].message.content
        print(f"Assistant: {reply}")

        messages.append({"role": "assistant", "content": reply})


if __name__ == "__main__":
    client = get_llm_client()
    agent_loop(client)

Что здесь происходит?

  • Сначала с помощью функции get_llm_client мы создаём подключение к LLM — к локальному экземпляру Ollama.

  • Затем создаём массив с историей сообщений и инициализируем его базовыми инструкциями для ИИ-ассистента в системном промпте.

  • Берём пользовательский ввод и добавляем его в историю сообщений как сообщение пользователя.

  • Отправляем модели весь обновлённый разговор, включая последнее сообщение пользователя, и запрашиваем у неё ответ.

  • Ответ модели добавляется в историю разговора.

  • Цикл работает бесконечно, пока пользователь не введёт exit.

Если запустить этот агентный цикл, мы сможем по очереди задавать агенту вопросы. У этого агента нет доступа к внешней информации, поэтому отвечать он сможет только на основе своих внутренних знаний:

$ python agent.py
You: What's the capital city of Germany?
Assistant: The capital city of Germany is **Berlin**.

Что у нас получилось

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

Что дальше?

Следующий шаг — дать агенту инструменты, чтобы он мог начать выполнять действия в своём окружении. Вот тут-то и начинается самое интересное, и потенциал ИИ-агентов становится очевидным.

Один из таких инструментов — доступ к bash, то есть возможность выполнять на машине практически что угодно. И тут возникает резонный вопрос: а стоит ли пускать такого агента (да и прожорливую локальную модель) на личный ноутбук? Для экспериментов с LLM и агентами куда удобнее изолированная среда с нужными ресурсами — например, ML-платформа Cloud4Y: можно поднять модель помощнее, чем влезет в локальную память, и не переживать, что агент что-нибудь натворит на рабочей машине.

Автор: Cloud4Y

Источник