用途:从现有代码库反向提取 Allium 规格,把已实现的行为整理成领域级规范。核心是选择正确的抽象层次,代码说明“如何实现”,规格说明“做什么、为何重要”。
主要能力:可交互或非交互两种模式运行;交互模式直接向用户提问并等待回答,非交互模式作为 distill 子代理运行(如 Allium 循环内),将未确认的判断记录为规格中的开放问题并在最终输出列出。支持划定范围、区分有意与偶然行为、抽取实体状态、转换、规则及外部边界,并对组装后的规格做抽象与验证。
使用方式:先界定要规格化的代码子集,明确包含与排除项(遗留、基础设施、废弃路径、实验特性),并在文件顶部记录范围决定。每个 .allium 文件首行必须写版本标记,例如 -- allium: 3,使用当前语言版本号。大型代码库建议先做轻量扫描,按有界上下文分片,各子代理只读自己的切片并返回规格片段与 file:line 证据,由编排者合并去重、统一术语。
判断原则:常用测试包括“为什么干系人关心这个”“能否不同实现而仍是同一系统”“模板还是实例”“产品负责人是否在意”,并用“多实现”启发式判断变化本身是否属于领域关注点。例如令牌生成、数据库选择通常属实现;邀请七天过期、状态流转属领域级。若用户界面显式提供登录方式选择,则该提供方可能属领域级。
适用场景:已有代码、需要将行为提炼为规格、逆向工程系统、在单仓库中为某个服务或领域单独建规格时。
限制:资料未提供安装命令、收费方式、具体支持的代码语言范围与运行环境要求;具体细节需以实际工具文档为准。