Перейти к основному содержимому

Конфигурация агента

Переменные окружения

Все параметры агента передаются через .env файл. Никаких захардкоженных значений в коде — это обязательное требование платформы.

Переменные загружаются через app/config.py с помощью pydantic-settings:

from pydantic_settings import BaseSettings

class Settings(BaseSettings):
anthropic_api_key: str
agent_id: str
agent_name: str
orchestrator_url: str = "http://orchestrator:8000"
max_tokens: int = 4096
log_level: str = "INFO"

class Config:
env_file = ".env"

.env.example

В репозитории хранится .env.example с описанием всех переменных:

# Обязательные
ANTHROPIC_API_KEY=sk-ant-...
AGENT_ID=agent-001
AGENT_NAME=my-agent

# Оркестратор (не менять без согласования)
ORCHESTRATOR_URL=http://orchestrator:8000

# Параметры агента
MAX_TOKENS=4096
LOG_LEVEL=INFO

# Кастомные переменные агента (пример)
# MY_API_KEY=
# MY_ENDPOINT=https://...

Скопируйте .env.example в .env и заполните реальными значениями:

cp .env.example .env

Переопределение через /run

Параметры из поля config в запросе /run перекрывают значения из .env для конкретного запуска:

{
"task_id": "uuid",
"input": "текст задачи",
"config": {
"system_prompt": "Вы — финансовый аналитик.",
"max_tokens": 2048,
"enabled_tools": ["calculator"]
}
}

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

Добавление кастомных переменных

  1. Добавьте переменную в .env.example с комментарием
  2. Добавьте поле в Settings в app/config.py
  3. Используйте через settings.my_variable в коде