Gemini-CLI 驱动的智能体实践

By: Hunter Huang

经过在 Gemini 和 ChatGPT 的网页端实践尝试,和 VScode + Gemini- CLI结合进行对比,整体感觉在后者的环境中,借助于 Gemini Code Assit 以及 目录结构和结构中的 Markdown 文件定义提示词的方式,可以完成一定的智能任务。

自建工具以及调用

通过调用 Gemini-CLI 的内部工具,MCP定义,以及最新发布的 Gemini-CLI extension, 并且结合 VScode 和 Git 的版本管理能力,这几个工具链的组合,基本可以非常不错地进行执行简单任务的智能体开发和管理了。

Gemini-CLI extension

Now open for building: Introducing Gemini CLI extensions

指令遵循

可以通过定义个提示词文件,Markdown格式,用标准的提示词定义方式,在文件中定义智能体的工作方式,同时定义保存数据的文件、格式等信息,这样就可以通过 Gemini-CLI的对话,让大模型遵循该提示词所定义的规则和处理原则。

上下文管理

目前的难度在于对于要求记录历史上下文,并对历史上下文进行总结,以保证在持续交流的过程中核心信息避免丢失的问题。目前没有合适的解决方案,除了保存到一个特定的文件中之外,似乎没有特别的方法在 Gemini-CLI 中能够结合 VSCODE 来实现。

思考:是否可以通过自己开发一个 extension 来支持。使用一个管道,进入管道的信息会被自动分类为短期记忆和长期记忆。问题是如何决定将哪些短期记忆转换成长期记忆?如何使用知识图谱构建这些长期记忆?短期记忆使用 glob search 的形式是否有效率?