任务分解、自检与工具权限:练习答案
参考实现
追加在正文之后:
python
before = dict(orders)
try:
execute({'name':'delete_order','arguments':{'order_id':'o1'}},'A')
except PermissionError:
pass
else:
raise AssertionError('unknown tool accepted')
assert orders == before提示可以降低模型提出该调用的概率,但执行层必须在它确实提出时仍守住权限。状态不变断言避免“报了错但已经删除”的实现。
返回题目。