mirror of
https://github.com/val1813/kwcode.git
synced 2026-09-08 17:08:51 +08:00
Update STATUS.md with search module results and lessons learned
Added V4 validation results, search architecture diagram, trafilatura timeout and SO 403 pitfalls. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
47
STATUS.md
47
STATUS.md
@@ -6,10 +6,9 @@
|
||||
|
||||
---
|
||||
|
||||
## 当前状态:MVP 流水线验证通过
|
||||
## 当前状态:搜索模块已完成
|
||||
|
||||
端到端流水线 Gate→Locator→Generator→Verifier→Memory 已跑通。
|
||||
gemma3:4b 用 5.7s 修复了测试项目的除零 bug,5/5 测试通过,记录写入 KAIWU.md。
|
||||
MVP 流水线 + 6 步搜索增强全部跑通。
|
||||
|
||||
---
|
||||
|
||||
@@ -20,7 +19,21 @@ gemma3:4b 用 5.7s 修复了测试项目的除零 bug,5/5 测试通过,记
|
||||
| V1 Gate JSON稳定性 | 100% 解析成功率,67% 类型准确率 | gemma3:4b,不需要 grammar 约束 |
|
||||
| V2 OpenHands集成 | 跳过,走 FLEX-1 自实现 | ToolExecutor 5个工具已完成 |
|
||||
| V3 Locator精度 | 文件级 90%,函数级 20% | 函数级已加 few-shot 优化,待更大模型验证 |
|
||||
| E2E 端到端 | 通过 | gemma3:4b,5.7s,5/5 测试 |
|
||||
| V4 搜索模块 | 意图4/4, DDG 4/4, Fetch 3/4, 压缩4/4 | trafilatura+bs4, 耗时略超15s(LLM瓶颈) |
|
||||
|
||||
---
|
||||
|
||||
## 搜索模块架构(2026-04-26 追加)
|
||||
|
||||
```
|
||||
SearchAugmentorExpert.search(ctx)
|
||||
① IntentClassifier — 纯关键词,毫秒级,github/arxiv/pypi/bug/general
|
||||
② QueryGenerator — 一次LLM调用,2-3条英文query
|
||||
③ DuckDuckGoSearcher — bs4解析HTML,零API key
|
||||
④ QualityFilter — 域名黑白名单,最多3个URL
|
||||
⑤ ContentFetcher — trafilatura(降级httpx),每页≤800字
|
||||
⑥ ContextCompressor — 一次LLM调用,≤400字摘要
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -63,8 +76,15 @@ kaiwu/
|
||||
│ ├── locator.py # 文件→函数 两阶段定位
|
||||
│ ├── generator.py # 从文件读original,LLM只生成modified
|
||||
│ ├── verifier.py # 语法检查 + pytest 验证
|
||||
│ ├── search_augmentor.py # DuckDuckGo搜索 + LLM摘要
|
||||
│ ├── search_augmentor.py # 6步搜索流水线编排
|
||||
│ └── office_handler.py # MVP stub
|
||||
├── search/
|
||||
│ ├── intent_classifier.py # 纯关键词意图分类
|
||||
│ ├── query_generator.py # LLM生成英文query
|
||||
│ ├── duckduckgo.py # DDG HTML scraper (bs4)
|
||||
│ ├── quality_filter.py # 域名黑白名单
|
||||
│ ├── content_fetcher.py # trafilatura/httpx正文提取
|
||||
│ └── context_compressor.py# LLM压缩摘要
|
||||
├── llm/llama_backend.py # llama.cpp + Ollama 双后端
|
||||
├── memory/kaiwu_md.py # KAIWU.md 项目记忆
|
||||
├── tools/executor.py # read/write/bash/list/git 工具层
|
||||
@@ -125,14 +145,29 @@ kaiwu/
|
||||
**影响**:不影响 MVP(office 是 stub),但换更大模型后需要重新验证。
|
||||
**教训**:Gate 的分类准确率直接依赖模型能力,小模型适合粗粒度分类(3-4 类),细粒度需要更大模型。
|
||||
|
||||
### 8. trafilatura.fetch_url 没有超时控制
|
||||
|
||||
**现象**:V4 验证每个 case 耗时 30-120s,远超 15s 红线。
|
||||
**根因**:`trafilatura.fetch_url(url)` 内部用 urllib,默认无超时,遇到慢站点会阻塞很久。
|
||||
**修复**:不用 `trafilatura.fetch_url`,改为 `httpx.get(url, timeout=5.0)` 自己下载 HTML,再传给 `trafilatura.extract()` 做正文提取。
|
||||
**教训**:第三方库的网络请求一定要自己控制超时,不要信任库的默认值。
|
||||
|
||||
### 9. StackOverflow 403 拒绝爬虫
|
||||
|
||||
**现象**:V4 验证 bug 类 case fetch 全部失败。
|
||||
**根因**:StackOverflow 对非浏览器 User-Agent 返回 403。
|
||||
**影响**:MVP 可接受(snippet 兜底),后续可加 cloudscraper 或更真实的 UA。
|
||||
**教训**:高质量源不一定能爬到,QualityFilter 的白名单排序不等于能 fetch 成功。
|
||||
|
||||
---
|
||||
|
||||
## 下一步计划
|
||||
|
||||
- [x] git init + 首次提交
|
||||
- [x] 搜索模块 6 步流水线
|
||||
- [ ] 拉 qwen3-8b 跑完整验证,确认更大模型的提升幅度
|
||||
- [ ] 函数级定位准确率优化(AST 辅助提取 + 更好的 prompt)
|
||||
- [ ] CLI 交互式模式(类似 CC 的 REPL)
|
||||
- [ ] 多文件修改的端到端验证
|
||||
- [ ] codegen 流水线验证(纯新代码生成)
|
||||
- [ ] Windows 兼容性完善(路径分隔符、编码等)
|
||||
- [ ] git init + 首次提交
|
||||
|
||||
Reference in New Issue
Block a user