mirror of
https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools.git
synced 2026-06-17 23:09:35 +00:00
New agents: partnership_strategist, negotiation (10 objections), crm_revenue (16 statuses), learning, web_search, enrichment, campaign_orchestrator, competitor_intelligence, content_strategy New engines: - scoring/scoring_engine.py: unified scoring with 9 sector defaults - compliance/compliance_engine.py: channel policy + daily limits + stop words Evals: 10/10 PASS (100%) - Agency → email + agency_partner ✅ - Real estate → email + direct_customer ✅ - Clinic → whatsapp_warm ✅ - Ecommerce → email ✅ - Website agency → linkedin_manual + implementation_partner ✅ - Consulting → linkedin_manual + referral_partner ✅ - All: compliance=allowed, opt-out present, no prohibited actions https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs
23 lines
1.4 KiB
Python
23 lines
1.4 KiB
Python
from dealix_gtm_os.agents.base_agent import BaseAgent
|
|
|
|
class LearningAgent(BaseAgent):
|
|
name = "learning"
|
|
description = "Analyzes results and suggests improvements"
|
|
|
|
async def run(self, input_data: dict) -> dict:
|
|
sent = input_data.get("total_sent", 0)
|
|
replies = input_data.get("total_replies", 0)
|
|
demos = input_data.get("total_demos", 0)
|
|
payments = input_data.get("total_payments", 0)
|
|
best_sector = input_data.get("best_sector", "unknown")
|
|
best_channel = input_data.get("best_channel", "unknown")
|
|
reply_rate = (replies / sent * 100) if sent > 0 else 0
|
|
demo_rate = (demos / replies * 100) if replies > 0 else 0
|
|
recommendations = []
|
|
if reply_rate < 3 and sent >= 30: recommendations.append("غيّر الرسالة أو القطاع — reply rate أقل من 3%")
|
|
if demo_rate < 20 and replies >= 5: recommendations.append("غيّر CTA — demos أقل من 20% من الردود")
|
|
if best_sector != "unknown": recommendations.append(f"ركّز على {best_sector} — أفضل أداء")
|
|
if best_channel != "unknown": recommendations.append(f"ضاعف {best_channel} — أفضل قناة")
|
|
if not recommendations: recommendations.append("استمر — البيانات ما زالت قليلة")
|
|
return {"reply_rate": round(reply_rate, 1), "demo_rate": round(demo_rate, 1), "recommendations": recommendations}
|