Intent — 在 Git 之上建一层语义历史
Git 记录代码怎么变的。但它不记录你为什么走这条路、途中做了什么决策、上次停在哪里。
当开发从”写代码”转向”引导 agent、沉淀决策”,这层缺失变得越来越明显。Intent 就是为了补上这层——语义历史。
传统开发 vs Agent 开发
传统开发,人直接写代码,Git 跟踪变更,够用了。
Agent 驱动开发,流程变成了 人 → Agent → 代码。中间多了一层交互——你在和 agent 对话、做判断、修正方向。这些交互产生了大量语义信息:目标、里程碑、决策,但它们散落在聊天记录里,session 一关就丢了。
Intent 补的就是这层:人通过 Intent 把语义信息结构化地传递给 agent,agent 通过 Git 管理代码。
三个对象
整个模型只有三种对象:
| 对象 | 记录什么 |
|---|---|
| Intent | 从交互中总结出的目标 |
| Snap | 语义快照——做了什么、为什么 |
| Decision | 跨多个 intent 持续生效的长期约束 |
对象自动关联,关系始终双向且只增不减。创建新 Intent 时,所有活跃的 Decision 自动挂上去——你不需要手动维护”这个任务受哪些约束影响”。
这种设计的好处是机器可查询。不是一堆散乱的笔记,而是有状态、有关联的语义图谱。
从 Snap-Query 到 Intent-Session
早期版本尝试过 Snap-Query 模式——让 agent 在每次交互后自动捕获快照。能跑通,但问题很明显:噪声大、token 开销高、打断工作流。
后来转向了 Intent-Session 模式:agent 自由工作,你来决定何时记录。
实践下来这更务实:
- 省 token——不是每次交互都记,只在目标完成时记
- 不打断工作流——agent 正常工作,记录是事后的
- 数据质量更高——回溯式总结,里程碑已经确定,归纳自然更准确
操作流程很简单:
- 和 agent 一起完成目标
- 目标达成后,让 agent 回顾并构建语义历史
- Agent 创建一个 intent + 若干 snap + 标记完成
“Session” 不严格指一次完整会话——它代表任何有明确目的的交互。和 git commit 一样,记录由用户发起。
快速开始
1 | # macOS / Linux |
需要 Python 3.9+ 和 Git,安装脚本自动处理 pipx。
想在浏览器里查看语义历史,启动 IntHub Local:
1 | itt hub start |
然后在项目仓库里:
1 | itt hub link --api-base-url http://127.0.0.1:7210 |
也可以在线浏览 Showcase:IntHub Showcase,里面有 Intent 项目自身的语义历史和 MAARS 的早期数据。
和其他工具的关系
Intent 不替代 Git,也不替代 agent 的 memory:
- Git 回答:代码怎么变了
- Memory 回答:你是谁,你怎么工作
- Intent 回答:你在解决什么,做到哪了,为什么这么做
三者各管一层,互不冲突。
开发正在从”写代码”转向”引导 agent、沉淀决策”。如果你觉得 Git log 记录的东西越来越不能反映你实际在做什么——Intent 试图解决的就是这件事。
- GitHub: github.com/dozybot001/Intent
- 文档: 愿景 · CLI 设计
- MIT 协议
- Title: Intent — 在 Git 之上建一层语义历史
- Author: Deyang Zeng
- Created at : 2026-03-26 00:00:00
- Updated at : 2026-03-26 17:12:36
- Link: https://hexo.io/2026/03/26/2026-03-26-intent-semantic-history/
- License: All Rights Reserved © Deyang Zeng