✨ feat: 准备解决一些问题
This commit is contained in:
@@ -137,7 +137,8 @@
|
|||||||
"action": "next-step",
|
"action": "next-step",
|
||||||
"phase": "finish",
|
"phase": "finish",
|
||||||
"step": 17,
|
"step": 17,
|
||||||
"summary": "测试下一步"
|
"summary": "测试下一步",
|
||||||
|
"git_commit": "973e60ec1d97c98116663b3203cd522c058ef877"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
7673
|
|
||||||
41
statements/old-task-section.md
Normal file
41
statements/old-task-section.md
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
# 想法
|
||||||
|
|
||||||
|
创建一个新的command(暂时称为cmd-3),专门用于处理为项目创建和维护文档(这一command将会是“独立运行”的):
|
||||||
|
- 在环境配置中建立一条用于记录项目文档目录路径的数据
|
||||||
|
- 如果项目文档目录路径不存在或该路径下文档为空,触发浅了解进行区块划分再进行完全深度了解然后新建文档
|
||||||
|
- 先探索目录文件结构,文件大小,然后根据文件名、文件类型、目录结构可能含有的模块化语义等,对整个项目建立分初步区块计划,
|
||||||
|
- 然后再逐个区块的尝试探索其各关键文档信息,验证区块划分是否合理,
|
||||||
|
- 确定区块划分合理后,制定更详细和准确的区块分划计划文档,
|
||||||
|
- 最后逐个区块的进行完全深度了解,并创建对应部分的文档,直到全部完成,
|
||||||
|
- 注意,每当初次开始处理时都要检查区块计划文档,根据当前记录中的进度,接着完成接下来的任务,因为如果项目过大,可能需要多个全新对话多次重新执行才能完成所有区块的任务
|
||||||
|
- 为了稳定多个不同步骤的关键联系,即区块计划文档,可以为这个文档建立一条环境配置数据记录其路径
|
||||||
|
- 若项目文档存在则分区块进行完全深度了解,对文档内容进行验证和同步更新
|
||||||
|
- 验证文档内容是否属实,是否与最新实现效果保持一致
|
||||||
|
- 若不一致则以实现为准更新文档内容
|
||||||
|
|
||||||
|
# 一些特定行为描述
|
||||||
|
|
||||||
|
独立运行:
|
||||||
|
- 指通常会在一个独立启动的全新的对话中直接执行
|
||||||
|
- 并在确认这部分任务目标完全解决后就退出关闭对话
|
||||||
|
|
||||||
|
项目文档:
|
||||||
|
- 这里的项目文档指的是专用于面向LLM的文档
|
||||||
|
- 专用于为LLM保存上下文
|
||||||
|
- 把上下文记忆信息转储为持久化的文档内容
|
||||||
|
- 和初始化上下文
|
||||||
|
- 新对话中让LLM对项目结构、内容等有一个适当的认知,允许LLM先是只能看到脉络(先有对概况的认识,便于更好的分析任务提供帮助,又不会什么都还没干就消耗过多token和上下文),
|
||||||
|
- 然后以此可以允许LLM在实际过程中对项目按需细化深化的进行了解,追溯枝叶根须
|
||||||
|
- 所以对于这个项目文档的创建和维护时的编辑规范,相关的规则、约定等,可以针对面向LLM做优化、特化
|
||||||
|
- 我希望文档被分为(或者你觉得我下面的分划方式不具备普遍适用性、泛用性的话,你可以根据上面所述的项目文档的期望效果,制定更合适的规划)一份总导览和多个子区块部分,
|
||||||
|
- 但必须在子区块局部文档信息完整详细的同时保证总的来说语义一致,他人能仅依赖于子区块的文档及子区块本身的目录文件信息完全了解这个区块,并接手其后续工作,比如需要进行一些调整、删除、添加,
|
||||||
|
- 以当前目录下的项目为例子,我想达到的效果是,如果后续我想对commands中init的业务细节、职能界定等进行调整:
|
||||||
|
- 比如有一个新来的人,仅学习过docs/下那样的内容会写claude code的commands和skills,但是他对这个项目本身没有任何知识基础,那么我希望他可以在仅通过导览文档,知道他应该看哪个文档来完全掌握aide-plugin:init的信息和情况,然后对commands/init.md进行修改,还有更新对应子区块的文档,但仅需要更新子区块,而不用完整的知道aide-requirements.md(或者说所有所有子区块的信息,不必知道所有区块才行动,将文档区块化后我将会删除原aide-requirements.md)的全部内容
|
||||||
|
- 还比如我想对aide程序中的env子命令进行功能调整,那位开发人员可以仅知道跟aide env有关的文档(导览 → aide程序体系导览 → env子命令细节),而不必在完整了解整个commands+skills+完整aide程序设计后才开始行动,
|
||||||
|
- 并且对功能的调整也可以仅涉及相关代码文件和子命令细节文档,涉及导览时更新导览信息即可,导览远比全部的完整信息要轻量得多,
|
||||||
|
|
||||||
|
完全深度了解:
|
||||||
|
- 指对于涉及的内容,比如一个项目就是该项目下的所有目录及其子目录下的每一个文件,
|
||||||
|
- 如果是一个区块就是区块分划中制定的所有文件和目录及其子目录下的每一个文件,
|
||||||
|
- 除非特别制定了应该忽略的文件和目录,默认情况下存在.gitignore文件则遵循其忽略项配置,比如如果.gitignore中设置了忽略`cache/`和`node_modules/`,则忽略这两个目录,不需要了解,
|
||||||
|
- 对于未指定应该忽略掉的文件和目录,要每一个文件都进行读取和审阅分析,了解其内容含义
|
||||||
37
task-now.md
37
task-now.md
@@ -1,23 +1,26 @@
|
|||||||
对当前的commands&skills&aide做一些调整,记得完成调整后同步更新所有相关文档
|
对当前的commands&skills&aide做一些调整,记得完成调整后同步更新所有相关文档
|
||||||
|
|
||||||
添加一个新的skill,内容以@statements/optimize.md为基础,尽情发挥你的创造力,尝试将其进一步扩展和完善,然后做成一个新skill放入插件市场,
|
我曾经提过一个想法,我把它的其中一部分节选出来保存在了 @statements/old-task-section.md ,
|
||||||
然后在run中添加一条要求,不论任何时候,如果发现用户的对话消息内容或是给你的任务文档内容具有较明显的口头语气,就应该学习该skill然后对其内容进行深度理解(比如本任务文档就属于需要使用该skill进行解析的),
|
|
||||||
|
|
||||||
我之前提出了按下面的要求对commands/run的流程图设计部分的内容进行调整,但现在看来没有实现目标效果,仅仅只做到了“无论如何要有图”,但没有约定要什么样的图,
|
这个cmd-3现在已经被正式命名为`docs`了,且已被实现,但是我在实际使用时它好像没有按我原本预期的效果进行,
|
||||||
```
|
|
||||||
调整在流程图阶段的要求:
|
|
||||||
- 强化流程图的要求,不论是什么任务,只要有任务就必须有流程图,
|
|
||||||
- 因为整个任务的具体实现主要是LLM来完成,实际上用户主要处理的只是提供原任务信息和处理优化待定项的决定,还有后续可能的审阅,
|
|
||||||
- 但是如果审阅时要每一个文件的改动细节够一个一个看的话太过于耗费时间,
|
|
||||||
- 如果有图像形式的流程图,这会对用户很友好,而且如果能在流程图阶段就发现业务流上的逻辑错误,将能避免很多沉没成本,避免花了大量时间查看细节但其实大方向上就有错误浪费了时间
|
|
||||||
- 我需要的流程图是那种,比如一个C/C++程序一般是从main函数开始,同时程序的本质其实就是顺序执行或分支/循环结构这些都能用流程图体现出来,代码的本质是为了实现业务逻辑也就是说可以把代码细节抽象为语义化简述(其实应该是写代码就是为了把高级抽象的人类语言业务逻辑实现为底层程序代码的过程),所以其实可以使用流程图把程序的逻辑流以语义化的方式呈现出来,
|
|
||||||
- 而且一个函数可以被封装为一个用有规定的预期输入+输出的盒来表示,一个函数或模块就是一个子系统,子系统可以在一个单独的流程图中呈现其细节,就像是写代码时的模块化思维,封装分装到多个代码文件里那样类似的
|
|
||||||
- 而对于有些不是写程序代码的任务也同样需要流程图,用户可以通过流程图来看出计划,将要做什么事,做事的顺序,
|
|
||||||
```
|
|
||||||
|
|
||||||
上面说的那些你能理解吗,能的话先写一个使用python语言模块化编程实现一个中低复杂的的程序(在test-cache目录下新建目录和文件),具体程序内容你自拟,然后为其程序执行的顺序流绘制流程图,
|
---
|
||||||
|
|
||||||
将上面说的原本的要求内容转化为清晰明确的规定,同时新增一项要求,我希望含有程序设计与代码编写的任务要同时有任务本身的执行过程的流程图和程序的顺序流逻辑图,而不含程序代码的任务则只要有任务本身的执行过程的流程图即可
|
我期望的是它要完全的深度的探索所有文件,每一个文件,每一个目录,不需要考虑是否过度设计、是否开销过大、是否效率过低等问题,
|
||||||
|
|
||||||
调整aide程序中flow的一些过程,因为flow会每次更新流程状态元数据,还会集成git提交,而用户有可能会希望不要把.aide忽略提交,
|
一定要完全的深度的对整个目录下所有文件、目录及其子目录下所有文件,除了匹配.gitignore中设置的忽略规则的文件,
|
||||||
所以我希望的是,flow的所有过程,只要集成了git提交操作的,git提交都应该是最后一步,就是先更新当前flow步骤的数据,再git add . 和 commit
|
每一个文件都要完全的阅读,从头到尾,不允许遗漏任何一行,进行分析后对其文件内容、意义等做出概况,而二进制数据文件则根据其文件名、大小和根据其他文件内容跟它的关联信息进行上下文推断做出概括,
|
||||||
|
|
||||||
|
最终产出整个项目目录下完整的全部文件目录的导览,从脉络到枝叶,从导览到区块,
|
||||||
|
|
||||||
|
其中对于被忽略的文件,仅保留文件名或目录名,不需要任何分析,标注ignored,
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
你可以检查一下当前项目的aide-plugin中已实现的docs.md,再对比一下.aide/project-docs中的由LLM根据docs.md的要求执行产出的项目文档,
|
||||||
|
|
||||||
|
为什么这个项目文档中没有看到aide-marketplace、docs这些目录的导览信息,更别说discuss、reply这些仅有文件夹本身的空目录,整个project-docs读完都对它们完全没有感知,而且也没有体现出目录/文件结构(类似tree命令输出那样)
|
||||||
|
|
||||||
|
原因是什么,单纯是docs.md没有按预期行为准确的给出提示词?还是我之前的想法没有描述到位?还是什么其他原因?
|
||||||
|
|
||||||
|
应该怎么解决这个问题,来让commands/docs实现预期效果
|
||||||
161
task-spec.md
161
task-spec.md
@@ -1,161 +0,0 @@
|
|||||||
# 任务细则
|
|
||||||
|
|
||||||
> 生成时间:2025-12-16
|
|
||||||
> 任务来源:task-now.md
|
|
||||||
> 复杂度等级:复杂(需拆分为子计划)
|
|
||||||
|
|
||||||
## 任务概述
|
|
||||||
|
|
||||||
对 Aide 工作流体系进行多模块调整,包括:创建新 skill、修改 run 命令、强化流程图规范、创建示例程序、调整 flow 提交顺序、更新文档。
|
|
||||||
|
|
||||||
## 子计划列表
|
|
||||||
|
|
||||||
### 子计划 1:创建口语化内容解析 skill
|
|
||||||
|
|
||||||
**目标**:创建一个 skill,用于识别和解析口语化的任务描述
|
|
||||||
|
|
||||||
**输入**:`statements/optimize.md` 作为基础
|
|
||||||
|
|
||||||
**输出**:`aide-marketplace/aide-plugin/skills/task-parser.md`
|
|
||||||
|
|
||||||
**功能要求**:
|
|
||||||
1. 语义解析:分析口语化表达,提取核心意图和真实需求
|
|
||||||
2. 批判性分析:识别逻辑漏洞、盲点、过度设计
|
|
||||||
3. 建设性建议:提出优化方向和替代方案
|
|
||||||
4. 规范化转换:将口语化内容转化为结构化任务描述
|
|
||||||
|
|
||||||
**扩展内容**(基于原材料发挥):
|
|
||||||
- 上下文关联:识别任务与项目现有内容的关联
|
|
||||||
- 隐含需求挖掘:发现未明确说明但实际需要的内容
|
|
||||||
- 复杂度预判:初步评估任务复杂度
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 子计划 2:修改 run 命令集成 skill 触发
|
|
||||||
|
|
||||||
**目标**:在 run 命令中添加口语化内容检测和 skill 触发逻辑
|
|
||||||
|
|
||||||
**修改文件**:`aide-marketplace/aide-plugin/commands/run.md`
|
|
||||||
|
|
||||||
**修改位置**:在 1.3 任务分析之前
|
|
||||||
|
|
||||||
**新增逻辑**:
|
|
||||||
```
|
|
||||||
如果任务文档或用户对话具有以下特征之一:
|
|
||||||
- 使用非正式的口头表达方式
|
|
||||||
- 包含大量"我觉得"、"好像"、"大概"等模糊表述
|
|
||||||
- 句子结构松散,缺乏条理性
|
|
||||||
- 包含冗余或重复的表达
|
|
||||||
|
|
||||||
则:
|
|
||||||
1. 触发 task-parser skill 学习解析方法
|
|
||||||
2. 对内容进行深度理解和规范化转换
|
|
||||||
3. 将转换后的结构化内容作为后续分析的基础
|
|
||||||
```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 子计划 3:强化流程图规范
|
|
||||||
|
|
||||||
**目标**:明确定义两种流程图类型及其规范
|
|
||||||
|
|
||||||
**修改文件**:`aide-marketplace/aide-plugin/commands/run.md`
|
|
||||||
|
|
||||||
**修改位置**:2.2 创建流程图部分
|
|
||||||
|
|
||||||
**新增内容**:
|
|
||||||
|
|
||||||
#### 流程图类型定义
|
|
||||||
|
|
||||||
| 类型 | 适用场景 | 必需性 |
|
|
||||||
|------|----------|--------|
|
|
||||||
| 任务执行流程图 | 所有任务 | 必需 |
|
|
||||||
| 程序逻辑流图 | 含程序设计与代码编写的任务 | 必需 |
|
|
||||||
|
|
||||||
#### 任务执行流程图规范
|
|
||||||
- 展示任务执行的步骤顺序
|
|
||||||
- 体现任务分解和依赖关系
|
|
||||||
- 包含关键决策点和分支
|
|
||||||
|
|
||||||
#### 程序逻辑流图规范
|
|
||||||
- **入口点**:从程序入口函数(如 main)开始
|
|
||||||
- **结构体现**:展示顺序、分支、循环等控制结构
|
|
||||||
- **语义化抽象**:将代码逻辑抽象为人类可理解的业务描述
|
|
||||||
- **模块化表示**:
|
|
||||||
- 函数/模块表示为"盒子"
|
|
||||||
- 标注输入和输出
|
|
||||||
- 复杂模块可用子流程图详细展开
|
|
||||||
- **层次化组织**:
|
|
||||||
- 主流程图展示整体逻辑
|
|
||||||
- 子系统/模块可单独绘制详图
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 子计划 4:创建 Python 示例程序并绘制流程图
|
|
||||||
|
|
||||||
**目标**:验证流程图规范的有效性
|
|
||||||
|
|
||||||
**位置**:`test-cache/demo-program/`
|
|
||||||
|
|
||||||
**程序要求**:
|
|
||||||
- 语言:Python
|
|
||||||
- 复杂度:中低
|
|
||||||
- 特点:模块化设计,包含多个文件
|
|
||||||
|
|
||||||
**产出**:
|
|
||||||
1. Python 程序代码
|
|
||||||
2. 程序逻辑流图(PlantUML)
|
|
||||||
- 主流程图
|
|
||||||
- 关键模块详图(如需要)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 子计划 5:调整 aide flow 的 git 提交顺序
|
|
||||||
|
|
||||||
**目标**:确保 flow-status.json 的更新包含在 git commit 中
|
|
||||||
|
|
||||||
**修改文件**:`aide-program/aide/flow/tracker.py`
|
|
||||||
|
|
||||||
**当前顺序**(`_apply_action` 方法):
|
|
||||||
1. run_pre_commit_hooks
|
|
||||||
2. git.add_all()
|
|
||||||
3. git.commit(message)
|
|
||||||
4. 创建新的 FlowStatus(内存)
|
|
||||||
5. 返回 FlowStatus
|
|
||||||
6. (在 `_run` 中)storage.save_status(updated)
|
|
||||||
|
|
||||||
**目标顺序**:
|
|
||||||
1. run_pre_commit_hooks
|
|
||||||
2. 创建新的 FlowStatus(内存)
|
|
||||||
3. storage.save_status(updated)
|
|
||||||
4. git.add_all()
|
|
||||||
5. git.commit(message)
|
|
||||||
|
|
||||||
**技术方案**:
|
|
||||||
- 重构 `_apply_action` 方法,将 git 操作分离
|
|
||||||
- 或在 `_run` 中调整调用顺序
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
### 子计划 6:同步更新所有相关文档
|
|
||||||
|
|
||||||
**更新列表**:
|
|
||||||
1. `.aide/project-docs/blocks/aide-plugin-skills.md` - 添加新 skill 说明
|
|
||||||
2. `.aide/project-docs/blocks/aide-plugin-commands.md` - 更新 run 命令说明
|
|
||||||
3. `.aide/project-docs/blocks/aide-program-flow.md` - 更新 flow 模块说明
|
|
||||||
4. `aide-marketplace/aide-plugin/skills/aide.md` - 如有必要
|
|
||||||
|
|
||||||
## 执行顺序
|
|
||||||
|
|
||||||
```
|
|
||||||
子计划1 → 子计划2 → 子计划3 → 子计划4 → 子计划5 → 子计划6
|
|
||||||
```
|
|
||||||
|
|
||||||
## 成功标准
|
|
||||||
|
|
||||||
1. ✓ 新 skill 文件存在且功能完整
|
|
||||||
2. ✓ run 命令能识别口语化内容并触发 skill
|
|
||||||
3. ✓ 流程图规范清晰明确,区分两种类型
|
|
||||||
4. ✓ 示例程序正常运行,流程图正确展示程序逻辑
|
|
||||||
5. ✓ flow 命令的 git 提交包含最新的 flow-status.json
|
|
||||||
6. ✓ 所有相关文档已同步更新
|
|
||||||
Reference in New Issue
Block a user