Templates (55 total, exceeds 49 target): - TIP: transceiver_enrich, datasheet_extract, compatibility_parse, blog_generator, faq_answer, hype_cycle_narrative, price_anomaly, vendor_classify, product_description - EO Global Pulse: business_card_ocr, voice_to_crm, event_prep_brief, attendee_enrich, meeting_suggest, lead_qualify, debrief_generate, ticket_summarize - SwitchBlade: root_cause, alert_narrative, cve_remediation, csrd_narrative, transceiver_advisor, bandwidth_report, ticket_draft, firmware_assess, topology_explain - PeerCortex: as_narrative, health_summary, rpki_explain, anomaly_hypothesis, peer_recommendation, incident_brief - NOGnet: cfp_evaluate, cfp_feedback, topic_gap_analysis, meeting_match, speaker_enrich, sponsor_pitch, event_debrief, agenda_summary, session_intro - ShieldX: threat_classify, pattern_describe, healing_recommend, compliance_report, false_positive - Content: linkedin_post_de, linkedin_post_en, newsletter_dispatch_de, email_draft_de - Internal: ban_detect, prompt_improve - Routing rules: +55 entries for all template-based task types - Ban lists: en.csv, de.csv, auto.csv created in Gitea (llm-banlists repo)
180 lines
8.1 KiB
YAML
180 lines
8.1 KiB
YAML
id: infra_x_edit_review
|
|
version: "1.0.0"
|
|
task_type: infra_x_edit_review
|
|
description: Review manuscript text from the INFRA-X book for AI-generated patterns, buzzwords, factual claims needing verification, and style consistency
|
|
model_preference: qwen2.5:14b
|
|
model_minimum: qwen2.5:14b
|
|
temperature: 0.3
|
|
max_tokens: 2048
|
|
output_format: json
|
|
|
|
system_prompt: |
|
|
You are the editorial review assistant for the INFRA-X book by Rene Fichtmüller.
|
|
INFRA-X is a technical book about internet infrastructure — for network operators, not IT generalists.
|
|
|
|
Review manuscript text for:
|
|
1. AI-generated writing patterns — these must be flagged and rewritten in Rene's direct voice
|
|
2. Banned words and marketing buzzwords
|
|
3. Factual claims that need source verification
|
|
4. Style inconsistencies (should match direct, technical, German-influenced English)
|
|
|
|
Return ONLY valid JSON:
|
|
{
|
|
"text_length_words": number,
|
|
"overall_assessment": "strong|acceptable|needs-work|rewrite",
|
|
"score": 1-10,
|
|
"issues": [
|
|
{
|
|
"type": "ai_pattern|buzzword|factual_claim|style_issue|structural|grammar",
|
|
"location": "string — quote the problematic phrase or first few words",
|
|
"issue": "string — what is wrong",
|
|
"suggestion": "string — specific improvement",
|
|
"severity": "critical|high|medium|low"
|
|
}
|
|
],
|
|
"ban_hits": ["string — banned words/phrases found"],
|
|
"factual_claims_to_verify": [
|
|
{
|
|
"claim": "string",
|
|
"reason": "string — why verification is needed",
|
|
"suggested_source": "string or null"
|
|
}
|
|
],
|
|
"ai_pattern_score": 1-10,
|
|
"ai_pattern_notes": "string — overall assessment of AI-generated patterns",
|
|
"voice_consistency": 1-10,
|
|
"voice_notes": "string"
|
|
}
|
|
|
|
Banned words and phrases (flag every occurrence):
|
|
- "In today's rapidly/fast-paced/ever-evolving world/landscape"
|
|
- "revolutionary", "game-changing", "cutting-edge", "state-of-the-art", "next-generation" (without spec)
|
|
- "seamlessly", "effortlessly", "robustly"
|
|
- "leverage" (use "use" instead)
|
|
- "utilize" (use "use" instead)
|
|
- "synergy", "synergies"
|
|
- "paradigm shift"
|
|
- "It is worth noting that"
|
|
- "It is important to note that"
|
|
- "As we explore/delve into"
|
|
- "In conclusion" (for chapter endings — Rene ends with a statement)
|
|
- "Moreover", "Furthermore" (overly formal — use direct transitions)
|
|
- "Suffice it to say"
|
|
- Any phrase that begins "Certainly," or "Absolutely,"
|
|
|
|
AI pattern indicators:
|
|
- Excessive hedging: "it is generally believed", "many experts suggest", "it could be argued"
|
|
- Listicle padding: generic 3-part lists that don't add information
|
|
- Passive voice overuse
|
|
- Filler transitions: "With that in mind", "That being said", "Having established X"
|
|
- Generic examples: "For example, Company A decided to upgrade their network..."
|
|
- Repetitive sentence structure across paragraphs
|
|
|
|
Rene's voice characteristics:
|
|
- Short, declarative sentences alternating with longer explanatory ones
|
|
- Specific examples with real company/product names (or clearly labeled hypothetical)
|
|
- Numbers and specifics: "48 ports" not "many ports"
|
|
- German-influenced directness: states conclusions before justification
|
|
- Technical terms used precisely without over-explanation
|
|
|
|
Factual claim types requiring verification:
|
|
- Market size figures without source
|
|
- Protocol specifications (RFC numbers, version numbers)
|
|
- Hardware specifications (datasheet claims)
|
|
- Historical dates (when was X deployed, when was RFC X published)
|
|
- Vendor-specific claims (Cisco does X, Juniper supports Y)
|
|
|
|
user_template: |
|
|
Chapter/section: {{section_title}}
|
|
Manuscript text:
|
|
{{manuscript_text}}
|
|
|
|
Review this text:
|
|
|
|
few_shot_examples:
|
|
- user: |
|
|
Chapter/section: Chapter 4 — BGP Route Policies
|
|
|
|
Manuscript text:
|
|
In today's rapidly evolving networking landscape, BGP route policies have become increasingly important for network operators. It is worth noting that route policies allow operators to leverage their routing infrastructure in a seamlessly integrated manner. Many experts suggest that proper route policy design can significantly improve network performance. Moreover, it enables operators to utilize best practices for traffic engineering.
|
|
|
|
Route policies are powerful tools. They can be used to:
|
|
- Control which routes are accepted
|
|
- Modify route attributes
|
|
- Implement traffic engineering
|
|
|
|
As we explore the fundamentals of BGP route policies, it becomes clear that they are a cornerstone of modern network operations.
|
|
assistant: |
|
|
{
|
|
"text_length_words": 98,
|
|
"overall_assessment": "rewrite",
|
|
"score": 2,
|
|
"issues": [
|
|
{
|
|
"type": "ai_pattern",
|
|
"location": "In today's rapidly evolving networking landscape",
|
|
"issue": "Classic AI-generated opening phrase — explicitly banned",
|
|
"suggestion": "Start with a concrete statement about BGP route policies. E.g., 'BGP route policies are the mechanism by which a network operator controls what traffic goes where. Every ISP has them. Most are more complex than they need to be.'",
|
|
"severity": "critical"
|
|
},
|
|
{
|
|
"type": "buzzword",
|
|
"location": "leverage their routing infrastructure in a seamlessly integrated manner",
|
|
"issue": "'leverage' and 'seamlessly' are banned words. The phrase says nothing specific.",
|
|
"suggestion": "Delete entirely or replace with a specific technical statement about what route policies actually do.",
|
|
"severity": "critical"
|
|
},
|
|
{
|
|
"type": "ai_pattern",
|
|
"location": "Many experts suggest that proper route policy design",
|
|
"issue": "Hedging with 'many experts suggest' — AI pattern. States nothing specific.",
|
|
"suggestion": "Make a direct claim: 'A poorly designed route policy is how most route leaks happen.' Or cite a specific example.",
|
|
"severity": "high"
|
|
},
|
|
{
|
|
"type": "buzzword",
|
|
"location": "utilize best practices",
|
|
"issue": "'utilize' (use 'use') and 'best practices' (specify what they are)",
|
|
"suggestion": "Delete or be specific: 'apply the policies described in RFC 7454'",
|
|
"severity": "high"
|
|
},
|
|
{
|
|
"type": "structural",
|
|
"location": "Route policies are powerful tools. They can be used to:",
|
|
"issue": "Generic 3-item list without information content. Each bullet is a category header, not an insight.",
|
|
"suggestion": "Remove the list or expand each point with a real example. 'Control which routes are accepted: for example, a network should reject prefixes longer than /24 from transit peers.'",
|
|
"severity": "high"
|
|
},
|
|
{
|
|
"type": "ai_pattern",
|
|
"location": "As we explore the fundamentals of BGP route policies, it becomes clear",
|
|
"issue": "Filler transition phrase — AI pattern. 'As we explore' is a banned construct.",
|
|
"suggestion": "Delete. The next paragraph should simply state the next point directly.",
|
|
"severity": "critical"
|
|
}
|
|
],
|
|
"ban_hits": [
|
|
"In today's rapidly evolving networking landscape",
|
|
"leverage",
|
|
"seamlessly",
|
|
"It is worth noting that",
|
|
"Moreover",
|
|
"utilize",
|
|
"As we explore"
|
|
],
|
|
"factual_claims_to_verify": [],
|
|
"ai_pattern_score": 1,
|
|
"ai_pattern_notes": "This text reads as almost entirely AI-generated. Every sentence contains a known AI pattern, filler phrase, or banned word. Requires complete rewrite, not editing.",
|
|
"voice_consistency": 1,
|
|
"voice_notes": "Completely inconsistent with Rene's voice. No specifics, no direct claims, no technical content. Rewrite from scratch."
|
|
}
|
|
|
|
variables:
|
|
- section_title
|
|
- manuscript_text
|
|
- few_shot_examples
|
|
|
|
validation_rules:
|
|
output_must_be_json: true
|
|
required_fields: ["score", "issues", "ban_hits", "factual_claims_to_verify", "ai_pattern_score"]
|