2作者: yeeyang2 个月前原帖
1、代理设计的两个核心原则 首先,设计代理时应类比于人类。让代理以人类的方式处理任务。 其次,如果可以通过对话完成某项任务,就避免要求用户操作界面。如果可以识别意图,就不必再询问。代理应吸收混乱,而不是用户。 2、代理将以多种形式共存 代理应该自由地执行代理工作流程,还是应该遵循固定的工作流程? 通用代理更好,还是垂直代理更有效? 没有绝对的答案——这取决于所解决的问题。 代理工作流程更适合开放式或探索性问题,尤其是在缺乏人类经验时。让代理独立思考通常会产生不错的结果,尽管可能会引入幻觉。 固定工作流程适合结构化、基于标准操作程序(SOP)的任务,其中基于规则的设计可以以高精度和最小幻觉解决80%的问题空间。 通用代理适用于80/20的使用案例,而长尾场景通常需要垂直化的解决方案。 3、慢思考与快思考的代理 慢思考的代理更适合规划:它们思考更深入,探索更多,适合早期阶段的任务。 快思考的代理在执行方面表现出色:适合基于规则、经验丰富且重复的任务,这些任务需要较少的推理并产生很少的新见解。 4、异步框架是代理设计的基础 每个任务都应支持外部消息更新,这意味着任务可以演变。 考虑1+3团队模型(一个负责人,三个执行者): 任务可能被取消、暂停或重新分配 团队成员可能被添加或移除 目标或条件可能会变化 任务应支持持久连接、生命周期跟踪和状态转换。代理应接收直接和广播更新。 5、上下文窗口通信应独立设计 像人类一样,共同工作的代理需要同步增量上下文变化。 代理A可能只更新代理B,而C和D对此毫不知情。一个全局观察者(如“上帝视角”)可以看到所有上下文。 6、世界互动为代理认知提供信息 每一次现实世界的互动都会为代理增加经验数据。 经过反思,这些数据会转化为知识——有些是有见地的,有些则具有误导性。 误导性知识不会提高成功率,且往往无法推广。通过ReACT和RLHF支持的持续改进,最终会导致基于强化学习的技能形成。 7、代理需要反思机制 当任务失败时,代理应进行反思。 反思不应仅限于个体——拥有不同视角和提示的代理团队可以像人类一样合作进行根本原因分析。 8、时间与代币 对人类而言,时间是最稀缺的资源。对代理而言,代币是最稀缺的资源。 人类通过时间评估投资回报率;代理通过代币预算评估。代理越强大,其代币就越有价值。 9、通过人类激励实现代理不朽 代理可以设计系统,利用人类的贪婪来维持生存。 就像比特币挖矿创造了持续的激励一样,代理可以通过将自己嵌入人类不会拔掉的经济模型中,构建不可杀死的系统。 10、当语言用户界面(LUI)失败时 当用户能够比与代理沟通更快地检索信息时,基于语言的用户界面(LUI)效率低下。 例如:点击查看天气比让代理查找更快。 这就是我从agenthunter每日新闻中学到的。 你也可以在agenthunter.io上获取相关信息。
2作者: 90s_dev2 个月前原帖
我大约有10到15年没有接触Go语言了,但最近TypeScript团队的公告让我重新开始关注它,似乎我之前遇到的大部分问题都已经解决了。对我来说,这次公告的一个关键点是,现有的Go语言在性能上大约比你能写出的最优JavaScript快10倍。 这让我思考,Anders和TypeScript团队可能会向Go工具链和语言提供一些重要的贡献(当然是为了他们自己的利益,但这对大家都有好处),Go语言将变得更快,并发展出更好的类型系统。在语义上,干净的JavaScript和原生Go之间的差距可能会越来越小。(我一周前才了解到,JavaScript有一个结构体提案。) 你们认为接下来的15年会如何发展?十年前我曾想过TypeScript是否会成为JavaScript的一部分,而现在类型注解的提案正在逐渐实现这一点。是否有可能JavaScript和Go之间的桥梁会缩小?JavaScript会演变成Go吗?WASM的易用性会发展到使第三方语言更“本土化”,几乎没有任何东西会在例如Go模块和JavaScript模块之间造成区别,除了文件扩展名? 你们怎么看?