Agent工具调用过程简介
你有没有好奇过,ChatGPT 是怎么查天气、做计算的?背后的秘密就是“工具调用”。本文将带你了解工具调用的过程。 1. 原理 现代 AI Agent 开发框架(如 LangChain、AgentScope)通常提供开箱即用的 Agent 类,比如 ReActAgent。前缀 ReAct 代表 Reasoning + Acting,即推理与行动: 推理就是指调用大模型分析问题 ...
你有没有好奇过,ChatGPT 是怎么查天气、做计算的?背后的秘密就是“工具调用”。本文将带你了解工具调用的过程。 1. 原理 现代 AI Agent 开发框架(如 LangChain、AgentScope)通常提供开箱即用的 Agent 类,比如 ReActAgent。前缀 ReAct 代表 Reasoning + Acting,即推理与行动: 推理就是指调用大模型分析问题 ...
Android开发中,如果要调试预装service,有两种方式: 将apk打包到系统镜像中,重新刷机 将现有系统的rootfs remount成可读写的,然后把apk push到/system/priv-app/目录 本文介绍如何remount Android模拟器。 不知道从哪个版本开始,Android模拟器默认不允许remount了。即使能adb root也不行,会报下面...
本文内容涉及两种Agent开发模式的对比,仅代表个人观点。 不同的开发模式有不同的应用场景,并不存在绝对的优劣之分。 1. 背景 Dify和LangChain都可以用来开发Agent,但它们在设计理念和使用场景上有显著差异: Dify的特点是低代码、可视化,通过拖拽相关组件拼搭业务(很像Scratch少儿编程),适合非技术人员快速落地想法; LangChain是面向开发者的模块...
近期发现一个现象,某些在Linux平台能正常运行的程序,移植到Android上会crash,分析这些crash后发现还真是程序自身的问题。 看来不是Android没事找事,而是Linux纵容了这些潜在的Bug。 先看个例子,示例程序中有个明显的踩内存操作: #include <stdio.h> #include <stdlib.h> int main() { ...
最近被性能组同学盯上了,说我负责的一个基础模块在某硬件平台上,开机阶段有个线程cpu占用较高,需配合调查。 最终发现,系统中的libuv版本较老,特定场景下函数uv__async_spin会长时间空转,消耗较多cpu;新版本的libuv对此做了优化,同样场景下cpu占用时长降幅高达50%以上。 libuv v1.40.0版本引入该问题,v1.45.0修复该问题。 1. 背景 1.1 li...
正常情况下,进程收到SIGQUIT信号会生成coredump然后退出。但在Android系统中,SIGQUIT有特殊用途:用来dump线程状态/调用栈。 注:本文内容基于android-14.0.0_r74。 1. 背景 近期发现一个问题,执行bugreportz收集信息的时候,系统中有几个应用会退出,退出原因是收到了SIGQUIT信号。 查看Android源码发现,bugrepor...
谈到智能指针,大家首先想到的肯定是std::shared_ptr,其实Android binder中也实现了一套智能指针sp/wp,原理类似,也是基于引用计数。Android之所以自己搞一套,估计是因为当时的C++标准还不完善。 我司的基础库中也有一套自研的智能指针,和Android中的实现类似。之所以写这篇文章,是因为最近发现这里面隐藏多年的一个bug:特定场景下weak_ptr虽然能提...
本文主要介绍HaloOS通信中间件vbslite,代码版本tag_V1.0.0_20250721,运行在Ubuntu 20.04上。 1. 代码规范 2. 线程模型 3. 数据收发流程 4. 内存使用情况 4.1 拷贝次数 4.2 内存预分配 5. 总体观感 1. 代码规范 如果要打造一个良性的开源社区,方便大家协...
1. 背景 2. 功能开关 3. USAP进程生命周期 3.1 USAP进程创建流程 3.2 USAP进程实例化流程 3.3 USAP进程退出流程 4. 参考文档 本文主要介绍Android中的USAP(unspecialized app processes)机制。 注:本文内容基于android-14.0.0_r...
最近因为工作原因看了些Android AOSP的代码,在zygote相关代码中看到一个低级错误,比较惊讶,Android这么成熟的平台,也会犯这种错误? 2021年的时候,AOSP中合入了这个patch: 可以看到,这个patch中重复注册了JNI函数com_android_internal_os_Zygote_nativeAddUsapTableEntry: 这个Bug虽然不会造...