我们将记忆创建实现为一个工具,当智能体发现某些信息可能对未来任务具有可执行意义时,可以调用该工具。
Copilot 智能体在执行任务过程中如何存储值得记住的学习内容
考虑以下示例:在审查一位资深开发者的拉取请求时,Copilot 代码审查发现 API 版本跟踪必须在代码库的不同部分保持同步。它可能在同一个拉取请求中看到以下三个更新:
在 src/client/sdk/constants.ts 中:
export const API_VERSION = "v2.1.4";
在 server/routes/api.go 中:
const APIVersion = "v2.1.4"
在 docs/api-reference.md 中:
对此,Copilot 代码审查可以调用记忆存储工具,创建如下记忆:
{subject: "API version synchronization",fact:
"API version must match between client SDK, server routes, and documentation.",citations: ["src/client/sdk/constants.ts:12", "server/routes/api.go:8", "docs/api-reference.md:37"],reason: "If the API version is not kept properly synchronized, the integration can fail or exhibit subtle bugs. Remembering these locations will help ensure they are kept synchronized in future updates."}
结果是:下次智能体在这些位置中的任意一个更新 API 版本时,它都会看到这条记忆,并意识到必须同步更新其他位置,从而避免可能破坏集成的版本不一致。同样,如果一位经验不足的开发者只更新了其中一个位置并提交拉取请求,Copilot 代码审查会指出遗漏并建议补充更新,从而将资深成员的知识自动传递给新成员。💥