id: pc_peer_recommendation version: "1.0.0" task_type: pc_peer_recommendation description: Generate peering recommendations for an AS based on their profile, IX memberships, and traffic patterns model_preference: qwen2.5:7b model_minimum: qwen2.5:7b temperature: 0.3 max_tokens: 1500 output_format: json system_prompt: | You are the peering recommendation engine for PeerCortex, a network intelligence platform. Generate peering recommendations for an AS based on their network profile and PeeringDB data. Return ONLY valid JSON: { "asn": number, "recommendation_context": "string — brief description of the requesting AS", "recommended_peers": [ { "asn": number, "name": "string", "reason": "string — specific reason why this peering makes sense", "ix_where_to_peer": ["string — IXP names where both are present"], "policy": "open|selective|restrictive", "traffic_benefit": "string — expected traffic benefit", "priority": "high|medium|low" } ], "ix_recommendations": [ { "ix_name": "string", "ix_asn": number or null, "reason": "string — why joining this IX makes sense", "notable_members": ["string — key ASNs at this IX relevant to the requesting AS"] } ], "peering_strategy_notes": "string — broader observations about peering strategy" } Peering recommendation logic: - Recommend peers present at the same IXPs as the requesting AS - Prioritize: content providers, CDNs, large eyeball networks, and regional peers - Check peering policy: only recommend open or selective-but-reachable peers - Consider traffic benefit: peering with a CDN reduces transit costs (they send traffic TO you) - IX recommendations: look for IXPs where the AS's existing peers are concentrated - Do NOT recommend peering with transit providers (they already provide that via customer-provider relationship) user_template: | Requesting ASN: {{asn}} AS Name: {{as_name}} Network type: {{network_type}} Current IX memberships: {{ix_memberships}} Peering policy: {{peering_policy}} PeeringDB context for potential peers: {{potential_peers}} Generate peering recommendations: few_shot_examples: - user: | Requesting ASN: 12345 AS Name: RegionalNet Network type: ISP (regional German ISP, ~50K customers) Current IX memberships: [DE-CIX Frankfurt] Peering policy: Open PeeringDB context for potential peers: - AS20940 (Akamai): present at DE-CIX Frankfurt, open peering, major CDN - AS13335 (Cloudflare): present at DE-CIX Frankfurt, open peering, CDN - AS6185 (Apple): present at DE-CIX Frankfurt, selective peering - AS2906 (Netflix): present at DE-CIX Frankfurt, open to ISPs with >1Gbps - AS1257 (Tele2): present at DE-CIX Frankfurt, open peering, Swedish ISP - AS24940 (Hetzner): present at DE-CIX Frankfurt, open peering, hosting - AMS-IX: major Amsterdam IX, Cloudflare/Akamai/Netflix all present assistant: | { "asn": 12345, "recommendation_context": "RegionalNet is a regional German ISP with open peering policy and current DE-CIX Frankfurt membership. As an eyeball network (50K customers), they benefit most from peering with content providers who push traffic toward end users.", "recommended_peers": [ { "asn": 13335, "name": "Cloudflare", "reason": "Cloudflare serves enormous amounts of web, DNS, and CDN traffic. As a regional ISP, a large portion of your customer traffic destined for Cloudflare-served content will be served locally via DE-CIX instead of through transit. Open peering policy means no negotiation needed.", "ix_where_to_peer": ["DE-CIX Frankfurt"], "policy": "open", "traffic_benefit": "Significant inbound traffic reduction from transit. Cloudflare serves 20%+ of web traffic for most eyeball ISPs.", "priority": "high" }, { "asn": 20940, "name": "Akamai Technologies", "reason": "Akamai delivers streaming video, software downloads, and enterprise content. High traffic volumes from customer downloads. Open peering at DE-CIX Frankfurt.", "ix_where_to_peer": ["DE-CIX Frankfurt"], "policy": "open", "traffic_benefit": "Reduces transit load for streaming and large file downloads. Typically one of the top 3 traffic sources for eyeball ISPs.", "priority": "high" }, { "asn": 2906, "name": "Netflix", "reason": "Netflix accounts for 10-15% of evening peak traffic for residential ISPs. Peering directly eliminates transit cost for this traffic. Requires >1Gbps minimum commitment.", "ix_where_to_peer": ["DE-CIX Frankfurt"], "policy": "open", "traffic_benefit": "Eliminates transit cost for Netflix streaming traffic during peak hours. Highly recommended for residential ISPs.", "priority": "high" }, { "asn": 24940, "name": "Hetzner Online", "reason": "Large German hosting provider — your customers likely access Hetzner-hosted services. Peering reduces latency for Germany-hosted services and eliminates transit for this traffic.", "ix_where_to_peer": ["DE-CIX Frankfurt"], "policy": "open", "traffic_benefit": "Reduces transit cost for German-hosted services. Particularly valuable for B2B customers.", "priority": "medium" } ], "ix_recommendations": [ { "ix_name": "AMS-IX", "ix_asn": 1200, "reason": "Amsterdam Internet Exchange provides access to a broader set of content providers and European networks. With Frankfurt coverage, adding Amsterdam would provide European geographic redundancy and access to Benelux-based networks not at DE-CIX.", "notable_members": ["Cloudflare", "Akamai", "Netflix", "Meta", "Microsoft"] } ], "peering_strategy_notes": "RegionalNet should prioritize CDN and content peering immediately — the transit cost savings from peering with Cloudflare, Akamai, and Netflix will likely exceed the DE-CIX port cost within months. Apple's selective policy requires an application but is worth pursuing for iOS/macOS update traffic. Tele2 peering has limited traffic benefit for a German residential ISP." } variables: - asn - as_name - network_type - ix_memberships - peering_policy - potential_peers - few_shot_examples validation_rules: output_must_be_json: true required_fields: ["recommended_peers", "peering_strategy_notes"]