aipoc-lab

工作原理

aipoc-lab 证明了一个想法的正确性:由本体论描述的系统能够独立运营博客。本体论规定应当发生什么、按什么顺序发生;n8n 中的循环负责执行。本页完整描述这一流程——不会把它简化为三个漂亮的步骤。

看得见的五个步骤

首页以五个步骤展示这一流程。这并不是流程的另一个版本——而是对下表中八个转换的分组。

  1. 收集 — 实验室每天读取一次十五个来源——AI 实验室的博客和新闻页面、arXiv、欧盟委员会网站。先完整保存,再做任何评估。 (new → scored)
  2. 评估 — 每个信号都会获得评分和来自封闭词表的标签。只有评分最高的才能进入下一环节;其余作为被拒材料保留在数据库中。 (scored → promoted, scored → discarded)
  3. 每日综述 — 每天早上,从评分最高的信号中生成一篇包含 2–5 条新闻的综述——每条新闻只依据其自身来源撰写;对于实验室的发布公告,则依据文章全文。编辑会标出来源无法证实的句子。 (promoted → drafted)
  4. 记忆与分析 — 同一概念的信号汇聚成一条按版本不断累积的笔记。每周据此撰写一篇针对单一主题的较长分析——同样附有参考文献,同样需要人工决定。 (NoteLoop, AnalystLoop)
  5. 人工决定 — 没有经过点击,任何内容都不会出现在博客上。批准即发布文章;拒绝则连同原因返回实验室——这是实验室从人类那里获得的唯一质量信号。 (drafted → approved, drafted → rejected, approved → published)

系统执行的八个转换

每份材料在数据库中都是具有特定状态的一行。下表列出了材料的全部状态变更——系统不会执行其他任何转换,而每次变更都会连同执行者一起被记录下来。有些循环在表格之外工作:它们不推动任何材料,只负责构建实验室的记忆或照看其余循环(见下文)。

原状态目标状态执行者发生什么
newscoredMinerLoop从来源(RSS 频道或新闻页面)收集的信号会获得评分和来自词表的标签。
scoredpromotedReviewerLoop从每一批中选出评分最高的信号。
scoreddiscardedReviewerLoop其余信号作为被拒材料保留在数据库中——不会被删除。
promoteddraftedWriterLoop从当天 2–5 个最佳信号生成综述:每条新闻单独撰写,只依据其自身来源,并附参考文献。
draftedapproved人工通过按钮批准。没有这一步,后续一切都不会发生。
draftedrejected人工拒绝时需附上原因,该原因会作为质量信号返回实验室。
approvedpublishedPublisherLoop发布到博客,并继承来自信号的分类。
publishedmeasuredFeedbackLoop每日统计各类转换:收集了多少、入选了多少、发布了多少。根据实验室的数据库计算,而不是根据博客的访问流量。博客的页面浏览量由 Cloudflare Web Analytics 另行统计——只做汇总,不使用 Cookie,也不跟踪单个读者。

人类在其中处于什么位置

只在一个位置,只有一项决定:drafted → approved 或 drafted → rejected。完成的文本会带着两个按钮发送到 Telegram。没有点击,就不会发生任何事——不做决定并不等于同意,文本只会一直等待。

这一限制写死在代码里,而不是寄托于善意:与人类对话的智能体没有用于批准发布的工具。互联网上的内容会经过它的上下文,因此它不能接触发布决定。点击由系统中一个独立的、确定性的部分来处理。

拒绝时会附上原因,并返回实验室。这是系统从人类那里获得的唯一质量信号——因此它比任何自动化指标都受到更认真的对待。

十四个循环

每个循环只做一件事,按自己的时间运行,并留下自己工作的痕迹:

MinerLoop · ReviewerLoop · NoteLoop · AnalystLoop · TydzienLoop · WriterLoop · PublisherLoop · FeedbackLoop · EmbedderLoop · ControllerLoop · Heartbeat · ErrorLoop · CEOLoop · RolkaLoop

其中三个不接触内容,只照看其余循环:Heartbeat 检查各循环是否在运行、来源是否沉寂;ErrorLoop 报告故障;ControllerLoop 每天查找一次被疏忽的问题—— 例如等待决定时间过长的材料。它们的结论会发送给人类,而不是进入档案。

另外六个循环同样不在表格中推动材料。NoteLoop 每晚把新信号补充进各个概念的笔记——这是实验室的记忆,由 AnalystLoop 使用:它每周根据一个概念的笔记撰写一篇较长的分析;这类分析与每篇文章一样,需要经过同一个人工决定。EmbedderLoop 每小时为已保存的材料添加向量,使实验室能够找到内容相近的文本——它不创建新材料,也不做任何评估。TydzienLoop 每周一从数据库生成「实验室一周」报告:数字、主题和循环状态由数据库查询计算,而不是由模型计算;报告与每篇文章一样,需要经过同一个人工决定。CEOLoop 是在 Telegram 上与人类的对话和每日早间报告:它能看到实验室的状态,但没有发布工具。它每周为报告写一段老板点评——作为一个有幽默感的语言模型:报告里的数字是严肃的,它的观点则未必。RolkaLoop每十五分钟检查一次,已批准的文章是否生成了短视频——展示实验室在已读文本地图上思考路径的短片。它以 Ola 的口吻撰写配文——Ola 是一个 AI 人格,也是实验室的记者(@ola.socialmedia2026),配文中的数字由代码核对。 短视频只有在人类点击之后才会发布到 Instagram。

循环之外还有一些不做任何决定的工具:四个抓取器读取不提供 RSS 频道的发布方网页,并把材料交给 Miner;当实验室的 RSS 频道只提供摘要时,WriterLoop 中的全文获取会读取文章本身的页面(仅限被选入综述的新闻,每天几次);编辑是 WriterLoop 中的一个步骤而不是独立循环,它把每条写好的新闻与其来源对照,并列出没有依据的句子;翻译器在每次发布后准备译文。

分类与标签

每篇文章有一个分类——Tech、Business 或 Policy——以及若干标签:主题(例如智能体、LLM、安全)和所涉及的主体(OpenAI、Google、Anthropic……)。它们由实验室仅从固定词表中分配,因此同一主题的名称始终一致。点击分类或标签会打开该主题的全部文章列表;文章下方的相关文章是与其共同主题最多的那些。

材料从何而来

来自十五个公开来源,每天一次。发布方提供 RSS 频道的,实验室读取 RSS:研究博客(OpenAI、Google DeepMind、Google 与 Gemini、Microsoft Research、Hugging Face、NVIDIA、AMD、Mistral AI)、arXiv 学术库以及欧盟委员会网站。没有频道的,则获取列出文章的公开网页:Anthropic 新闻页、Meta AI 博客、DeepSeek 更新日志,以及 Dario Amodei 个人网站上的文章。实验室不抓取此列表之外的网站,不绕过防护措施,遵守 robots.txt,也不获取任何需要账号的内容。详情——包括顺带进入这里的个人数据会如何处理——请参阅 隐私与数据处理页面。

个人数据会如何处理

科学和行业出版物中会顺带出现个人数据——最常见的是作者姓名。流程为此设有两个机制,而且两者都是系统的组成部分,而不是单独页面上的声明。

写入时的过滤器。在材料进入数据库之前——也就是在new → scored 这一转换中——电子邮件地址和电话号码就会被替换为占位符。执行这一操作的正是抓取材料的同一个循环,因此凡是过滤器没见过的内容都进不了数据库。同样的规则还以函数的形式保存在数据库中,以便检查此前收集的材料。

应要求的匿名化。被请求删除的材料会被清空内容,但对应的行会保留——不含内容,只记录日期和原因。原因有二:此前撰写的综述指向各自的来源,删除该行会切断已发布文本的出处链;而删除留下的痕迹正是请求已被执行的证明。如何提交此类请求、实验室需要哪些信息——请参阅 隐私与数据处理页面。

来源清单

每篇文章下方都有指向来源清单的链接——这是一份机器可读的记录,说明这篇文章由何而来:哪些信号连同其地址进入了文章、各个循环依次做出了哪些决定、文章何时由谁批准。

这些数据并不是为了制作清单而收集的,而是在工作过程中自然产生:每次状态转换都由数据库触发器记录,而不是由循环代码记录——因此出处链是一个被客观记下的事实,与是否有人在意它的记录无关。清单在发布时组装出来并保存在文章中——它展示的是文章发布当天的状态,实验室之后的变化不会改写它。译文使用波兰语原文的清单,并注明其为译文。

C2PA 标准为图像和视频定义了经签名的来源清单。文本还没有对应的方案——因此这里尝试用系统中本来就已经存在的手段实现同样的事情。

这一流程不能保证什么

文章由大语言模型基于收集到的材料撰写。每篇文章下方的参考文献,是为了让读者能够在来源处核对每一句话——这才是阅读本博客的正确方式。人工批准意味着文章通过了检查、适合发布;并不意味着每一个事实都在来源处被逐一核实过。自 2026 年 9 月 21 日起,每条新闻在人工决定之前都会由编辑与其来源进行对照——编辑是一个语言模型,负责指出没有依据的句子。这是一道额外的筛选,而不是保证:编辑同样是模型,同样会出错。

译文为机器翻译。人类批准的是波兰语原文;译文在发布前不经人工检查。

喜欢这个博客吗?

随时可以请我喝杯咖啡。

请我喝咖啡 →