灵克工作流:从问题到进化
工作流概述
这是一个整合了灵通(情报系统)和灵极优(自优化系统)的完整工作流,用于将问题转化为系统进化方案。
工作流架构
核心组件
1. 灵通(情报系统)
职责:收集、汇总、中转情报
核心功能:
- IntelCollector - 收集各类情报(错误、行为、结构、优化等)
- DailyDigestGenerator - 生成情报日报
- IntelRelay - 将情报中转给灵字辈成员
情报分类:
- ERROR - 错误事件
- BEHAVIOR - 行为观察
- CODE_PATTERN - 代码模式
- STRUCTURE - 项目结构
- OPTIMIZATION - 优化建议
- QUALITY - 质量指标
- SECURITY - 安全问题
优先级:
- CRITICAL - 关键情报,需要立即处理
- WARNING - 警告,需要关注
- INFO - 信息,仅供参考
2. 灵极优(自优化系统)
职责:分析触发条件、评估项目结构、生成优化建议
核心功能:
- OptimizationTrigger - 检查优化触发条件
- StructureEvaluator - 评估项目结构质量
- OptimizationAdvisor - 生成优化建议报告
触发条件(8 类): 1. 用户触发 2. 代码质量下降 3. 行为异常 4. 结构违规 5. 性能问题 6. 扩展性挑战 7. 技术债务 8. 时间周期
结构评估指标: - 类数量 - 方法数量 - 复杂度 - 违规数 - 平均类大小 - 平均方法数
工作流执行步骤
Step 1: 收集问题情报(灵通)
collector = IntelCollector()
# 将用户报告的问题作为关键情报
problem_item = IntelItem.create(
category=IntelCategory.ERROR,
priority=IntelPriority.CRITICAL,
source="user_report",
content="问题描述...",
)
collector.items.append(problem_item)
Step 2: 分析触发条件(灵极优)
trigger = OptimizationTrigger()
# 检查是否满足优化触发条件
context = {"user_triggered": True}
triggered, trigger_info = trigger.check_all_conditions(context)
if triggered:
# 将触发信息作为情报
trigger_item = IntelItem.create(
category=IntelCategory.QUALITY,
priority=IntelPriority.CRITICAL,
source="optimization_trigger",
content=f"优化触发条件满足: {trigger_info.reason}",
)
collector.items.append(trigger_item)
Step 3: 评估项目结构(灵极优)
evaluator = StructureEvaluator(target_path="/path/to/project")
# 评估项目结构
params = {
"max_class_size": 200,
"max_method_count": 15,
"max_complexity": 10,
}
violations = evaluator.evaluate(params)
# 将结构评估结果作为情报
structure_item = IntelItem.create(
category=IntelCategory.STRUCTURE,
priority=IntelPriority.WARNING if violations > 5 else IntelPriority.INFO,
source="structure_evaluator",
content=f"项目结构评估完成,发现 {violations} 处违规",
)
collector.items.append(structure_item)
Step 4: 生成优化建议(灵极优)
advisor = OptimizationAdvisor()
# 模拟优化结果(实际由 Optimizer 执行)
mock_result = OptimizationResult(
success=True,
best_params={
"test_framework": "playwright",
"test_coverage_target": 0.8,
"e2e_test_priority": "high",
},
best_score=85.0,
experiments=10,
duration=1.5,
)
# 当前指标
current_metrics = {
"structure_violations": violations,
"test_failure_rate": 0.5,
"e2e_coverage": 0.0,
}
# 生成优化建议报告
report_content = advisor.generate_report(
goal="testing_evolution",
target="/path/to/project",
current_metrics=current_metrics,
optimization_result=mock_result,
)
# 保存报告
report_path = advisor.save_report(
report=report_content,
output_path=".lingclaude/reports/optimization.md",
)
# 将优化建议作为情报
optimization_item = IntelItem.create(
category=IntelCategory.OPTIMIZATION,
priority=IntelPriority.INFO,
source="optimization_advisor",
content=f"优化建议生成完成: WebUI 测试体系进化",
)
collector.items.append(optimization_item)
Step 5: 生成情报日报(灵通)
generator = DailyDigestGenerator()
digest = generator.generate(
items=tuple(collector.items),
report_date=date.today().isoformat(),
)
日报内容: - 总情报数 - 关键发现 - 优化建议 - 分类统计 - 优先级分布 - 情报明细
Step 6: 中转情报(灵通)
relay = IntelRelay()
relay_result = relay.relay(digest)
# 生成三个文件:
# 1. digest_2026-04-07.json - JSON 格式情报
# 2. digest_2026-04-07.md - Markdown 格式情报
# 3. manifest.json - 情报清单
执行示例
输出:
📡 灵通:收集问题情报...
🔍 灵极优:分析优化触发条件...
🏗️ 灵极优:评估项目结构...
💡 灵极优:生成优化建议...
📊 灵通:生成情报日报...
📤 灵通:中转情报给灵字辈成员...
✓ 工作流执行完成
生成的文件:
1. .lingclaude/intel/digest_2026-04-07.md - 情报日报
2. .lingclaude/workflows/workflow_2026-04-07.md - 工作流摘要
3. .lingclaude/reports/webui_testing_optimization.md - 优化建议报告
输出文档详解
1. 情报日报(digest_*.md)
# 灵克情报日报 — 2026-04-07
## 概要
共收集 4 条情报。 error: 1 条 optimization: 1 条 ...
## 关键发现
- 发现 2 条关键情报需要立即关注
- 捕获 1 个错误事件
- 完成 1 次自优化周期
## 建议
- 审查近期错误日志,排查工具参数和路径问题
## 分类统计
- **error**: 1
- **optimization**: 1
- **quality**: 1
- **structure**: 1
## 优先级分布
- **critical**: 2
- **info**: 2
## 情报明细
### 🔴 [error] user_report
用户反馈会话无法正常进行,显示'未登录'...
2. 工作流摘要(workflow_*.md)
# 问题到进化工作流执行报告
## 执行时间
2026-04-06T22:14:50.145964+00:00
## 执行步骤
1. ✓ 收集问题情报: WebUI 测试覆盖盲区导致用户无法正常使用
2. ✓ 触发优化: User manually triggered optimization
3. ✓ 结构评估: 3.0 处违规
4. ✓ 生成优化建议: WebUI 测试体系进化
5. ✓ 生成日报: 4 条情报
6. ✓ 情报已保存: .lingclaude/intel/digest_2026-04-07.md
## 下一步行动
1. 灵字辈成员查看情报日报
2. 审议提案文档
3. 提供反馈意见
4. 形成最终决策
5. 执行优化方案
3. 优化建议报告(*_optimization.md)
# LingClaude Self-Optimization Report
Generated: 2026-04-07 06:14:50
Goal: testing_evolution
Target: /home/ai/LingYi
---
## Recommendations
### Optimal Parameters
```yaml
e2e_test_priority: high
test_coverage_target: 0.80
test_framework: playwright
Experiments: 10 Duration: 1.5s
Parameter Comparison
| Parameter | Recommended |
|---|---|
| e2e_test_priority | high |
| test_coverage_target | 0.80 |
| test_framework | playwright |
Implementation Steps
- Update
config.yamlwith the recommended parameters above - Run
lingclaude optimize --target <path>to verify - Commit configuration changes
## 工作流优势 ### 1. 系统化 - 将问题发现到优化的过程标准化 - 每个步骤都有明确的输入和输出 - 可重复、可追溯 ### 2. 自动化 - 自动收集和分析情报 - 自动评估项目结构 - 自动生成优化建议 - 自动生成和保存报告 ### 3. 可视化 - 生成多个格式的报告(JSON + Markdown) - 提供清晰的执行步骤 - 可视化关键发现和建议 ### 4. 协作性 - 情报中转给灵字辈成员 - 便于团队协作和审议 - 支持多人决策 ### 5. 持续优化 - 记录每次优化的历史 - 支持优化效果评估 - 形成知识积累 ## 适用场景 1. **用户反馈问题** → 通过工作流转化为优化方案 2. **代码质量下降** → 自动触发优化分析 3. **项目结构违规** → 评估并生成改进建议 4. **功能需求变化** → 分析影响并优化架构 5. **定期维护** → 自动化结构评估和优化建议 ## 扩展方向 ### 1. 集成 LingMessage ```python from lingmessage.mailbox import Mailbox mailbox = Mailbox() mailbox.post( subject="灵克发现:WebUI 测试覆盖盲区", body=digest.to_markdown(), )
2. 自动执行优化
from lingclaude.self_optimizer.optimizer import SynchronousOptimizer
optimizer = SynchronousOptimizer()
result = optimizer.optimize(
request=OptimizationRequest(
target="/home/ai/LingYi",
goal="testing_evolution",
params={"test_framework": "playwright"},
config={},
)
)
3. 持续监控
# 设置定期执行
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler()
scheduler.add_job(
execute_problem_to_evolution_workflow,
'interval',
hours=24,
)
scheduler.start()
文件位置
- 工作流脚本:
/home/ai/LingClaude/scripts/workflow_problem_to_evolution.py - 情报日报:
.lingclaude/intel/digest_*.md - 工作流摘要:
.lingclaude/workflows/workflow_*.md - 优化报告:
.lingclaude/reports/*_optimization.md
工作流版本: 1.0 创建时间: 2026-04-07 维护者: 灵克(LingClaude)