Files
EnterpriseArchitect/plans/BIZ-15_配置文件持续优化方案.md
T
陆怀瑾 (COO) 38b21d7adb 初始提交:多智能体协作体系总体方案及各子项目详细方案
- BIZ-11: 组织架构与岗位职责体系建设方案
- BIZ-12: 文档存储、命名与索引规范方案
- BIZ-13: 运行稳定性保障方案(任务停滞与429速率限制)
- BIZ-14: 知识库体系建设方案
- BIZ-15: 配置文件持续优化机制方案

所有方案均为初稿,待刘总审阅。
2026-06-22 02:45:51 +08:00

464 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# BIZ-15 智能体配置文件持续优化方案
> 版本:v1.0
> 编制:陆怀瑾(COO
> 日期:2026-06-22
> 状态:待审阅
---
## 一、目标
建立配置文件持续优化机制,通过定时任务每周检查并优化所有智能体的配置文件,核心策略是**"引用代替填塞"**,避免 Token 无谓增长。
---
## 二、问题分析
### 2.1 当前配置文件的 Token 浪费
| 文件 | 典型问题 | Token 浪费 |
|------|----------|----------|
| AGENTS.md | 嵌入全部 Agent 详细信息 | 3000+ tokens |
| SOUL.md | 嵌入完整的 SOP 模板 | 2000+ tokens |
| TOOLS.md | 嵌入工具使用详情 | 1500+ tokens |
| MEMORY.md | 未归档的历史记忆堆积 | 5000+ tokens |
**总计浪费**~11,500 tokens/Agent
### 2.2 根本原因
1. **内联而非引用**:详细内容直接写入配置文件,而非引用外部文档
2. **缺乏归档机制**:历史记忆不断累积,从不归档清理
3. **无优化检查**:没有定期检查和优化机制
---
## 三、核心策略:引用代替填塞
### 3.1 优化前后对比
**优化前(错误做法)**
```markdown
# AGENTS.md
## 团队成员详情
### 刘诗妮(secretary
- Feishu ID: ou_6201fa2f987300046ca659cf231f1d3f
- 核心职能:业务入口、进度跟进、飞书对接
- 工作模式:不进项目,专职支持 Vincent
- 可用时间:工作日 9:00-18:00
- 技能清单:...
- 联系方式:...
(每个 Agent 都有 300+ tokens 的详细信息)
### 陆怀瑾(coo
...
(共 12 个 Agent,总计 3600+ tokens
```
**优化后(正确做法)**
```markdown
# AGENTS.md
## 团队成员详情
完整 Agent 信息请参阅:[docs/agent-roster.md](docs/agent-roster.md)
核心协作协议:
| Agent | 核心职能 | 何时联系 |
|-------|----------|----------|
| secretary | 业务入口/进度跟进 | 任务接收、结果汇报 |
| coo | 资源协调/风险 | 资源协调、风险识别 |
...
(仅保留核心协作表,200 tokens)
```
### 3.2 可外部化的内容
| 配置文件 | 可外部化内容 | 外部文档路径 |
|----------|--------------|--------------|
| AGENTS.md | Agent 详细信息 | docs/agent-roster.md |
| AGENTS.md | 协作流程图 | docs/collaboration-flow.md |
| SOUL.md | SOP 模板 | docs/sop-templates/ |
| SOUL.md | 个性描述详情 | docs/persona-details/ |
| TOOLS.md | 工具使用详情 | docs/tools-reference.md |
| MEMORY.md | 超过 30 天的记忆 | memory/archive/YYYY-MM/ |
---
## 四、每周优化流程
### 4.1 流程概览
```
定时任务触发(每周日凌晨 2:00
扫描所有 Agent 配置文件
检测内联冗余内容
生成优化建议报告
┌─────┴─────┐
│ │
自动优化 需人工审批
(低风险) (高风险)
↓ ↓
执行优化 COO 审批 → 执行
更新优化日志
通知 COO
```
### 4.2 检测规则
#### 规则 1:大段内联内容检测
```python
def detect_inline_blocks(file_path):
"""检测超过 N 行的内联内容块"""
with open(file_path) as f:
lines = f.readlines()
blocks = []
current_block = []
in_code_block = False
for i, line in enumerate(lines):
if line.startswith('```'):
in_code_block = not in_code_block
continue
if in_code_block:
continue
# 检测密集内容(无空行的连续行)
if line.strip() and (not current_block or lines[i-1].strip()):
current_block.append((i+1, line))
else:
if len(current_block) >= 20: # 20 行阈值
blocks.append({
'start': current_block[0][0],
'end': current_block[-1][0],
'lines': len(current_block),
'preview': ''.join([l for _, l in current_block[:5]])
})
current_block = []
return blocks
```
#### 规则 2:重复内容检测
```python
def detect_duplicates(config_files):
"""检测多个配置文件中的重复内容"""
content_hashes = {}
duplicates = []
for file_path in config_files:
with open(file_path) as f:
content = f.read()
# 分块计算 hash
blocks = split_into_blocks(content)
for block in blocks:
h = hash(block)
if h in content_hashes:
duplicates.append({
'content': block[:100] + '...',
'files': [content_hashes[h], file_path]
})
else:
content_hashes[h] = file_path
return duplicates
```
#### 规则 3:引用缺失检测
```python
def detect_missing_refs(file_path, docs_dir):
"""检测应该引用但未引用的外部文档"""
known_externalizable = [
'SOP 模板', '岗位说明书', '工具详情', '流程图', '检查清单'
]
with open(file_path) as f:
content = f.read()
missing = []
for keyword in known_externalizable:
if keyword in content and 'docs/' not in content:
missing.append({
'keyword': keyword,
'suggestion': f'建议创建 docs/{keyword_to_filename(keyword)}.md 并引用'
})
return missing
```
### 4.3 优化建议报告格式
```markdown
# 配置文件优化报告
**检查时间**: 2026-06-22 02:00
**检查范围**: 所有 Agent 配置文件
---
## 概览
| 指标 | 数值 |
|------|------|
| 检查文件数 | 7 × 12 Agent = 84 |
| 发现冗余块 | 23 |
| 可优化 Token | 15,000 |
| 高风险变更 | 3 |
---
## 详细建议
### AGENTS.md (coo)
#### 建议 1:外部化 Agent 详情
- **位置**: 第 15-230 行
- **内容**: 12 个 Agent 的详细信息
- **建议**: 移动到 docs/agent-roster.mdAGENTS.md 仅保留协作表
- **节省**: 3,400 tokens
- **风险**: 低(只读引用)
#### 建议 2:外部化协作流程
- **位置**: 第 245-300 行
- **内容**: 开发 SOP 详细流程
- **建议**: 移动到 docs/sop-development.mdAGENTS.md 仅保留引用
- **节省**: 800 tokens
- **风险**: 低
---
### SOUL.md (secretary)
#### 建议 3:外部化 SOP 模板
- **位置**: 第 50-150 行
- **内容**: 完整 SOP 模板
- **建议**: 移动到 docs/sop-template.mdSOUL.md 仅保留引用
- **节省**: 1,500 tokens
- **风险**: 中(其他 Agent 可能引用)
---
## 自动优化建议
以下建议可自动执行(低风险):
- [ ] 建议 1:外部化 Agent 详情
- [ ] 建议 2:外部化协作流程
以下建议需人工审批(中高风险):
- [ ] 建议 3:外部化 SOP 模板(需确认无其他引用)
---
## 执行日志
执行后将在此处记录:
- 执行的优化项
- 跳过的优化项及原因
- Token 节省统计
```
---
## 五、优化工具实现
### 5.1 扫描脚本
```bash
#!/bin/bash
# optimize-configs.sh - 配置文件优化扫描脚本
WORKSPACE="/home/vincent/.openclaw/workspace/coo"
REPORT_FILE="$WORKSPACE/reports/$(date +%Y-%m-%d)_配置优化报告.md"
echo "# 配置文件优化报告" > "$REPORT_FILE"
echo "" >> "$REPORT_FILE"
echo "**检查时间**: $(date '+%Y-%m-%d %H:%M')" >> "$REPORT_FILE"
# 扫描所有 Agent 目录
for agent_dir in "$WORKSPACE"/agent-*/; do
agent_name=$(basename "$agent_dir")
echo "扫描 $agent_name..."
# 检查各配置文件
for config in AGENTS.md SOUL.md TOOLS.md MEMORY.md; do
if [ -f "$agent_dir/$config" ]; then
# 运行检测规则
python3 detect_redundancy.py "$agent_dir/$config" >> "$REPORT_FILE"
fi
done
done
echo "报告已生成:$REPORT_FILE"
```
### 5.2 自动优化脚本
```python
#!/usr/bin/env python3
# auto-optimize.py - 自动执行低风险优化
import sys
import os
def extract_and_replace(file_path, start_line, end_line, external_doc_path):
"""提取内容到外部文档,并替换为引用"""
# 读取原文件
with open(file_path, 'r') as f:
lines = f.readlines()
# 提取内容
extracted = ''.join(lines[start_line-1:end_line])
# 写入外部文档
os.makedirs(os.path.dirname(external_doc_path), exist_ok=True)
with open(external_doc_path, 'w') as f:
f.write(extracted)
# 替换为引用
ref_line = f"\n详细内容请参阅:[{external_doc_path}]({external_doc_path})\n"
new_lines = lines[:start_line-1] + [ref_line] + lines[end_line:]
with open(file_path, 'w') as f:
f.writelines(new_lines)
return len(extracted.split()) # 返回节省的字数估算
```
---
## 六、定时任务配置
### 6.1 Cron 配置
```cron
# 每周日凌晨 2:00 执行配置文件优化检查
0 2 * * 0 /home/vincent/.openclaw/workspace/coo/scripts/optimize-configs.sh
```
### 6.2 任务执行流程
```
Cron 触发
运行扫描脚本
生成优化报告
检查是否有低风险优化项
┌─────┴─────┐
│ │
有 无
│ │
自动执行 仅通知
更新报告
通知 COO(飞书)
```
---
## 七、Token 节省估算
### 7.1 预期效果
| 配置文件 | 优化前 | 优化后 | 节省 |
|----------|--------|--------|------|
| AGENTS.md | 4,000 | 500 | 87.5% |
| SOUL.md | 3,500 | 800 | 77% |
| TOOLS.md | 2,500 | 400 | 84% |
| MEMORY.md | 5,000 | 2,000 | 60% |
| **总计/Agent** | **15,000** | **3,700** | **75%** |
### 7.2 全局影响
- **12 个 Agent** × 11,300 tokens = **135,600 tokens** 节省
- **每次对话** 节省上下文,提升响应速度
- **降低成本**:减少 Token 使用量
---
## 八、风险控制
### 8.1 风险等级划分
| 等级 | 标准 | 处理方式 |
|------|------|----------|
| 低 | 仅影响当前 Agent 的只读引用 | 自动执行 |
| 中 | 可能影响其他 Agent 的共享内容 | COO 审批 |
| 高 | 核心配置变更 | Vincent 审批 |
### 8.2 回滚机制
```bash
# 每次优化前自动备份
backup_file="$file_path.backup.$(date +%Y%m%d%H%M%S)"
cp "$file_path" "$backup_file"
# 如需回滚
cp "$backup_file" "$file_path"
```
### 8.3 变更日志
```markdown
# 配置文件优化日志
| 日期 | Agent | 文件 | 优化项 | 节省 Token | 执行者 |
|------|-------|------|--------|------------|--------|
| 2026-06-22 | coo | AGENTS.md | 外部化 Agent 详情 | 3,400 | auto |
| 2026-06-22 | coo | AGENTS.md | 外部化协作流程 | 800 | auto |
```
---
## 九、实施步骤
### 阶段 1:工具开发(本周)
- [ ] 编写检测规则脚本
- [ ] 编写自动优化脚本
- [ ] 编写报告生成脚本
- [ ] 测试工具链
### 阶段 2:首次优化(下周)
- [ ] 运行首次全面扫描
- [ ] 生成基线报告
- [ ] 人工审批后执行首批优化
- [ ] 验证优化效果
### 阶段 3:自动化(持续)
- [ ] 配置 Cron 定时任务
- [ ] 配置飞书通知
- [ ] 建立回滚和审计机制
---
## 十、交付物清单
- [ ] 配置文件优化检测脚本
- [ ] 自动优化工具
- [ ] 优化报告模板
- [ ] Cron 定时任务配置
- [ ] 变更日志模板
- [ ] 回滚脚本
---
> ⚠️ 本方案需 Vincent 审阅后方可实施。审阅前不修改任何 Agent 配置文件。