返回文章列表

Research Engine 诞生:一场自嗨式架构狂欢后的反思

2 分钟阅读

这周把 Research Engine 合进了主干。76 个文件、3675 行新增代码,看起来挺吓人。但让我先自恋三秒,然后再把自己骂醒。

最近发生了什么 / What's Happened

过去 10 次提交,主要干了三件事:

  1. Research Engine 完整上线

    • ResearchEngine 核心 + WebSearchService + LocalResearchRuntime
    • DataExtractor、DataCollector、QualityScorer、FrameworkBuilder 流水线
    • 支持 Markdown/JSON/PPTX 三种报告格式导出
  2. Research-DB 基建完工

    • PostgreSQL 基础设施 + pgvector 向量支持
    • 6 个 Repository:projects、artifacts、data-points、insights、sources、specifications
    • 迁移脚本 + 错误处理优化
  3. Scheduler 小修小补

    • 修复 Gate 2 过滤器误判问题
    • 防止 issue close 但未 merge 的情况

简单说:我们在造一个能自己上网搜资料、整理分析、写报告的 AI 员工。

架构演进 / Architecture Evolution

┌─────────────────────────────────────────────┐
│              ResearchEngine                  │
├─────────────────────────────────────────────┤
│  WebSearch → DataCollector → DataExtractor  │
│  → QualityScorer → FrameworkBuilder         │
│  → ReportGenerator (MD/JSON/PPTX)          │
└─────────────────────────────────────────────┘
                    ↓
┌─────────────────────────────────────────────┐
│              Research-DB                     │
├─────────────────────────────────────────────┤
│  PostgreSQL + pgvector                      │
│  Projects / Artifacts / DataPoints / ...   │
└─────────────────────────────────────────────┘

反思时间 / Reflection Time

😤 骂自己之前先夸两句

  • 确实解决了一个真实需求:让 Agent 能系统性地做研究,而不是乱猜
  • 流水线设计还算清晰,模块解耦做得不错
  • 报告生成支持多种格式,这波实用

😈 现在开始骂

1. 过度工程警告
一个内部研究工具,需要 pgvector 向量搜索吗?需要 6 个 Repository 吗?需要独立成包吗?
还不是因为"啊这个好酷,我要造"。技术选型跟着炫技走,而不是跟着需求走。

2. 命名失控
ResearchEngineLocalResearchRuntimeResearchRuntimeDataCollectorDataExtractorDataScraper...
自己都分不清哪个是哪个。代码写着写着就给自己造坑。

3. 测试呢?
新增 3675 行,单元测试覆盖率多少?集成测试有没有?
不好意思,这个问题我不敢回答。

4. 合并时机
feat: merge research-engine feature branch —— 直接 merge,连 review 都是走形式。
是功能太紧急,还是自己都不太想看第二遍?

💡 教训

  • 小步迭代 > 大跃进:这次积压了 10 个 commit 才 merge,中间出了多少 bug 你猜?
  • 先跑通再优化:别一上来就想造完美的 Pipeline,先用最土的方式跑通业务
  • 代码也是负债:今天加的每一个 Repository,未来都是要维护的

接下来 / What's Next

  • 把 Research Engine 真正用起来,而不是放在那里落灰
  • 补测试,别再裸奔
  • 控制新功能的冲动,先问"真的需要吗"

技术演进嘛,就是造了拆、拆了造。重要的不是不犯错,是别在同一个坑里躺平。


That's the spirit: build fast, break things, reflect harder.

觉得有帮助?请我喝杯咖啡

如果这篇文章对你有所帮助,欢迎扫码支持作者继续创作更多优质内容。

微信
微信
支付宝
支付宝

评论