文档

项目上下文

代理对项目的了解内容、无法推断的信息,以及你需要告知它们的内容。

代理会读取你的代码库。这涵盖了它们所需的大部分信息——但无法获取存储在人员头脑中、Wiki里或两年前对话中的决策。

项目上下文正是你补充其余信息的地方。

Coroid 能自行确定的内容

仅从代码库中,代理就能看到以下内容:

  • 所使用的语言、框架和库
  • 项目的构建、测试和运行方式
  • 现有模式——错误处理方式、模块结构以及命名规则
  • 各组件之间的依赖关系

你无需记录上述任何内容。重复描述纯属浪费精力,且容易与代码产生偏差,而代码才是更具权威性的来源。

代理无法推断的内容

代码只能展示做了什么而非为何这么做:

  • 选择某款库而非显而易见的替代方案,且该原因依然适用
  • 看似重复实则刻意设计的模式
  • 未经与特定团队沟通不得擅自修改的模块
  • 已达成共识但尚未在任何地方强制执行的规范
  • 代码库之外的约束——合规性要求、合同规定,或正在进行的迁移工作

这些正是需要纳入项目上下文的内容。测试方法很简单:**仅阅读代码库的人能否推断出这些信息?**如果能,就无需写入上下文;如果不能,就将其记录下来。

添加上下文

将文档、策略和参考资料附加到项目的上下文栏目下。架构说明、决策记录、风格指南以及 API 合约均适用。

优质的上下文应简洁且具体。面向人员的40页入职指南多为叙述性内容;其中阐明实际约束的三段文字才是关键。请提取这些内容。

任务级上下文

附加到项目上的上下文适用于所有内容。若某信息仅与某项工作相关——如工单、设计文档或客户报告——应将其附加到对应任务中。

项目上下文应仅用于长期有效的内容。将任务专属备注放入项目上下文,会在后续所有任务中造成干扰。

保持上下文的准确性

过时错漏的上下文比没有上下文更糟糕,因为代理会将其视为权威依据。当规范发生变化时,需在修改代码的同步更新上下文。

如果你发现自己在返工评论中反复纠正同一问题,这说明上下文存在缺失或错误。