验证日期:2026-07-23
19 passed;git diff --check:通过;run_id 全部清理,残留数为0;agents.demand_grade_orchestrator_agent.common.plan_builder,以及
supply_infra.scheduler.jobs.grade_demand_pool 未导出测试引用的
_execute_plan_tasks_with_retries。测试输入为“个人养老金税收优惠”,模型为 google/gemini-2.5-flash。
第一次运行在第5轮收到 OpenRouter/Google 的
MALFORMED_FUNCTION_CALL。原框架将该供应方错误解析为空答案并提前结束。现已在同步和
异步 LLM 调用中增加最多2次有限重试,重试耗尽后显式抛错;对应3个测试均通过。
修复后第二次运行完成了:
run_id、首次审计多传 run_id,
Agent 均在下一次调用中修正。但完整 Agent 验收未通过:
can_finish=false;normalize_age_portraits;demand / pagination,没有形成标签扩展分支;两次运行的数据库测试记录均已按实际 run_id 清理,残留数为0。
| 工具 | 验证方式 | 结果 |
|---|---|---|
load_skill |
实际调用不存在技能 | 通过错误契约;当前 skills 目录无可用技能 |
douyin_search |
真实搜索“个人养老金税收优惠”第一页、第二页 | 真实通过;8/0条,cursor 0→10;第二页关闭分页 |
douyin_search_tikhub |
真实搜索“老年人高血压管理”两页 | 真实通过;7/6条,cursor 0→8→16,search_id/backtrace 可用于翻页 |
douyin_user_videos |
使用 TikHub 结果中的真实 sec_uid 查询作者最热作品 |
真实通过;返回20条,统一候选结构与下一页游标完整 |
douyin_detail |
真实查询视频 7665332856776764843 |
真实通过;详情、标签、分享数、播放地址齐全 |
get_content_fans_portrait |
真实查询上述视频 | 接口通过;该样例没有内容画像,正确返回 has_portrait=false |
get_account_fans_portrait |
真实查询上述作者 | 真实通过;返回年龄桶且被标准化为强老年信号 |
batch_fetch_portraits |
对上述候选真实请求双侧画像 | 真实通过;内容侧缺失时作者侧仍成功返回 |
normalize_age_portraits |
使用本轮真实双侧返回测试 | 通过;输出 account_only、作者侧 strong、E上限0.65 |
audit_video_discovery_process |
完整流/提前停止/备选误删场景 | 通过;能阻止少根词、未翻页、未扩标签和E/S双高误删 |
qwen_video_analyze |
使用本轮详情播放URL、需求和相关点 | 真实通过;返回530字分析,耗时约21秒 |
create_video_discovery_run |
真实 MySQL 端到端测试 | 真实通过;运行记录成功创建 |
record_video_search_page |
真实 MySQL 保存与重复页测试 | 真实通过;3条候选入库,重复保存新增数为0 |
batch_save_video_candidate_evaluations |
真实主推荐/补充候选/淘汰分池测试 | 真实通过;三类候选各1条,运行计数正确 |
query_video_discovery_state |
真实查询运行、搜索树和三类候选 | 真实通过;返回1个搜索页和3条候选 |
304,973,详情接口返回值一致。917,007,说明作者分支能找到关键词搜索之外的高传播内容。50- 表示50岁以上,占比 19.63%、TGI 84.84;
因此不能只识别“50岁以上”文字。has_more=true,第二页返回0条并关闭分页;Agent 应保存空页
和停止信号,不能把“无新增”误写成调用失败。(run_id, aweme_id) 唯一键和幂等合并逻辑能够处理。run_id 清理,残留数为0。detail_verified / content_portrait_attempted /
account_portrait_attempted / content_analysis_verified 等审计状态,导致状态恢复后的
候选不能直接满足审计输入契约。can_finish=false 时直接返回文本。query_video_discovery_state 原样恢复;搜索状态同时补回 parent_search_id。can_finish=true 时,禁止
AgentLoop 接受最终文本;搜索或候选变更后必须重新审计。