docs: 更新设计文档以匹配Black-white-box-Merge分支最新代码

- 00-overview.md: 重写架构图(移除web/入口)、更新模块清单、更新API签名
- 05-agents-llm.md: 修复章节编号(Section 7/8子节编号错误)
- 08-data-flow.md: 修复Mermaid代码块格式(单反引号→三反引号)
- 09-run-pipeline.md: 新增run.py全流程入口+black-box-data-create详细设计
- DESIGN.md: 重写为竞赛要求格式(场景价值、范式图、Agent架构、工具清单)
- README.md: 添加项目性质声明(新规)、团队分工、技术难度评估
This commit is contained in:
hangshuo652
2026-08-23 21:10:33 +08:00
parent 5342220de5
commit dec597eff0
6 changed files with 1028 additions and 167 deletions
+12 -12
View File
@@ -282,11 +282,11 @@ class Agent3Diagnostic:
## 7. 式样书驱动测试数据生成器(DesignDataGenerator
### 6.1 职责
### 7.1 职责
从日文详细设计书(.md)中提取程序元信息(`ProgramMeta`),结合 COBOL 源码、COPYBOOK 结构和 DB 定义,通过 LLM 生成有业务意义的机能测试数据。
### 6.2 数据流
### 7.2 数据流
```
设计书 .md + COBOL 源码
@@ -300,7 +300,7 @@ JSON: {"records": [{field_name: value}]}
list[dict]
```
### 6.3 核心类
### 7.3 核心类
```python
class DesignDataGenerator:
@@ -309,7 +309,7 @@ class DesignDataGenerator:
db_md_text=None, replacing_rules=None, v3_field_names=None) -> list[dict]
```
### 6.4 式样书解析器(DesignDataInputParser
### 7.4 式样书解析器(DesignDataInputParser
解析日文详细设计书 Markdown 文档,提取以下结构化信息:
@@ -323,7 +323,7 @@ class DesignDataGenerator:
解析通过 Markdown 标题匹配(`## 基本情報``## 使用ファイル一覧` 等)和表格解析实现,不依赖外部 Markdown 解析库。
### 6.5 输入类型自动判定
### 7.5 输入类型自动判定
`_determine_input_type` 根据输入文件的媒体类型自动判定:
@@ -333,7 +333,7 @@ class DesignDataGenerator:
| 仅 DB(数据库) | `db` |
| 混合或无输入 | `mixed` / `file` |
### 6.6 字段名映射(_resolve_field_names
### 7.6 字段名映射(_resolve_field_names
外部 Agent 生成的字段名可能与 V3 内部字段名不一致,映射规则:
@@ -344,21 +344,21 @@ class DesignDataGenerator:
5. **去下划线匹配**`R01_EMP_ID``R01EMPID`
6. **无法映射的字段丢弃**
### 6.7 规则加载
### 7.7 规则加载
`_load_rules``rules/pgm_pattern/``rules/special_feature/` 目录加载所有 `.md` 规则文件,作为 LLM 上下文的一部分。
### 6.8 记录去重(_dedup
### 7.8 记录去重(_dedup
支持按指定键字段去重,`additional_records` 优先保留。
## 8. LLM 接口封装(LLMClient
### 7.1 职责
### 8.1 职责
封装 LLM API 调用,提供文件缓存、自动重试、多模型兼容能力。所有 Agent 通过此客户端与 LLM 交互。
### 7.2 核心类
### 8.2 核心类
```python
class LLMClient:
@@ -369,14 +369,14 @@ class LLMClient:
def _set(self, k: str, v: str) -> None # 缓存写入
```
### 7.3 缓存机制
### 8.3 缓存机制
- **键生成**:对消息列表进行 JSON 序列化后取 SHA256 哈希
- **存储**:以 `{hash}.json` 文件存储在 `.cache/llm/` 目录
- **格式**`{"response": "..."}`
- **效果**:相同输入直接返回缓存结果,避免重复调用 LLM
### 7.4 重试机制
### 8.4 重试机制
- 默认重试 1 次(共 2 次尝试)
- 使用 `httpx.post` 发送 HTTP 请求