最近在调试 SDK 访问时,大部分时间都花在了看日志、定位问题、让 AI 修改代码的循环上。因为不直接改代码,只能通过不断检查 logs 找出问题所在,然后指出具体位置让 AI 去修改。这个过程暴露出一些配置驱动架构下容易踩的坑。
在一次调试中,发现生成的是 JSON 而不是预期的 PNG 图片。排查后发现是自己在 Markdown 配置中写错了,让 LLM 生成了错误的格式。
这里有个有趣的现象:agent 遵循指令反而太好了。它严格按照配置文件的要求执行,即使配置本身有误,也会忠实地生成错误的结果。
更深层的问题出现在 app/models/agent.py 中。AgentStep 模型缺少 execution_type 和 model 字段定义。虽然 agents/story.yml 配置文件中设置了这些字段,但因为 Pydantic 模型中没有定义,这些值在加载 YAML 时被直接忽略了。
每引入一个组件,复杂度就会增加一部分。一旦修改配置不完整,就有可能导致功能失效。
本质上,这相当于 AI 自己写了一个根据配置执行的解析器,但我没有进行设计和检查。在增加新的配置项后,AI 没有同步更新解析器逻辑。
随着配置复杂度、调用组件的复杂度增加,无论是个人疏忽还是 AI 疏忽,都会导致一些意想不到的问题出现。这时就需要 debug。
AI debug 也是不断尝试,人 debug 也是不断尝试,本质上没有区别。
新工具在磨合初期,可能确实没有什么效率可言。但从另一个角度看,人会愉快很多——想法表达完了,细枝末节的事情不需要自己亲手做了。
遇到了 HTTPS 超时问题,系统级默认是 60s。