工作流有真实分支
源码包含规划、人工反馈、并行研究和报告节点。搜索在研究节点内由服务调用;不能把每一步都说成模型自主决定。
主项目候选 · 三选一 / 研究与编排方向
做一个会查资料、可中断、能追溯来源的研究助手
如果你已能独立写 Spring Boot 接口,想重点准备 Agent 工作流、检索和评测,优先考虑这一条。范围限定为技术选型报告:先给研究计划,用户批准后查资料,最后交付带来源的结论。
JDK 17 · Spring Boot 3.4.8 · Spring AI 1.0.0 · Spring AI Alibaba 1.0.0.4
提交 7f009adf56fadacdc78a02c4967aebe784918b11
仓库许可证标识:Apache-2.0(读取该 SHA 的 LICENSE)。本页介绍所读版本,未保证未来版本保持相同行为。
DashScope 模型账户和额度;模型调用可能产生费用,不复用 README 免费额度宣传。SerpAPI、阿里云搜索等入口,不能只填一个模型 Key 就承诺完整功能能用;选择一个搜索服务并关闭不用的项。/Redis/MCP 开关关闭,不能说全部已接通。已经在源码中读到
需要自己补齐或验证
true,但等待中的上游未收到取消”的时序;真实模型、工具与 HTTP 连接的取消传播仍待验证。/61≈0.0328,需要检查阈值用途;单来源分支处理不同,且 RAG 默认关闭,不能推广为整个应用失效。GraphProcessExceptionHandlingTest 主要走旧 AsyncGenerator 重载,不能覆盖当前 Flux 路径。建议改造 · 不是原仓库成绩
按顺序完成最小闭环,再增加难度。只把真正实现并测过的部分写进简历;如果声明支持恢复或并发,就补对应的故障实验。
取消信号传到流订阅、模型和搜索;累计任务的调用次数、Token、搜索次数和总耗时。
自建 30–50 个技术问题与固定文档集,比较纯向量检索、混合检索和不同 RRF 参数;检查引用是否支持结论。
用数据库保存任务、节点结果、恢复版本和工具调用标识;恢复前检查哪些动作已经完成。
每读一步,画一条调用关系,写下输入、状态变化和失败出口。无需先把整个仓库读完。
src/main/java/com/alibaba/cloud/ai/example/deepresearch/controller/ChatController.javasrc/main/java/com/alibaba/cloud/ai/example/deepresearch/config/DeepResearchConfiguration.javasrc/main/java/com/alibaba/cloud/ai/example/deepresearch/controller/graph/GraphProcess.javasrc/main/java/com/alibaba/cloud/ai/example/deepresearch/rag/strategy/RrfFusionStrategy.javasrc/test/java/com/alibaba/cloud/ai/example/deepresearch/controller/graph/GraphProcessExceptionHandlingTest.java先用自己的实现和实验回答,再对照源码。只背术语,很难解释异常情况。
MemorySaver 与会话历史、任务持久化有什么区别?进程在工具成功但 checkpoint 未写入时崩溃怎么办?skipTests 从 true 改为 false,使用 JDK 17.0.20.1 编译与定向执行测试,原克隆未改。GraphProcessExceptionHandlingTest 的 Surefire 报告:4 个测试、0 失败、0 错误、0 跳过。命令直接调用 compiler 与 surefire 目标,避开绑定的格式修改步骤。AsyncGenerator 重载,不证明当前 Flux 接口的取消与恢复正确。未启动完整应用、未调用模型或搜索服务。GraphProcess 的 Flux 重载做了一个离线取消实验:订阅已建立、负责建立订阅的 Future 已结束、上游仍等待时,stopGraph 返回 true,但未取消上游,之后仍能收到完成信号。9 个检查描述同一个实验时序,不是 9 个端到端任务;无模型、HTTP 或真实研究节点。源码链接是阅读证据;改造建议是待完成任务。二者都不等于完整系统运行证明。