这份导读不是逐字翻译英文 README,而是先建立一张“能看懂项目”的地图。

Cairn想解决什么问题?

Cairn是用来解决复杂的开阔空间的不能一步完成的问题,比如渗透测试、CTF、漏洞研究、数学证明、复杂调查、推理断案。它们有共同特点:

  • 起点是已知的:比如目标IP、题目描述、初始条件。
  • 目标是明确的:比如拿到shell、解出flag、证明结论。
  • 中间路径是未知的:需要一步一步探索。

这些特点天然跟黑板架构相吻合。

Cairn的想法是:不要给AI固定角色和固定流程(角色无关多智能体系统,目前并没有对该架构的统一称呼),而是维护一个共享的事实图,让AI根据当前事实决定下一步探索什么。

三个重要概念

Fact

Fact是“已经知道的事实”。
例如:

  • origin:初始信息
  • goal:最终目标
  • f001:worker探索后发现的新事实

这可以归类为已知线索。

Intent

Intent是“下一步要探索什么”。
它不是结果,而是一个探索方向。淚笑老师把它称呼为“意图”。
例如:

  • 从origin出发,检查目标开放端口。
  • 从f001出发,尝试利用某个服务。

我理解为从已知线索向未知空间探索的一条路径。

Hint

Hint是人类塞给系统的提示。
它不会直接改变事实图的结果,但worker下次读取项目状态时会看到这些提示。

例如:

  • “优先检查 Web 服务。”
  • “这个目标可能是 Linux。”
  • “不要走爆破方向。”

有点像cc和codex运行过程中插入的引导一样

三类任务

Bootstrap

项目刚创建时的自动尝试。

它会直接读origin、goal和hints,尝试一步到位解决问题,或者至少产出一个初始fact。

Reason

Reason负责想下一步该做什么。

它会读完整事实图,然后决定:

  • 目标是否已经完成
  • 是否要创建新的intent
  • 或者暂时不做事

Explore

Explore负责执行一个具体的intent。

它拿到一个intent后,会调用worker去做探索,然后把结果写回一个新的fact。

一句话总结

Cairn把一个复杂任务变成“事实图搜索”:先有起点origin和目标goal,系统不断产生要探索的intent,让worker去执行,执行结果再写成新的fact。