2025-03-03
黑盒测试指出,你应该在不知道组件内部结构的情况下测试组件的功能。默认情况下,LLM 很难遵守这一点,因为默认情况下,实现文件将被放入上下文中,或者代理将被调整为提取实现以了解如何与其交互。Cursor 中的 Sonnet 3.7 也有很强的倾向于使代码保持一致,即它会尝试消除测试文件中的冗余,即使黑盒测试表明最好保留冗余,以避免直接在测试中反映来自实现的错误。
理想情况下,在将文件加载到上下文中时,可以屏蔽或总结实现,以避免过度拟合应该隐藏的内部实现细节。架构师有必要指定信息隐藏边界是什么。