🏠 home › projects › hotmind-client
tags
[项目, Sentino, 客户机会, 家庭场景, IoT, Agora, MCP, RFP]
created
2026-04-17
updated
2026-04-29
status
active
sources
[raw/notes/hotmind-family-agent-spec-2026-04-17.md, raw/notes/agora-conversational-ai-join-api-2026-04-15.md, raw/notes/kim-graves-plg-sales-coordination-2026-04-29.md]

概述

客户公司:ANETX(朋友新成立的早期公司,公开渠道资料尚少属于正常;不是冷启动 RFP 客户)。 产品 / 项目代号:Hotmind(家庭场景智能 IoT 助手)。本页 wiki 内"Hotmind"指产品 / 项目,"客户"指 ANETX。 客户产品:家庭场景智能 IoT 助手,部署在平板 / 音箱 / 智能屏,通过语音交互管理闹钟、日历、待办、用药、儿童积分/习惯、晨间简报、闲聊。 Sentino 角色:朋友牵线 / 早期合作语境——客户写了一份"第三方智能体开发方"接口规范文档(RFP 风格但不是 formal RFP),由 Sentino 用完整 Agent 方案适配客户已经做好的接口。

关系性质:朋友的早期公司——配合度 / 迭代速度 / 试错容忍度高于 formal RFP 客户,但客户自身也在 early stage,PMF 不确定 / 预算紧张是结构性风险,需要在 PoC 报价时把这条考虑进去。

客户已经做好的部分

客户在发出这份文档时已经自建:

意味着 Sentino 这一单的范围只剩「LLM 推理 + Agent 工程 + prompt 调优」——不需要 Sentino 提供工具、不需要碰音频、不需要做硬件适配、不需要做记忆服务(客户文档没要求)。

客户对承包方的接口约束

Sentino 接进去要满足的硬约束(来自客户 RFP):

  1. OpenAI 兼容 /v1/chat/completions(streaming),自定义字段 device_id / asset_id / language / timezone 走 body 而非 system message——这是声网 ConvoAI / Voice Agent 接入层事实约定(agora-convoai-server)。Sentino 在 Agora ConvoAI v2 join API 里对应的 LLM 配置是 vendor=custom + style=openai + output_modalities=["text","audio"] + url 指向 Sentino endpoint。关键output_modalities["text","audio"] 意味着 Sentino LLM 同时返回文本和音频流,Agora 不再调度 TTS——TTS 由 Sentino 在 endpoint 内部完成(详见 agora-convoai-join-api
  2. Agent 必须能消费客户的工具集——客户开放 MCP server 和 REST API 双形态,Sentino 当前不使用 MCP,走传统 HTTP-as-tool 路径:把客户 REST API(/api/v1/)包装成 LLM function calling 工具集
  3. 多意图拆分:"设个闹钟,再帮我创建一个待办" 一句话两件事
  4. 家庭成员识别:Agent 通过 schedule_member_list 查档案匹配(不靠声纹——客户主动放弃了音频层消歧)
  5. 多语言回复(zh / en / ja / ko)+ summary 通知与设备 language 一致——i18n 责任落 Agent 侧,不允许"中文做主,事后翻译"
  6. 时区处理:用 timezone 字段把"明天"、"下午3点"按设备时区转换
  7. 危险操作 agency 边界已被客户预先编码:意图明确直接执行不反复确认;批量删除 / 用药删除等才确认——客户没把"何时确认"留给承包方决定
  8. 操作通知反向链路:工具调用成功后,Agent 主动调客户通知接口告知设备 UI 刷新,cancel_action 字段让设备渲染"撤销"按钮
  9. 工具参数名保持英文repeatType / priority),只有用户可见 summary 走 i18n

与 YUKAI Agora PoC 的对照

yukai-agora-poc 是 Sentino Agent 平台目前的另一个客户单。两者形态差异是客户与 Sentino 的边界划在哪一层

维度 YUKAI Agora PoC Hotmind
客户出 硬件 + IP 角色 硬件 + 平台数据 + MCP/REST 工具 + 通知通道 + ConvoAI 编排
Sentino 出 完整 Agent 平台 + 自家工具 + sentino-memex + 三模式状态机 + TTS 唱歌 LLM 推理 + Agent prompt + 多意图拆分 + 多语言 + 工具调度 + TTS(直出 audio,不用 Agora TTS)
Sentino 自由度 高(全栈架构空间) 低(接口/规则/危险操作护栏被客户预先定死)
接口形态 Sentino Standalone Agent 协议 OpenAI 兼容 streaming + 客户自定义 body 字段
Sentino 主要工程工作 三模式状态机、TTS 唱歌、Memex 集成、ConvoAI 接入 OpenAI 兼容 endpoint 包装(含 audio 流式输出)、客户 REST API → function calling 工具包装、prompt 工程、4 语种调优
销售姿态 "Agora 平台白标" "Agent 工程能力,不只是 LLM 推理"

核心反差:YUKAI 是 Sentino 全栈架构能力的展示窗口;Hotmind 是 Sentino 在"被定义清楚的窄槽位"里证明 prompt + 工程深度。两个客户对 Sentino 是不同形态的能力检验。

Sentino 的差异化机会

客户文档假设承包方是"OpenAI 兼容 LLM 推理服务方"——按这个假设报价的竞品大概是按 token 或调用量计费的纯模型 API 包装方。Sentino 的差异化:

  1. 不只是 LLM 推理,是完整 Agent 工程——多意图拆分、工具调度、家庭成员消歧、多语言一致性,这些是 prompt + 框架层活,纯 LLM 推理方做不深
  2. 多模型适配能力(Sentino Agent 平台已支持 Gemini / OpenRouter / Grok / VertexClaude / MiniMax)——客户接口把模型选择权留在了 Sentino 侧
  3. 多语言深度(zh / en / ja / ko)——已经在 yukai-agora-poc 验证过日语本地化经验
  4. 运维 + 监控 + prompt hot-reload(如果客户接受加配)——参考 yukai-agora-poc 的"操作员管理后台"经验
  5. 如果客户后续需要记忆能力——Sentino 可以把 sentino-memex 挂上去(参考 yukai-agora-poc 把"PRD 写 mem0、Sentino 用 Memex 交付"的术语切换教育策略)

潜在风险:客户 RFP 假设的报价模型(按 token / 按调用)不一定能覆盖 Sentino 的工程成本——商务谈判要争取 PoC + 包月或人月模式。

关键观察

1. 客户 MCP + REST 双形态恰好覆盖 Sentino 的当前选型

一年前客户做 IoT 平台还需要自己设计 function calling 协议,2026 年客户已经把 MCP server 作为 RFP 标准接口——MCP 在 B2B 集成场景已经从"开发者工具"成熟到"客户给乙方的接口标准"。但客户没强制 MCP-only,并提供 REST 兜底——这恰好覆盖了 Sentino 当前不使用 MCP、走传统 HTTP-as-tool 方案 的承包方形态。

含义有两层: - 行业信号:MCP 已经被客户视为接口标准,Sentino 后续是否引入 MCP client 工程能力是个开放问题(详见 mcp-protocol) - 当前路径:Sentino 接 Hotmind 走 REST 那条——把客户 /api/v1/ 各端点包装成 LLM function calling 工具描述,定义入参/出参 schema,由 Agent 调度

1b. 存在"Agora 直接调客户 MCP,绕过 Sentino LLM"的捷径——客户没选这条

agora-convoai-join-api v2 join API 的 LLM 配置内有 mcp_servers 字段——Agora 可以直接代为调用客户 MCP server,根本不需要 Sentino LLM 自己实现工具调用。这意味着客户其实可以选这条捷径:把客户 MCP server 直接挂在 Agora llm.mcp_servers,让 Agora 既做 LLM 编排又做工具中转,Sentino 只做"纯推理"——这条路径下 Sentino 的差异化空间被压缩到接近零。

客户最终选 Sentino 这条而不是上面的捷径,意义重大:客户买的不是工具中转能力(Agora mcp_servers 已经能干),也不是单纯的 LLM 推理能力(任何 OpenAI 兼容 endpoint 都能干),而是 Sentino 的完整 Agent 工程能力——多意图拆分、家庭成员消歧、危险操作护栏判定、prompt 调优、4 语种一致性、workflow + tool + text/audio 流式同步(Sentino 在 endpoint 内部统一控制 TTS 选型 + 字幕音频时序 + tool call 与播报衔接)。这些是 Agora mcp_servers 字段加纯 LLM 都干不了的活。

销售姿态强化:把这条事实显式讲给客户技术决策者——"如果你们只要工具中转,Agora 已经能满足;选 Sentino 是因为你们需要把 Agent 工程做深"。这是把"被采购的 LLM 推理"重新定义为"完整 Agent 工程"的最有力论据。

2. 反向通知 + cancel_action 是值得 Sentino 反向学习的设计

客户的 agent_action_result 通知里有 cancel_action 字段(仅 action=created 时提供,让设备渲染"撤销"按钮)——这构成 Agent → 环境(执行) + 环境 → 用户(通知) + 用户 → Agent(撤销) 的三段闭环。Sentino 自家 sentino-agent Standalone Agent 工具协议没有这种"操作回执 + 撤销路径"机制,引入这套设计可以提升 Sentino 平台对客户做品牌白标时的产品完成度。详见 agent-tool-design "反向链路"段落。

3. 客户主动放弃声纹消歧是反直觉但更可靠的工程选择

家庭多成员场景下"帮小明设个闹钟"中的"小明"由 Agent 通过 schedule_member_list + 对话语义匹配,不依赖声纹。理由:声纹不稳定 / 隐私敏感 / 老人小孩声纹易错。把多用户消歧从音频层挪到推理层是工程妥协但更可控——复杂底层方案不一定比简单上层方案更可靠,这条值得 Sentino 在自家产品中重复验证。

值得指出:Agora 平台层 sal 字段提供了完整声纹能力(locking 锁定 + recognition 识别两种模式,详见 agora-convoai-join-api SAL 段落)——客户在已有平台能力的前提下主动选择不用,这是"硬件/平台能力 ≠ 产品最优选"的样本。同源原则参见 first-principles-deletion

4. 客户用 RFP 视角写接口,乙方实际是 Agent 方案——文档与现实不对称

客户 RFP 假设承包方是"被招标的 LLM 推理服务方",但 Sentino 实际是用完整 Agent 平台适配。这种"客户文档与承包方真实形态不对称"在企业销售中常见,需要在销售对话中主动重新定义双方边界——避免被困在客户原本的 LLM 推理方报价模型里。这与 yukai-agora-poc "PRD 写 mem0 是行业能力代名词,Sentino 用 Memex 交付"的教训同源——客户 PRD 的术语只是参考系,承包方要主动承担术语切换教育。

5. OpenAI 兼容 streaming endpoint 是 Sentino 平台的新能力点

Sentino Agent 平台之前对外接口形态多样(直接 SDK / Agora ConvoAI / 自家 IoT 协议),第一次需要包一层 OpenAI 兼容 streaming endpoint,把 workflow-engine 的输出适配成 OpenAI SSE 格式。这是 Sentino Agent 平台需要新增的工程能力——一旦做好,对未来其他"被招标 LLM 推理"形态客户都可复用。

架构归属

家庭设备(平板/音箱/智能屏)
    │
    ├─ 音频上行 → Agora SD-RTN → ConvoAI ASR    (Agora 域)
    │       ↓
    │   ConvoAI LLM 槽位 → Sentino /v1/agent/chat (Sentino 域)
    │       │   output_modalities=["text","audio"]  ← Sentino 同时出文本和音频
    │       │
    │       ├─ workflow + tool dispatch(Sentino 内部)
    │       ├─ function calling → HTTP 包装层 → 客户 /api/v1/  (Sentino 调客户 REST,不走 MCP)
    │       ├─ TTS(Minimax/ElevenLabs/Qwen3,Sentino 内部选型)→ audio 流式回传
    │       └─ 操作成功后 → 客户通知接口 (HTTP)               (Sentino 调客户)
    │                       └→ MQTT SendCommonCmd → 设备 UI
    │       ↓
    │   Agora 转发 audio(不调 TTS)→ 设备播放        (Agora 域)

Sentino 在本架构里只占一段——挂在客户 ConvoAI LLM 槽位上的 OpenAI 兼容 endpoint,外加调用客户 MCP/REST/通知三套接口。所有音频、设备、平台数据都不经过 Sentino。

待办与决策项

相关概念