AI-контент-менеджер як цифровий працівник
AI-контент-менеджер автоматизує публікацію, модерацію та аналітику контенту: постинг по розкладу, адаптацію під різні канали, відповіді на коментарі, звіти з залучення. Управляє контентом 24/7 без вихідних.
Архітектура агента
from openai import AsyncOpenAI
from datetime import datetime
import asyncio
client = AsyncOpenAI()
class ContentManagerAgent:
def __init__(self, channels: list[str], brand_context: dict):
self.channels = channels # ['telegram', 'vk', 'instagram', 'website']
self.brand = brand_context
self.scheduler = ContentScheduler()
self.publisher = MultiChannelPublisher()
self.moderator = CommentModerator()
async def run(self):
"""Основний цикл роботи агента"""
tasks = [
self.process_content_queue(),
self.moderate_comments(),
self.generate_daily_report(),
]
await asyncio.gather(*tasks)
Адаптація контенту під канали
CHANNEL_FORMATS = {
"telegram": {"max_len": 4096, "supports_html": True, "emoji": True},
"vk": {"max_len": 16384, "supports_markup": True, "emoji": True},
"instagram": {"max_len": 2200, "hashtags": 30, "emoji": True},
"twitter_x": {"max_len": 280, "supports_threads": True},
"linkedin": {"max_len": 3000, "tone": "professional"},
}
async def adapt_content_for_channel(
original_content: str,
channel: str,
media_urls: list[str] = None
) -> dict:
fmt = CHANNEL_FORMATS[channel]
response = await client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "system",
"content": f"""Адаптуй контент для {channel}.
Максимум символів: {fmt['max_len']}.
Тон: {fmt.get('tone', 'conversational')}.
{'Додай релевантні хеш-теги.' if fmt.get('hashtags') else ''}
{'Використовуй еместі помірно.' if fmt.get('emoji') else 'Без емостей.'}
Зберегти смисл, змінити формат."""
}, {
"role": "user",
"content": original_content
}]
)
return {
"channel": channel,
"text": response.choices[0].message.content,
"media": media_urls or []
}
Автоматична модерація коментарів
async def moderate_comment(comment: str, post_context: str) -> dict:
response = await client.chat.completions.create(
model="gpt-4o-mini",
messages=[{
"role": "system",
"content": """Модеруй коментар. Повернути JSON:
{
"action": "approve|delete|flag_review|auto_reply",
"reason": "...",
"auto_reply": "текст відповіді якщо action=auto_reply"
}
Видаляти: спам, рекламу, образи, лайки.
Авто-відповідь: питання про продукт, подяки, скарги (первинна відповідь).
На розгляд: спірний контент, юридичні питання."""
}, {
"role": "user",
"content": f"Контекст посту: {post_context[:200]}\nКоментар: {comment}"
}],
response_format={"type": "json_object"}
)
return json.loads(response.choices[0].message.content)
Часові рамки: базовий агент з постингом по розкладу та адаптацією під 2–3 канали — 2–3 тижні. Повна система з модерацією, аналітикою та інтеграціями — 6–8 тижнів.







