清泛IT社区

标题: AI助手优化:生成代码块失败是由于大模型单次输出超限导致的,已改进,继续内测中 [打印本页]

作者: App Inventor 2     时间: 2026-03-08 09:38
标题: AI助手优化:生成代码块失败是由于大模型单次输出超限导致的,已改进,继续内测中
全局变量  局部变量 处理的不好,经常搞混了。   --AI解决了几轮,没有搞定
修复生成的代码块,采用pathc方式可以吗?不要每次重新生成全部代码。  --未来再考虑


指定几个常用的代码块范例   --未来再考虑
json:https://bbs.tsingfun.com/thread-2631-1-1.html
https://bbs.tsingfun.com/thread-2818-1-1.html


作者: App Inventor 2     时间: 2026-03-08 10:05
❌ 失败 1 项:
• AI 生成的 JSON 格式有误,无法解析。

???? 提示:可能是括号/引号不匹配,请重新发送需求让 AI 重新生成

[{"action": "ADD_BLOCK_INTENT","intent":[{"var": "currentInput","init": ""},{"var": "previousInput","init": ""},{"var": "currentOperator","init": ""},{"var": "waitingForNewInput","init":false},{"procedure": "appendToDisplay","params":["text"],"do":[{"set_prop": "Display.Text","value":{"join":[{"get_prop": "Display.Text"},{"get_var": "text"}]}}]},{"procedure": "handleNumber","params":["digit"],"do":[{"if":{"eq":[{"get_var": "global waitingForNewInput"},true]},"then":[{"set_prop": "Display.Text","value": ""},{"set_var": "global waitingForNewInput","value":false}],"else_do":[]},{"call_proc": "appendToDisplay","args":{"text":{"get_var": "digit"}}}]},{"procedure": "handleOperator","params":["operator"],"do":[{"if":{"and":[{"neq":[{"get_prop": "Display.Text"},""]},{"eq":[{"get_var": "global currentOperator"},""]}]},"then":[{"set_var": "global previousInput","value":{"get_prop": "Display.Text"}},{"set_var": "global currentOperator","value":{"get_var": "operator"}},{"set_var": "global waitingForNewInput","value":true}],"elseif":{"and":[{"neq":[{"get_prop": "Display.Text"},""]},{"neq":[{"get_var": "global currentOperator"},""}]},"then":[{"call_proc": "calculateResult","args":{}},{"set_var": "global currentOperator","value":{"get_var": "operator"}},{"set_var": "global waitingForNewInput","value":true}]}]},{"procedure": "calculateResult","params":[],"do":[{"if":{"and":[{"neq":[{"get_var": "global previousInput"},""]},{"neq":[{"get_var": "global currentOperator"},""]},{"neq":[{"get_prop": "Display.Text"},""}]},"then":[{"local_var": "result","value": 0,"do":[{"choose":{"test":{"eq":[{"get_var": "global currentOperator"},"+"]},"then":{"set_var": "local result","value":{"add":[{"get_var": "global previousInput"},{"get_prop": "Display.Text"}]}},"else":{"choose":{"test":{"eq":[{"get_var": "global currentOperator"},"-"]},"then":{"set_var": "local result","value":{"subtract":[{"get_var": "global previousInput"},{"get_prop": "Display.Text"}]}},"else":{"choose":{"test":{"eq":[{"get_var": "global currentOperator"},"×"]},"then":{"set_var": "local result","value":{"multiply":[{"get_var": "global previousInput"},{"get_prop": "Display.Text"}]}},"else":{"choose":{"test":{"eq":[{"get_var": "global currentOperator"},"÷"]},"then":{"set_var": "local result","value":{"divide":[{"get_var": "global previousInput"},{"get_prop": "Display.Text"}]}},"else":{"set_var": "local result","value":{"get_prop": "Display.Text"}}}}}}}}]},{"set_prop": "Display.Text","value":{"get_var": "local result"}},{"set_var": "global previousInput","value": ""},{"set_var": "global currentOperator","value": ""},{"set_var": "global waitingForNewInput","value":true}]}]},{"procedure": "clearAll","params":[],"do":[{"set_prop": "Display.Text","value": ""},{"set_var": "global previousInput","value": ""},{"set_var": "global currentOperator","value": ""},{"set_var": "global waitingForNewInput","value":false}]},{"procedure": "backspace","params":[],"do":[{"if":{"neq":[{"get_prop": "Display.Text"},""]},"then":[{"set_prop": "Display.Text","value":{"text_segment":{"text":{"get_prop": "Display.Text"},"start": 1,"length":{"subtract":[{"text_length":{"get_prop": "Display.Text"}},1]}}}}]}]},{"event": "Btn0.Click","do":[{"call_proc": "handleNumber","args":{"digit": "0"}}]},{"event": "Btn1.Click","do":[{"call_proc": "handleNumber","args":{"digit": "1"}}]},{"event": "Btn2.Click","do":[{"call_proc": "handleNumber","args":{"digit": "2"}}]},{"event": "Btn3.Click","do":[{"call_proc": "handleNumber","args":{"digit": "3"}}]},{"event": "Btn4.Click","do":[{"call_proc": "handleNumber","args":{"digit": "4"}}]},{"event": "Btn5.Click","do":[{"call_proc": "handleNumber","args":{"digit": "5"}}]},{"event": "Btn6.Click","do":[{"call_proc": "handleNumber","args":{"digit": "6"}}]},{"event": "Btn7.Click","do":[{"call_proc": "handleNumber","args":{"digit": "7"}}]},{"event": "Btn8.Click","do":[{"call_proc": "handleNumber","args":{"digit": "8"}}]},{"event": "Btn9.Click","do":[{"call_proc": "handleNumber","args":{"digit": "9"}}]},{"event": "BtnDot.Click","do":[{"if":{"and":[{"not":{"text_contains":{"text":{"get_prop": "Display.Text"},"piece": "."}}},{"neq":[{"get_prop": "Display.Text"},""]}]},"then":[{"call_proc": "appendToDisplay","args":{"text": "."}}]}]},{"event": "BtnAdd.Click","do":[{"call_proc": "handleOperator","args":{"operator": "+"}}]},{"event": "BtnSubtract.Click","do":[{"call_proc": "handleOperator","args":{"operator": "-"}}]},{"event": "BtnMultiply.Click","do":[{"call_proc": "handleOperator","args":{"operator": "×"}}]},{"event": "BtnDivide.Click","do":[{"call_proc": "handleOperator","args":{"operator": "÷"}}]},{"event": "BtnEquals.Click","do":[{"call_proc": "calculateResult","args":{}}]},{"event": "BtnClear.Click","do":[{"call_proc": "clearAll","args":{}}]},{"event": "BtnBackspace.Click","do":[{"call_proc": "backspace","args":{}}]}]},{"action": "CLEANUP_BLOCKS"}]



作者: App Inventor 2     时间: 2026-03-08 19:59
❌ 失败 3 项:
• 未知的操作:
• 未知的操作:
• 未知的操作:

[{"action": "ADD_BLOCK_INTENT","intent":[{"var": "login_attempts","init": 0},{"procedure": "ShowLoginMessage","params":["message","is_success"],"do":[{"set_prop": "TitleLabel.Text","value":{"get_var": "message"}},{"set_prop": "TitleLabel.TextColor","value":{"choose":{"test":{"get_var": "is_success"},"then": "&HFF4CAF50","else": "&HFFF44336"}}},{"call": "Clock1.Timer","args":{}},{"set_prop": "Clock1.TimerEnabled","value":true}]},{"procedure": "ResetLoginForm","params":[],"do":[{"set_prop": "UsernameTextBox.Text","value": ""},{"set_prop": "PasswordTextBox.Text","value": ""},{"set_prop": "TitleLabel.Text","value": "用户登录"},{"set_prop": "TitleLabel.TextColor","value": "&HFF000000"}]},{"procedure": "ValidateLogin","params":["username","password"],"do":[{"if":{"and":[{"not":{"is_empty":{"get_var": "username"}}},{"not":{"is_empty":{"get_var": "password"}}}]},"then":[{"if":{"and":[{"eq":[{"get_var": "username"},"admin"]},{"eq":[{"get_var": "password"},"123456"]}]},"then":[{"call_proc": "ShowLoginMessage","args":{"message": "登录成功!欢迎回来","is_success":true}}],"else_do":[{"set_var": "global login_attempts","value":{"add":[{"get_var": "global login_attempts"},1]}},{"call_proc": "ShowLoginMessage","args":{"message":{"join":["登录失败!用户名或密码错误 (",{"get_var": "global login_attempts"},"/3)"]},"is_success":false}},{"if":{"gte":[{"get_var": "global login_attempts"},3]},"then":[{"call_proc": "ShowLoginMessage","args":{"message": "登录次数过多,请稍后再试","is_success":false}},{"set_prop": "LoginButton.Enabled","value":false},{"call": "Clock1.Timer","args":{}},{"set_prop": "Clock1.TimerEnabled","value":true}]}]}]}],"else_do":[{"call_proc": "ShowLoginMessage","args":{"message": "请输入用户名和密码","is_success":false}}]}]},{"event": "LoginButton.Click","do":[{"call_proc": "ValidateLogin","args":{"username":{"get_prop": "UsernameTextBox.Text"},"password":{"get_prop": "PasswordTextBox.Text"}}}]},{"event": "Clock1.Timer","do":[{"set_prop": "Clock1.TimerEnabled","value":false},{"call_proc": "ResetLoginForm","args":{}}]},{"event": "Screen4.Initialize","do":[{"call_proc": "ResetLoginForm","args":{}}]},{"action": "CLEANUP_BLOCKS"}]]

作者: App Inventor 2     时间: 2026-03-08 20:14
❌ 失败 1 项:
• AI 生成的 JSON 格式有误,无法解析。

???? 提示:可能是括号/引号不匹配,请重新发送需求让 AI 重新生成

[{"action": "ADD_BLOCK_INTENT","intent":[{"var": "apiKey","init": "YOUR_API_KEY_HERE"},{"var": "apiUrl","init": "https://api.openweathermap.org/data/2.5/weather"},{"procedure": "查询天气","do":[{"set_prop": "CityLabel.Text","value": "查询中..."},{"set_prop": "TempValueLabel.Text","value": "--"},{"set_prop": "WeatherValueLabel.Text","value": "--"},{"set_prop": "HumidityValueLabel.Text","value": "--"},{"call": "WeatherWeb.Get","args":{"url":{"join":[{"get_var": "global apiUrl"},"?q=",{"call": "WeatherWeb.UriEncode","args":{"text":{"get_prop": "CityTextBox.Text"}}},"&appid=",{"get_var": "global apiKey"},"&units=metric","&lang=zh_cn"]}}}]},{"event": "QueryButton.Click","do":[{"call_proc": "查询天气","args":{}}]},{"event": "WeatherWeb.GotText","do":[{"local_var": "response","value":{"call": "WeatherWeb.JsonTextDecodeWithDictionaries","args":{"jsonText":{"get_var": "responseContent"}}},"do":[{"if":{"eq":[{"dict_lookup":{"key": "cod","dict":{"get_var": "response"},"default_val": "404"}},"200"]},"then":[{"set_prop": "CityLabel.Text","value":{"join":[{"dict_lookup":{"key": "name","dict":{"get_var": "response"},"default_val": "未知城市"}},{"text": " ("},{"dict_lookup":{"key": "sys.country","dict":{"get_var": "response"},"default_val": ""},{"text": ")"}]},{"set_prop": "TempValueLabel.Text","value":{"join":[{"dict_lookup":{"key": "main.temp","dict":{"get_var": "response"},"default_val": "--"}},{"text": "°C"}]},{"set_prop": "WeatherValueLabel.Text","value":{"dict_lookup":{"key": "weather.0.description","dict":{"get_var": "response"},"default_val": "未知"}}},{"set_prop": "HumidityValueLabel.Text","value":{"join":[{"dict_lookup":{"key": "main.humidity","dict":{"get_var": "response"},"default_val": "--"}},{"text": "%"}]}]},{"else_do":[{"set_prop": "CityLabel.Text","value":{"join":["查询失败: ",{"dict_lookup":{"key": "message","dict":{"get_var": "response"},"default_val": "未知错误"}}]}},{"set_prop": "TempValueLabel.Text","value": "--"},{"set_prop": "WeatherValueLabel.Text","value": "--"},{"set_prop": "HumidityValueLabel.Text","value": "--"}]}]}]},{"event": "WeatherWeb.ErrorOccurred","do":[{"set_prop": "CityLabel.Text","value":{"join":["网络错误: ",{"get_var": "message"}]}},{"set_prop": "TempValueLabel.Text","value": "--"},{"set_prop": "WeatherValueLabel.Text","value": "--"},{"set_prop": "HumidityValueLabel.Text","value": "--"}]},{"event": "CityTextBox.TextChanged","do":[{"if":{"and":[{"is_empty":{"get_prop": "CityTextBox.Text"}},{"neq":[{"get_prop": "CityLabel.Text"},{"text": "查询中..."}]}]},"then":[{"set_prop": "CityLabel.Text","value": "请输入城市名称"},{"set_prop": "TempValueLabel.Text","value": "--"},{"set_prop": "WeatherValueLabel.Text","value": "--"},{"set_prop": "HumidityValueLabel.Text","value": "--"}]}]}]},{"action": "CLEANUP_BLOCKS"}]

作者: App Inventor 2     时间: 2026-03-08 20:36
我需要先检查当前屏幕的组件列表,然后添加 Notifier 组件。让我查看当前组件并添加 Notifier。

[ai-commands 块1,已执行]




欢迎光临 清泛IT社区 (https://bbs.tsingfun.com/) Powered by Discuz! X3.3