Shaofeng Wang (@newwangshaofeng)droid-plus在用gml是todo报错 中发帖

[image] 
分析下了:原因大概是 todo要求数组,ai返回了json字符串,然后后面的write_todo工具又没有很好的兼容处理。。
我先解释一下:想要让 AI 自己就按“正确格式”返回,需要从两头看——一头是模型的系统/工具描述提示词,一头是我们这边的 tool schema 和参数解析逻辑。
接下来我会在代码里把 generic-chat-completion-api 的模型配置、工具 schema 和解析逻辑再确认一下,然后给你一个不改代码,只改提示词/配置的方案,保证 AI 返回的 todos 能被正确解析,而不是变成空的。
先说明一下现状,再说怎么“让 AI 按正确格式返回”。

为什么现在 todo 是空的
结合代码和日志:


工具 schema(pm)已经支持两种输入:

todos: TodoItem[]
todos: string,并在内部 JS...