logo
积分中心
1024码上尝鲜,让端侧 Agent 理解应用状态:本地知识管理能力的智能化改造 原创
头像 还可以 2026-10-27 11:23:09    发布
22 浏览 1 点赞 3 收藏

我在开发个人知识管理应用时,发现用户最常见的需求其实很简单:找到某篇笔记、查看某个标签下的内容,或者把几篇相关资料整理到一起。

传统方式需要用户进入应用,手动输入关键词,再逐条浏览结果。如果能够通过系统智能入口直接表达需求,应用就有机会把这些操作整合成更自然的任务流程。

HarmonyOS 7 支持应用 Agent 构建,以及已有 Agent 通过端 A2A 等方式接入系统级智能入口。端侧方案尤其需要考虑应用内部能力如何开放、数据边界如何划分,以及交互结果如何呈现。

先将数据查询能力从页面中拆出来

我不希望智能体直接操作页面组件,因此先将笔记查询逻辑独立成一个服务。无论用户在应用内搜索,还是通过系统入口发起查询,都走相同的数据访问层。

interface Note {
  id: string;
  title: string;
  tags: string[];
  updatedAt: number;
}

interface NoteQuery {
  keyword?: string;
  tag?: string;
}

function filterNotes(
  notes: Note[],
  query: NoteQuery
): Note[] {
  const keyword = (query.keyword ?? '')
    .trim()
    .toLowerCase();

  return notes.filter((note) => {
    const matchesKeyword =
      !keyword ||
      note.title.toLowerCase().includes(keyword);

    const matchesTag =
      !query.tag || note.tags.includes(query.tag);

    return matchesKeyword && matchesTag;
  });
}

这里是本地业务逻辑示例,不是系统 Agent 的注册或通信接口。正式接入时,需要依据当前 SDK 文档完成相应的 Agent Extension Ability、调用链路及交互组件配置。

让智能体只获得完成任务所需的数据

假设用户说“找一下最近更新的 HarmonyOS 笔记”,系统需要将自然语言转换为查询条件,再由应用读取真实数据。返回结果可以只包含标题、标签和更新时间,不必默认传递笔记全文。

如果用户进一步要求整理笔记,应用应先展示候选内容和操作范围。批量修改标签、删除记录或导出文件等操作,需要按照业务风险设置确认和授权机制。

端侧运行也不意味着无需安全审查。应用仍要验证调用方、访问范围和参数合法性,并避免在日志中输出完整笔记内容。

让结果能够继续操作

智能体返回几条笔记标题,并不代表任务体验已经完成。对于合适的场景,应用可以提供结构化结果,让用户继续打开笔记、查看标签或确认整理操作。具体交互方式取决于系统支持的组件和接入规范。

我会测试应用处于前台、后台和未启动状态时的调用表现,并验证无搜索结果、权限不足、数据变化和重复请求等情况。尤其要确认,智能体展示的内容不会因为本地数据已经更新而变成过期信息。

这次实践让我认识到,端侧 Agent 的价值在于让应用原有能力更容易被发现和调用,而不是把应用的所有数据都交给模型。业务逻辑、数据访问和智能交互分层清楚,既有助于维护,也能让权限控制更加明确。


©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
HarmonyOS
地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除

京ICP备:2022009079号-2

京公网安备:11010502051901号

ICP证:京B2-20230255