人工智能AI 应用MCP 服务网页爬虫【免费下载链接】Horizon Your own AI-powered news radar. Generates daily briefings in English Chinese. | 用 AI 构建你专属的新闻雷达项目地址https://gitcode.com/gh_mirrors/horizon39/Horizon点击查看免费下载Horizon 是一个用 AI 构建的新闻雷达项目它把抓取到的内容按画像profile路由、评分、筛选并最终生成为中英文日报。本文以 profiles/tech-news/analysis.md 为骨架完整拆解内置tech-news科技新闻画像的评估目标、0–10 分评分标准、评估要求与标签规则并结合仓库源码说明它在分析管线、配置阈值与下游内容增强中的实际作用。读完本文你将掌握该画像的评分语义、如何读懂一条科技新闻为什么被打 8 分或 3 分以及如何在data/config.example.json中为它配置过滤阈值并理解输出契约。一、tech-news 画像在 Horizon 管线中的位置在 Horizon 中每个抓取到的内容条目ContentItem都会先被解析出来源类型GitHub、Hacker News、RSS、Reddit、Twitter、GDELT 等见 src/models.py然后经历一条分类 → 分析 → 过滤 → 选择 → 增强 → 渲染的处理链路画像解析Profile resolution根据来源配置中的显式profile字段或由 AI 匹配match.md提示词为条目选定一个画像。内容准备按画像的content.analysis_max_chars与content.sampling截取正文。画像分析用该画像的analysis.md提示词评估条目返回 0–10 分、理由、一句话摘要与标签。校验与重试JSON 输出契约校验失败时自动修复。画像过滤若配置了threshold低于阈值的条目被丢弃。日报选择画像内主题去重、可选类目配额与总数上限决定哪些条目进入增强阶段。上述管线在 docs/scoring.md 中有完整叙述。tech-news是仓库默认的画像——tests/test_profiles.py 直接以tech-news作为ProfileRegistry.load的default_profile参数验证内置画像可正常加载。二、评估目标Evaluation Goal为谁评分、评什么tech-news画像的评估目标见 analysis.md原文如下Evaluate the importance of timely technology news for readers interested in software engineering, artificial intelligence, machine learning, computer systems, hardware, open source, and the technology industry.要点拆解对象是及时的科技新闻timely technology news不是长文论述或教程这决定了它与tech-blog画像的边界详见下文第五节。受众画像明确软件工程、人工智能、机器学习、计算机系统、硬件、开源与科技行业的读者。评分本质上是在回答这条新闻对这批读者重不重要。关键词是 importance重要性而不是热度或传播量。这条目标会被注入分析系统提示词作为 AI 每次评分的总纲。src/ai/prompting/analysis.py 中的ANALYSIS_RULES明确要求分析只能基于条目本身及其元数据不得使用训练记忆中的外部信息UNTRUSTED_INPUT_RULE并且要一致地应用画像的评估策略Apply the profiles evaluation policy consistently。三、评分标准Scoring Rubric五档量表的完整语义analysis.md给出的评分量表是整篇文章的骨架必须原样掌握分数档位含义9–10Groundbreaking开创性重大突破、范式转移、广泛使用技术的重要大版本、重要研究成果或改变行业格局的公告7–8High value高价值值得立即关注的重要进展包括技术深度解析technical deep-dives、新颖方法、有洞察力的分析以及有价值的工具或库5–6Interesting有趣渐进式改进、实用教程、中等程度的社区关注或者值得了解但并非紧迫的进展3–4Low priority低优先级例行更新、常识性内容、浅层处理或以推广为主的内容0–2Noise噪音垃圾信息、离题内容、琐碎更新或纯粹宣传性内容这份量表在 docs/scoring.md 中被再次引用作为内置tech-news画像的标准刻度。理解它需要抓住三个分层逻辑新颖性与范式级别决定能否上 9 分——重大突破范式转移行业级公告是硬指标对从业者的可迁移价值决定 7–8 分——深度技术解析、新方法、值得收藏的工具都在此列紧迫性与增量大小决定 5–6 分与 3–4 分的分界——渐进改进、教程属于值得知道但不急例行更新与常识则滑向低优先级。四、评估要求Evaluation Guidance七个考量维度的实操解读analysis.md的评估要求原文为Consider technical depth, novelty, likely impact, source quality, relevance to software engineering and AI systems, and concrete supporting details. Treat substantive community debate as additional evidence of value, but do not equate popularity with technical importance. Do not reward exaggerated headlines.可以拆成七条可执行准则技术深度technical depth内容是否讲清了机制、原理与权衡而非停留在 announcement 层面。新颖性novelty是首次发布的新东西还是老话题的重复报道。可能影响likely impact影响面有多大、影响谁。来源质量source quality是官方公告、代码仓库、论文还是二手转述与营销稿。与软件工程 / AI 系统的相关性relevance对照第二节的受众画像判断。具体支撑细节concrete supporting details有版本号、数字、可用性、兼容性等可核验细节的加分。社区讨论是补充证据热度不是实质性社区争论substantive community debate可作为额外证据但popularity ≠ technical importance传播量不能等价于技术重要性。最后一条在输出契约与增强阶段都有呼应enrichment.md明确要求Engagement counts are not evidence of consensus互动数不是共识的证据并且在写community_discussion板块时须区分观点与既定事实。关于标题的硬性规则评估要求最后一句是 Do not reward exaggerated headlines——夸大其词的标题不得加分。这直接约束了后续增强写作enrichment.md要求标题不超过 15 个单词、不得使用标题党clickbait且禁止marks a major milestonewill reshape the industry这类空泛套话除非有具体、实质的证据支撑。标签规则评估要求末尾指定 Use three to five specific topic tags——每条条目必须给出3–5 个具体主题标签如ai-tools、security-incident这类粒度而非宽泛的tech。标签在ContentAnalysis模型中以tags: List[str]承载见 src/models.py并会成为后续类目分组与主题去重的依据。五、边界判定什么内容该走 tech-newsmatch.md评分标准之上还有一个该不该用这个画像的前置判断由 profiles/tech-news/match.md 定义适用软件工程、AI/机器学习、计算机系统、硬件、开源与科技行业中及时的进展timely developments。典型条目包括实质性版本发布substantial releases、研究突破、安全事件、行业公告、与近期事件绑定的技术分析、能带来实操洞见的社区讨论。不适用以完整长文论证、逐步教程、完整学术论文为主要价值的内容以金融/市场视角优先的内容这类应走 finance-news例行更新无实质信息的推广材料。该边界直接对应分类器逻辑src/ai/classifier.py 中条目可携带显式profile字段source_override或autoAI 用全部match.md匹配也可传入候选画像列表限定范围。若 AI 分类失败则回退到默认画像tech-news。这与docs/scoring.md描述的 Profile resolution 步骤一致。六、输出契约JSON 结构、校验与自动修复analysis.md只定义了评什么分而返回什么格式由 src/ai/prompting/analysis.py 中的analysis_system_prompt输出契约规定{ score: 0.0, reason: concise explanation, summary: one-sentence summary, tags: [tag1, tag2, tag3] }四个字段的含义与约束score0–10 的数字对应第五节量表reason简明理由解释为什么给这个分数summary一句话摘要供日报直接使用tags3–5 个具体主题标签第二节已述。实际调用链ContentAnalyzer._analyze_itemsrc/ai/analyzer.py先通过分类器解析画像组装 user prompt标题、来源类型、作者、URL、正文切片、评论区与互动元数据然后请求模型返回 JSON。响应经_validate_analysis_response校验必须能解析为 JSON 对象且能被ContentAnalysis模型score 限 0–10验证。若首次校验失败会自动用temperature0重发一次修复请求repair attempt仍失败则以scoreNone兜底存入避免整条管线崩溃。AI 调用本身还套了 tenacity 指数退避重试3 次2–10 秒等待。交互元数据的注入细节值得注意analyzer.py会把score、descendants评论数、favorite_count、retweet_count、reply_count、views、bookmarks、upvote_ratio等来源元数据拼入讨论段discussion section这正好服务于analysis.md以社区争论为补充证据的要求——但模型只会把它当作证据输入不会因数量自动加分。七、内容准备多少正文进入模型analysis_max_chars 与 sampling评分质量依赖喂给模型的文本质量。tech-news的analysis_max_chars默认 1000 字符sampling默认prefix这些字段的 schema 定义在 src/processing/profiles.pyanalysis_max_chars: int Field(default1000, ge500, le100_000) sampling: Literal[prefix, head-middle-tail] prefixprefix只取文章开头部分head-middle-tail从开头、中间、结尾各取片段适合正文较长时保留全文信息骨架。analyzer.py通过split_content拆分正文与评论再用select_content按上述参数采样随后把Comments≤1500 字符 Engagement 指标 Discussion URL Community Note追加进讨论段。也就是说评分不是基于全文而是基于一个受控的采样窗口——这是控制成本与延迟的关键设计。八、运行配置阈值过滤与主题去重评分完成后tech-news是否放行取决于运行时配置中的阈值threshold。在 data/config.example.json 中profile_settings: { tech-news: { threshold: 7.0, topic_dedup: true } }参数语义threshold0–10 之间的数字score threshold的条目继续进入日报选择否则被丢弃设为null或省略则只评分不过滤docs/scoring.md有对应示例。阈值可在 MCP 操作中按次覆盖配置值。topic_dedup是否在画像内做主题去重。默认truetests/test_profiles.py 验证了ProfileSettingsConfig的默认行为。注意阈值的取舍docs/scoring.md中的示例对 tech-news 用了 8.0只保留高价值以上而config.example.json用 7.0——二者都是合法取值实际阈值应结合你的日报密度与噪音容忍度调整。若把阈值设得过高7–8 分的高价值但非开创性内容如优质深度解析、新工具发布会被全部过滤掉设得过低则噪音比例上升。九、下游衔接评分结果如何驱动增强板块enrichment一条科技新闻通过阈值后会被 profiles/tech-news/enrichment.md 定义的增强流程加工成日报条目。profile.json声明了四个板块见 profiles/tech-news/profile.json板块 ID工具必填/可选职责summary无必填primary2–4 句完整句先讲清发生了什么、对谁有影响包含决定性技术细节名称、版本、数字、可用性、兼容性、条件并区分已宣布的计划/厂商声明与已落地能力/独立测量结果backgroundhistory_search、web_search必填1–3 句解释理解这条新闻所需的前置概念或前期进展版本/事件/政策变化可用history_search找前因impactweb_search可选只写一条有证据支撑的具体后果若只是泛泛行业趋势则省略该板块community_discussion无可选1–2 句总结评论中最有用的论点/分歧/一手经验观点与事实分开表述无实质讨论则省略与评分标准的呼应关系非常清晰summary要求区分宣布与实测正是analysis.mdsource quality concrete supporting details的落地impact要求证据支撑的具体后果与popularity ≠ importance一脉相承community_discussion要求互动数不是共识的证据是评估要求第七条的直接执行。历史上下文规则enrichment.md的 Historical context 一节同样值得注意history_search返回的是 Horizon 历史日报摘要最多引用两条且必须能说明直接关联同一产品的前一版本、同一事件的更早阶段、同一政策/价格/能力的已记录变更。共同的公司、人物或AI这类宽泛主题不构成关联引用历史时必须标注具体日报日期如 Horizons April 1 digest reported…且历史摘要不能作为当前主张的独立确认。在代码层面src/ai/enricher.py 的_plan_and_execute_tools会先让模型基于板块声明生成工具计划再校验请求只能使用该板块声明的工具否则抛错、history_search每个条目最多调用一次、同一 (block, tool, arguments) 去重。工具返回结果会转化为source_refs引用并作为来源sources随日报输出。十、测试验证画像契约如何被守护profiles/tech-news 目录的可加载性、完整性以及与其它画像的差异都被测试覆盖tests/test_profiles.py 以tech-news为默认画像加载全部内置画像断言match_prompt、analysis_prompt、enrichment_prompt均非空并专门验证tech-news的impact板块optional is True同一个文件还测试了候选画像列表的合法性空列表、重复、混入auto、未知画像均被拒绝与提示词路径逃逸防护src/processing/profiles.py 保证提示词文件不能指向画像目录之外src/models.py 的ContentAnalysis将 score 约束在 0–10 且禁止 NaN/Inf从数据模型层面守住评分量表的边界。这些测试共同保证了只要profiles/tech-news/analysis.md中定义的量表与规则被修改管线行为会随提示词同步变化且非法配置会在加载阶段而非运行阶段就被拦截。小结tech-news 画像的使用速查判断是否该用对照 match.md——及时的软件工程/AI/系统/硬件/开源行业进展适用长文论述、教程、纯金融内容不适用。理解分数9–10 开创性、7–8 高价值、5–6 有趣、3–4 低优先级、0–2 噪音热度不等于重要性夸大标题不得加分必须给出 3–5 个具体标签。配置运行在data/config.example.json的processing.profile_settings.tech-news中设threshold0–10可null与topic_dedup未配置阈值时只评分不过滤。读懂输出analysis.md的输出经 analysis.py 的契约校验后驱动 enrichment.md 生成summary/background/impact/community_discussion四个板块最终渲染为中英文日报条目。赞分享人工智能AI 应用MCP 服务网页爬虫【免费下载链接】Horizon Your own AI-powered news radar. Generates daily briefings in English Chinese. | 用 AI 构建你专属的新闻雷达项目地址https://gitcode.com/gh_mirrors/horizon39/Horizon点击查看免费下载相关推荐Horizon 财经新闻评分体系深度解析从 0-10 分评估标准到 AI 分析管线的完整实现Horizon 财经新闻评分体系深度解析从 0 10 分评估标准到 AI 分析管线的完整实现 Horizon 是一个用 AI 构建个人新闻雷达的开源项目它会人工智能AI 应用MCP 服务网页爬虫HivisionIDPhotos用AI证件照生成3分钟在本地搞定一张标准证件照HivisionIDPhotos用AI证件照生成3分钟在本地搞定一张标准证件照 HivisionIDPhotos 是一款免费开源的AI证件照生成工具。你上传人工智能AI 应用MCP 服务网页爬虫Horizon 新闻雷达评分系统深度解析从 Profile 规则到 0–10 打分管线Horizon 新闻雷达评分系统深度解析从 Profile 规则到 0–10 打分管线 Horizon 是一个用 AI 构建的个人新闻雷达会每日生成中英文简人工智能AI 应用MCP 服务网页爬虫上一篇WinScope U版本图层与窗口分析的利器下一篇CANN / ops-transformer 原地融合因果卷积1D算子创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
