9. AGENTS.md+memory,把规矩写进Agent脑子
配套动画视频在《9. AGENTS.md+memory,把规矩写进Agent脑子》,源代码在《评论区置顶》。
工具越挂越多,流程细则如果全写进代码里,改一次就要动源码。更稳的做法是分工:system_prompt 负责指定角色,AGENTS.md 负责写清细则;创建 Agent 时用 memory=["./AGENTS.md"] 把细则灌进去,再提问验证是否生效。这样改流程只需改文件,不用改代码。

先在 system_prompt 里补一句:点名角色之后,再要求 Agent 按 AGENTS.md 办事:
system_prompt="HarmonyOS 自动化测试专家。严格按 AGENTS.md 的流程和规则执行。"
接着加上 memory=["./AGENTS.md"]。创建时读取该文件,把六步流程、用例规则、禁止项灌进系统提示,细则才真正进脑子:
def create_test_agent(): return create_deep_agent( model=model, system_prompt="HarmonyOS 自动化测试专家。严格按 AGENTS.md 的流程和规则执行。", tools=get_all_tools(), memory=["./AGENTS.md"], skills=["./skills/"], backend=LocalShellBackend( root_dir=os.getcwd(), virtual_mode=True, inherit_env=True), debug=True )
配置好了,把提问改成一段验证用的提示词:让 Agent 说明 AGENTS.md 里的六步流程,并交代不要执行工具、只回答。能按顺序答上来,就说明 memory 起作用了:
def main(): agent = create_test_agent() result = agent.invoke({ "messages": [ {"role": "user", "content": "简要说明 AGENTS.md 里自动化测试必须遵守的六步流程是什么?不要执行工具,只回答。"}] }) print(result["messages"][-1].content[0]["text"])
能答出六步,说明规矩已经进到 Agent 上下文里。后面真正跑全流程时,它就会按文件里的约定去调工具,而不是只靠一句模糊的 system prompt。
配套动画视频在《9. AGENTS.md+memory,把规矩写进Agent脑子》,源代码在《评论区置顶》。

浙公网安备 33010602011771号