您的位置首页 >人工智能 >

ChipCode 项目记忆文件落盘规则,区分需要写入与禁止写入的内容

ChipCode 的项目记忆采用文件化存储方案,核心思路是只把跨会话、稳定不变、代码无法自动推导的硬性事实写入专属记忆文件,会话临时信息、可从源码 / 日志里查到的内容一律不落地保存,配套.chipcode目录下 board.md、conventions.md、acceptance.md、build.md 这几个固定文件承载记忆,很多嵌入式开发用户容易把调试日志、临时想法、主观判断一股脑塞进记忆文档,造成记忆和真实代码、硬件状态不一致,后续 AI Agent 读取记忆时出现错误假设。落地的时候先分清四类必须写入的稳定事实,再对照黑名单过滤掉不该存的内容,记忆文件保持精简、可 diff、可人工直接修改,不用向量数据库,方便嵌入式项目多人协作、版本回溯、自动化验收。

一、ChipCode 项目记忆必须写入文件的四类内容

1. 板卡硬件事实(board.md)

硬件固定参数、引脚分配、外设冲突,属于硬件固化信息,代码读不到。

  • 主控型号、主频、Flash/RAM 容量、供电电压
  • 引脚绑定:LED、按键、串口、I2C、SPI、ADC 对应的引脚
  • 硬件约束:哪些引脚被外设占用、不能复用、板上自带的上拉下拉
  • 板卡特殊限制:晶振类型、Boot 引脚接法、调试接口

2. 编码约定(conventions.md)

项目长期固定的编码规范、宏定义命名、工具链规则,不会频繁改动。

  • 变量、函数、宏的命名规范
  • 必须使用的编译器、编译选项、标准库开关
  • 代码分区、注释模板、断言、日志输出规范
  • 禁止使用的函数、头文件、语法

3. 可勾选验收条件(acceptance.md)

可判定、可自动化测试的交付标准,是 ChipCode 里面最重要的记忆项。

  • 上电、待机、功耗、时序指标
  • 按键、通信、传感器的功能判定标准
  • 容错要求、误差阈值、重启稳定性要求
  • 每条写成带勾选框的条目,能直接判断是否通过验收

4. 构建与烧录命令(build.md)

固定编译、烧录、调试命令,工具链的固定参数。

  • make、cmake、烧录工具的完整指令
  • 烧录地址、波特率、调试器型号
  • 分区配置、固件打包脚本路径

二、ChipCode 项目记忆禁止写入文件的内容清单

  • 临时调试过程、报错日志、单次调试输出
  • 会话里临时想法、方案讨论、主观猜测、不确定的判断
  • 临时代码、测试用临时注释、一次性的临时补丁
  • 代码本身就能读到的内容:源码、注释、宏、git 提交记录
  • 单次任务状态、本次对话上下文、临时变量、临时测试结果
  • 已经写在代码注释、README、工程配置里的重复信息
  • 还没验证、待定、待确认的猜想方案

三、ChipCode 项目记忆目录结构

project/

├── .chipcode/

│ ├── board.md 板卡硬件事实

│ ├── conventions.md 编码规范约定

│ ├── acceptance.md 验收条件清单

│ ├── build.md 编译、烧录、调试命令

├── firmware/ 固件源码(不属于记忆)

├── evidence.jsonl 联调证据链,不属于项目记忆

说明:evidence.jsonl 是联调测试证据账本,记录每次测试结果,不属于项目记忆文件,分开维护

四、写入与不写入的快速判断表

信息类型是否写入项目记忆文件判断理由
STM32F103C8T6,PA5 接 LED✅写入硬件固定事实,代码无法自动识别板卡接法
上电 3 秒进入待机,电流小于 20mA✅写入验收标准,需要跨会话持续校验
项目统一用 snake_case 命名✅写入长期编码约定
stcgal 烧录命令、波特率 115200✅写入固定构建烧录指令
刚才调试发现串口偶尔丢包❌不写入单次调试现象,属于会话临时信息
源码里的函数、注释、宏定义❌不写入可以直接读取源码获取
我觉得换一个晶振可能解决问题❌不写入主观猜想,没有确认
本次编译的报错日志❌不写入临时输出,不需要长期记忆

五、写入记忆文件的实操步骤

  1. 打开项目根目录下的.chipcode目录,找到对应 md 文件
  2. 只写确定、稳定、长期不变的事实,不写猜测、临时现象
  3. 验收条件统一写成勾选列表格式,方便自动化核验
  4. 提交到 git,记忆文件和代码一起做版本管理
  5. 每次硬件改版、规范变更、验收标准更新时再修改记忆文件
  6. 调试日志、单次测试记录放到 evidence.jsonl 证据链,不要混进记忆文档

六、使用避坑要点

  • 不要把项目记忆当成聊天记录、调试笔记,越杂越容易误导 AI
  • 硬件改板后,必须同步更新 board.md,不然 Agent 会沿用旧引脚配置
  • 验收条件必须可量化,不要写模糊描述,比如 “运行稳定” 这种无法判定的文字
  • 记忆文件只存规则和事实,测试证据单独放在 evidence.jsonl,二者职责分开
  • 会话上下文关掉窗口就丢弃,不需要手动存入项目记忆

【常见问题】

问题 1:ChipCode 项目记忆文件,evidence.jsonl 是不是属于项目记忆?

回答 1:不是,ChipCode 项目记忆只包含 board.md、conventions.md、acceptance.md、build.md;evidence.jsonl 是联调测试证据账本,用来存放每次测试结果,不属于项目记忆文件。

问题 2:ChipCode 项目记忆,调试过程和报错日志能不能写到记忆文件里?

回答 2:不能,ChipCode 项目记忆不写入调试过程、单次报错日志,这类属于临时会话信息,单次调试记录放到 evidence.jsonl 证据链,不要写入长期记忆。

问题 3:ChipCode 项目记忆里的验收条件,写的时候有什么格式要求?

回答 3:ChipCode 项目记忆的验收条件建议写成可勾选清单,每条带上量化指标,方便 ChipCode 自动化判定是否达标,避免模糊描述。

问题 4:ChipCode 项目记忆,代码注释、git 提交记录里已经有的内容,还需要写入记忆文件吗?

回答 4:不需要,ChipCode 项目记忆只放代码无法自动推导的硬件事实、固定约定;源码、注释、git 历史可以直接读取,不用重复写入项目记忆。

问题 5:ChipCode 项目记忆如果硬件改版,需要怎么处理记忆文件?

回答 5:ChipCode 项目记忆里的 board.md 记录板卡硬件事实,硬件改版之后必须同步更新 board.md,不然 Agent 读取记忆时继续使用旧引脚、旧硬件参数,引发代码错误。

【参考资料】

[2026-11-11](ChipCode 的项目记忆:哪些东西该写进文件,哪些不该)阿里云开发者社区

[2026-11-11](ChipCode 的七类 transport:一个 JSON 怎么统一九种工具链)阿里云开发者社区

[2026-11-05](AI 写嵌入式代码,编译通过不等于做完 —— 拆解 ChipCode 产品工厂的文件状态机与 evidence.jsonl 证据链)阿里云开发者社区

[2026-11-05](AI 写嵌入式代码,编译通过不等于做完 —— 拆解 ChipCode 产品工厂的文件状态机与 evidence.jsonl 证据链)掘金

【免责声明】

本文内容仅为 ChipCode 项目记忆落盘规则科普参考,不构成项目规范强制标准;ChipCode 工具版本迭代时,记忆目录、文件命名、证据链规则可能发生调整;记忆文件写入错误、硬件信息未同步更新引发固件编译、硬件调试故障,本文不承担相关责任。

今日大家都在搜的词: