真实接口验证日期:2026-07-23
当前契约同步日期:2026-07-28
当前
find_agent明确不使用视频理解。qwen_video_analyze未注册,视频画面、语音、 字幕及多模态解析不属于在线能力。数据库和 ORM 不包含视频理解相关列。最终等级只允许
primary / rejected;pending_evaluation仅为过程状态,不存在backup、补充推荐或人工备选。
39 passed;Ruff 与 git diff --check 通过;4 passed, 3 failed;失败来自既有测试环境问题:两个 SQLite
用例未为 MySQL BIGINT 主键提供自增兼容,一个测试夹具使用普通 object() 代替
FindDemandContext。三项均与本次故障终止修改无关;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 |
完整流/提前停止/错误淘汰场景 | 契约已同步为仅审计 primary / rejected,不再要求视频理解 |
audit_video_discovery_run |
注册与完成顺序契约测试 | 已注册;候选评估后执行,且仅 can_finish=true 可进入最终状态查询 |
create_video_discovery_run |
真实 MySQL 端到端测试 | 真实通过;运行记录成功创建 |
record_video_search_page |
真实 MySQL 保存与重复页测试 | 真实通过;3条候选入库,重复保存新增数为0 |
batch_save_video_candidate_evaluations |
候选分池契约 | 当前只接受 primary / rejected;backup 会返回输入错误 |
query_video_discovery_state |
查询运行、搜索树和候选 | 当前返回主推荐、淘汰候选及过程中的 pending_evaluation |
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 / age_portraits_normalized 等审计状态;视频理解字段不
属于当前审计契约。任务未完成(工具故障) 时允许失败结束;程序不解析工具返回,也不判断错误是否
可恢复。query_video_discovery_state 原样恢复;搜索状态同时补回 parent_search_id。primary / rejected 报告。