OpenCLI 学习 03:Agent 边界与设计张力

1. Agent 和 harness 的边界

这是我在理解过程中非常关键的一点。

当前我的理解:

  • Agent 负责“决定做什么”
  • Harness 负责“把事情做成可调用能力”

也就是说:

  • Agent 更像策略层、决策层、编排层
  • Harness 更像能力层、执行层、适配层

Harness 本身不是 Agent,它更像是 Agent 可调用的工具系统。

2. 这个项目的反馈机制属于哪一类

我之前会自然想到“自我反思型”的 harness:

  • 会自动评估自己做得好不好
  • 会自动调整策略
  • 会自动重规划

但这个项目里的 harness 并不强内建这种运行时自我反思。

它更强的是:

  • 可观察:infoliststatushistory
  • 可验证:真实输出检查、E2E 测试、validate
  • 可增量改进:refine

所以这里更像是“工程化反馈闭环”,而不是“自主智能反思闭环”。

3. 我对 checkpoint 的当前理解

这个项目里没有特别统一、显式的 checkpoint 系统。

但从 Agent 使用视角看,checkpoint 实际上分散在这些地方:

  • 任务前:Skill 告诉 Agent 这个 harness 适合什么任务
  • 任务中:info/list/status/json 告诉 Agent 当前状态是什么
  • 任务后:输出文件验证、测试、validate 告诉 Agent 结果靠不靠谱

所以 checkpoint 不是单独模块,而是由“多个可观察节点”共同实现的。

4. 这个项目背后的设计张力

我觉得这个项目最有意思的地方,是在平衡“模糊性”和“确定性”。

如果完全交给 Agent:

  • 灵活
  • 泛化强
  • 但过程模糊,不稳定

如果完全写死流程:

  • 稳定
  • 可控
  • 但会很死板

这个项目选择的是中间路线:

  • 把底层操作标准化、确定化
  • 把高层任务策略留给 Agent

5. 我目前最认可的一句话

这个项目固定的是能力接口,不固定的是任务策略。

或者说:

它不是把任务流程完全固定,而是把底层操作标准化,让 Agent 在可控边界内自由编排。

6. 为什么我觉得这个点很重要

因为这解释了:

  • 为什么需要 Skill
  • 为什么需要命令树
  • 为什么要有 --json
  • 为什么要有 status/info/list
  • 为什么还要有 validate/refine

它们一起在做的事情,就是让 Agent 在不被完全写死的前提下,依然能可靠调用软件能力。

7. 当前阶段的总认识

这个项目不是追求“让 Agent 自己在黑盒中涌现完成一切”,而是先由人进行大量具体施工,把软件能力整理成结构化、可观察、可验证的接口,然后再交给 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号