# qaagent67wiki — LLM Wiki 文档问答智能体 📚

基于 [Karpathy LLM Wiki 模式](https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f)。

**不是 RAG**（每次从碎片重搜）。是 **LLM 维护的 wiki**（知识持续积累）。

## 与传统 RAG 的区别

| | 传统 RAG (qaagent67) | LLM Wiki (本智能体) |
|--|---|---|
| 喂文件 | 分块 → 向量库 | LLM 阅读 → 写 wiki 页面 (摘要+实体+主题) |
| 提问 | 搜索碎片 → 拼凑 | 读 wiki 页面 → 直接回答 (知识已编译) |
| 知识积累 | 不积累 | 越用越丰富 (交叉引用持续增长) |
| 矛盾检测 | 无 | WikiLint 自动检查 |
| 可浏览性 | 向量库不可读 | Markdown 文件，Obsidian 直接浏览 |

## 快速使用

```bash
lambdagent run agentexample/qaagent67wiki/agent-config.yml "加入 docs/ 目录"
```

## 三大操作

### 1. WikiIngest — 喂文件 (知识编译)

```
用户: 加入 /path/to/auth.py

wikiagent:
  📚 Wiki Ingest 完成
    文件: 1 成功
    触及页面: 6
      ✅ auth.py: 6 页 (sources/auth-py.md, entities/oauth2.md,
         entities/jwt.md, entities/pkce.md, topics/security.md,
         topics/authentication.md)
```

一个文件触及 6 个 wiki 页面 — 摘要页 + 实体页 + 主题页，交叉引用自动建立。

### 2. WikiQuery — 提问 (查阅已编译知识)

```
用户: 认证方式是什么？

wikiagent:
  📚 回答 (基于 3 个 wiki 页面):

  本项目使用 OAuth2 + PKCE 认证流程:
  - JWT 使用 RS256 签名算法 [来源: entities/jwt.md]
  - Token 有效期 24h [来源: sources/auth-py.md]
  - 支持 Google/GitHub SSO [来源: entities/oauth2.md]

  ⚠️ 注意: topics/security.md 记载签名算法为 HS256，
  但 sources/auth-py.md 显示实际代码使用 RS256。

  参考页面: entities/jwt.md, entities/oauth2.md, topics/authentication.md
```

注意：矛盾检测是在 Ingest 时就建好的，不是 Query 时临时发现。

### 3. WikiLint — 健康检查

```
用户: 检查 wiki 健康状况

wikiagent:
  🔍 Wiki 健康检查 (23 个页面)

  ## 孤页 (2 个)
    - entities/redis.md
    - entities/cors.md

  ## 断链 (1 个)
    - [[RefreshToken]] (从 sources/auth-py.md)

  ## 建议
    💡 创建 entities/refresh-token.md 页面
    💡 在 topics/performance.md 中添加 [[Redis]] 引用
```

## wiki 目录结构

```
wiki/
├── index.md          # 全局索引 (LLM 的导航地图)
├── log.md            # 操作日志 (时间线)
├── sources/          # 源文件摘要页 (每个文件一页)
│   ├── auth-py.md
│   └── config-md.md
├── entities/         # 实体页 (技术/组件/概念)
│   ├── jwt.md
│   └── oauth2.md
├── topics/           # 主题页 (跨源综合)
│   ├── security.md
│   └── authentication.md
└── analyses/         # 分析页 (查询结果回填)
    └── auth-comparison.md
```

所有页面都是 Markdown，可以用 Obsidian 直接浏览，查看图谱视图。

## 工具列表

| 工具 | 操作 | LLM 调用 |
|------|------|---------|
| `WikiIngest` | 喂文件 → 写 wiki 页面 | 1 次/文件 (提取) |
| `WikiQuery` | 提问 → 读 wiki 页面 → 回答 | 1 次 (回答) |
| `WikiLint` | 健康检查 | 1 次 (分析) |
| `WikiSearch` | 搜索 wiki 内容 | 0 次 (纯文本搜索) |
| `WikiStatus` | 查看统计 | 0 次 |
