OpenCLI 学习 05:能力暴露与自由组合

1. 我当前最强烈的一个感受

不同 Agent、不同底层模型,对同一套 CLI 的理解能力并不一样。

这意味着:

  • 同样一个 harness
  • 不同 Agent 的使用效果可能差很多

所以真正重要的不只是“有没有这些命令”,而是:

这些能力是如何暴露给 Agent 的。

2. 我目前理解到的关键点

这个项目不是简单把旧软件的功能堆成一堆命令,而是在思考:

  • 怎么让 Agent 更容易理解工具能力
  • 怎么让 Agent 在面对真实任务时更容易选对命令
  • 怎么降低不同模型之间的理解差异带来的问题

也就是说,命令设计、文档、Skill、JSON 输出,这些都不是附属物,而是能力暴露设计的一部分。

3. 我目前觉得这个项目最精髓的地方

它没有把任务流程完全写死。

它做的是:

  • 提供一棵结构化的能力树
  • 让 Agent 根据真实需求去决定调用哪几个命令
  • 让 Agent 自己把这些命令组合成实际工作过程

这一点和固定工作流系统很不一样。

我目前觉得,这恰恰是它最值得学习的地方。

4. 但这里的“自由”不是完全随意

这一点我也逐渐意识到:

  • 它不是纯自由探索
  • 也不是完全没有边界

更准确地说,是:

在被设计过的命令树和接口边界内,让 Agent 自由组合。

也就是说:

  • 命令粒度已经被人设计过
  • 命令分组已经被人设计过
  • 状态接口和输出格式也已经被人设计过

Agent 的自由,是建立在这些结构化边界之上的。

5. 我目前觉得自己最欠缺的经验

不是具体怎么写某个命令,而是:

  • 哪些能力应该暴露
  • 应该如何分组
  • 命令粒度多大才合适
  • 哪些流程要留给 Agent 判断
  • 哪些状态必须显式暴露
  • 怎样降低 Agent 的理解成本

这更像是“给 Agent 设计工具接口”的经验,而不是普通业务代码经验。

6. 我当前的一句话总结

这个项目真正厉害的地方,不只是把能力做成 CLI,而是把复杂能力整理成一棵结构化、可探索、可组合的命令树,并通过 Skill、JSON 输出和状态接口,尽量降低 Agent 的理解成本,同时又不把任务流程固定死。

Read more

MCP 服务端的隐藏设计:结论性数据如何改变

Agent 的工作方式 我们以为 MCP 服务只是查数据的管道,拆开一看,发现服务端已经把分析结论都算好了。这个发现改变了我对 Agent 架构的理解。 起因:一次对 MCP 服务的逆向探索 最近在研究 MCP(Model Context Protocol)的实际应用,我选了一个真实的商业 MCP 服务 —— 某电商卖家流量分析平台作为研究对象。该服务提供了 27 个工具,覆盖关键词分析、流量运营、广告洞察等领域。 最初的预期很简单:MCP 服务就是一个数据接口,Agent(LLM)调用它拿到原始数据,然后自己分析、得出结论、给用户建议。 实际拆开一看,完全不是这么回事。 第一个发现:返回数据里藏着完整的分析结论 我写了一个 Python 脚本,绕过所有 AI 客户端,直接用

By ladydd

FastAPI 异步任务服务的并发设计演进:从单进程轮询到多 Worker 协程直处理

本文记录了一个 FastAPI 异步任务服务在并发架构上的思考和演进过程。这个服务的本质很简单:接收客户端请求,转发给下游 AI API,把结果存起来供客户端轮询。它不做复杂的业务计算,不做数据聚合,就是一个纯转发层——接活、派活、存结果。正因为场景足够简单,我们才有机会做一次化繁为简的架构妥协,把原本"看起来该用任务队列"的设计砍到只剩三行核心配置。 一、先说清楚场景:我们到底在干什么 这个服务做的事情可以用一句话概括: 客户端提交参数 → 服务转发给下游 AI API → 等结果 → 存 Redis → 客户端来取。 关键特征: * 纯 IO 转发:服务本身不做任何 CPU 密集计算,所有耗时都花在等下游 API 返回。一次调用几秒到几十秒不等,全是网络等待。 * 异步模式:客户端提交任务后立即拿到 task_id,

By ladydd

从连上一个 MCP 服务到理解 AI 系统的工程本质

一次从"会用"到"理解原理"再到"能优化"的完整探索记录。 本文记录了我通过实际动手连接一个远程 MCP 服务(SIF —— 亚马逊卖家流量分析平台),一步步深入理解 MCP 协议机制、LLM 上下文管理、注意力资源分配、以及工具编排优化方案的全过程。 一、起点:连上一个真实的 MCP 服务 什么是 MCP? MCP(Model Context Protocol)是 Anthropic 主导设计的一个开放协议,目的是标准化 AI 应用与外部工具/数据源之间的通信方式。你可以把它理解为"AI 世界的 USB 接口"

By ladydd
陕公网安备61011302002223号 | 陕ICP备2025083092号