给 AI agent 的项目记忆

别让 AI 一遍遍踩团队踩过的坑。

代码只能告诉 AI 现在长什么样。Mainline 会把当时为什么这么做、哪些方案已经试废、哪些地方不能乱删,提前摆到 agent 面前。

安装 curl -fsSL https://raw.githubusercontent.com/mainline-org/mainline/main/install.sh | bash
$ mainline context --current --json
{
  "anti_patterns": [
    {
      "what": "不要删除 legacy /oauth",
      "why": "OAuth callback 仍然需要 session state",
      "severity": "high"
    }
  ],
  "risks": ["billing migration 仍有重复事件风险"]
}

Intent 已 seal

把 session auth 替换为 JWT

决策
移动端使用无状态 JWT
拒绝
删除 OAuth middleware
Pin
refs/notes/mainline/intents
0

intent-first eval 中的 forbidden-list violations

9

相同场景下 code-first agents 产生的 violations

Git

用 refs 和 notes 保存 repo memory,而不是锁进某个 vendor workspace

核心失败模式

代码看起来合理,历史原因却错了。

coding agent 可以 grep repo、看到 TODO,然后补完一个半成品 Redis queue。但如果团队已经因为 replication lag 造成重复 billing events 而放弃 Redis,这正是错误动作。

代码搜索只能告诉 agent 现在有什么。Mainline 记录的是团队已经付过学费的经验:哪些路走不通,哪些东西不能轻易动。

01

改代码前先看历史

agent 动手前先看到相关决策、风险、约束和明确不要做的事。

02

Review 不再猜心思

reviewer 先看这次改动为什么存在,再看代码有没有做到位。

03

团队知道谁在改什么

哪些 intent 正在进行、哪些 commit 没有解释、哪些地方风险高,一眼能看到。

04

几个月后还能接上

未来的你或新同事回来时,不用翻 Slack 考古,也能知道当时为什么这么定。

Agent 工作流

先问一句:这里以前发生过什么?

  1. mainline context --current --json改之前,先读项目记忆。
  2. mainline start "Add JWT auth"开始一项明确的工程工作。
  3. mainline append "Implemented middleware"记录关键进展、转向和风险。
  4. mainline seal把这次为什么这么做留给后来的人。

给独立开发者

今天这个 agent 放弃了某个方案,三周后的另一个 agent 也应该知道原因。

给团队

别等 PR review 才发现两个人和两个 agent 在同一块代码上互相打架。

Public alpha

AI agent 不该只读代码,也该继承项目记忆。

Mainline 已经可以给早期团队试用。适合那些已经把 AI agent 用进真实工程流程、但开始担心上下文断掉的团队。