重新思考人工智能的命令行界面

主要观点:需要增强命令行工具并设计 API 以更好地被 LLM 代理使用,目前设计对 LLM 而言不足,尤其在本地模型有限的上下文窗口下。
关键信息:

  • Agent APIs:开发 MCP 接口需在提供信息避免填满上下文窗口和提供足够信息减少工具调用间平衡,有较好和较次的 API,需引导 LLM 优先使用方便的函数,离线 LLM 更需更好的 API。
  • Command Line Tools:命令行工具也存在问题,如 Claude Code 常限结果、易迷失目录、忽略某些命令等,需依赖 lint 等工具和钩子,且要防止其绕过钩子,还可通过一些方式改进如缓存输出等。
  • Information Architecture for LLMs:用户体验中的信息架构概念适用于命令行工具,观察 LLM 使用现有命令行工具时的困惑表明其信息架构不足,可通过增加有用上下文等方式改进。
    重要细节:
  • 在 Agent APIs 中,通过在 docstrings 中添加指导来引导 LLM 使用合适的函数,如 data_read_byte 函数的使用说明。
  • 在 Command Line Tools 中,通过 .git/hooks/pre-commit 脚本和 git 包装器来防止 Claude Code 绕过钩子,以及对其错误提示进行改进。
  • 在 Information Architecture for LLMs 中,以 head 示例说明可通过缓存输出等方式改进命令行工具对 LLM 的使用,还可通过 shell 钩子帮助 LLM 在错误目录时运行命令。结论是每个 CLI 工具都可改进以提供更多上下文给 LLM,LLM 可能受益于对其内部工具的训练,甚至可能需要一套 LLM 增强的 CLI 工具或自定义 LLM 外壳。
阅读 13
0 条评论