Files
tradecatlabs f1f0b9fe75 refactor: move research domain to repository root (#58)
Move the complete research domain from docs/research to root-level research, update indexes and path-aware tooling, and align raw snapshot governance and CODEOWNERS.\n\nVerified with make test and GitHub CI.
2026-07-11 22:18:37 +08:00

3.2 KiB

Aider-AI/aider 研究分析

本轮结论

Aider-AI/aider 的核心价值不是终端聊天,而是 Git 驱动的 AI 编辑闭环。它把仓库状态、编辑格式、 repo map、命令执行、lint/test 和提交协作放进同一条循环,让 AI 修改始终能被 diff、验证、回滚和审查。

本仓最应该迁移的是“AI 修改必须进入证据链”:任何文档、研究、脚本或资源变更,都要能说明 diff 范围、 验证命令、失败修复和提交边界。

本地证据

  • 研究对象:Aider-AI/aider
  • 当前研究角色:终端 AI 结对编程工具
  • 原始仓库:raw/repository/
  • 原始来源清单:raw/sources.yml
  • 事实摘要:domain.yml
  • 深度证据:deep-dive.md

对标拆解

内容
参考对象 Aider-AI/aider
它解决的核心问题 让 AI 对真实仓库的修改可 diff、可测试、可提交、可回滚
核心机制 repo.py 管 Git 状态,repomap.py 压缩上下文,coders/ 定义编辑协议,linter.py 接入反馈
真正带来结果的动作 把 AI 输出变成 Git 工作流里的可审查补丁,而不是孤立文本
可迁移做法 dirty state 检查、diff 审查、门禁命令、验证证据和提交叙事
不可迁移条件 不复制完整终端产品、多模型配置和 Python 编辑器实现
下一步试用动作 docs/workflow/ 沉淀“AI 修改 -> diff 审查 -> make test -> commit”闭环

改良迭代

改良目标 原模式 本仓版本 验证指标
Git 状态护栏 Aider 围绕 Git dirty state 和 commit 工作 每次任务先看 git status,不覆盖用户改动 变更说明能区分用户改动和本轮改动
文档上下文压缩 Aider 用 repo map 选择上下文 本仓建立 research/docs 入口地图和索引校验 新文档不会漏进 README、metadata、llms
反馈循环 Aider 把 lint/test 反馈接进对话 本仓统一用 make test 做文档门禁 修改后失败项能回到具体文件修复

可迁移清单

  • 把“修改前检查工作区状态”写成所有 AI 工程任务默认动作。
  • make testgit diff --check 和关键脚本输出纳入交付说明。
  • 为研究域建立文档地图或索引生成机制,减少长文档漂移。
  • 对大文件修改优先使用局部 patch,避免全文件重写带来无关 diff。

不可迁移清单

  • 不把本仓变成 Aider 竞品。
  • 不复制其多模型兼容层、coder 实现和交互式命令系统。
  • 不把 repo map 当成万能方案;本仓优先解决 Markdown 索引漂移和研究域路由。

验证动作

动作 成功信号 失败信号
为一次文档任务记录状态、diff、门禁和提交说明 后续审查能复现变更链路 只能从对话里猜为什么这么改
抽样新增文档后跑索引检查 README、metadata、llms 同步 新文档存在但入口缺失
对同一类研究文档使用固定分析骨架 读者能横向比较对象 每篇分析结构不同、不可比较

沉淀判断

  • 稳定结论应下沉到 docs/workflow/ 的 AI 修改闭环。
  • deep-dive.md 保留源码证据;本文件负责把证据转成迁移动作。