最近在用LangChain + GPT-4搭一个能调工具的Agent,主要做多步任务规划。发现Prompt工程这块特别玄学:如果我把工具调用格式、few-shot示例、输出约束写得很死,Agent在测试集上很稳,但换个稍微不一样的用户问法就直接崩,完全不会变通。但如果我只给个大概的角色设定和工具列表,让它自由发挥,它又经常不按格式输出,或者该调工具的时候在那瞎聊天。也试过ReAct那种思路,但感觉对Prompt的依赖还是很大。想问问大家做Agent时Prompt的粒度一般怎么把握?有没有什么比较系统的调试方法或者分层设计的经验?