认识 Agent Harness:用 Microsoft Agent Framework 三步搭建个人理财助手
这个在agent开发圈子里被称为“Claw”的词, 指的是围绕一个大模型所做的一套完整循环, 这套循环包括工具调用、计划、记忆以及多步执行。而Agent将其称作agent, 并且把它打造成了一个你几乎无需编写胶水代码的事物。这篇文章属于系列教程的首篇, 其目标在于借助搭一个能查股价、能搜财经新闻, 且能于plan模式下做多步分析的个人理财助手。标题当中的“三步”指的是实际的代码量, 即构造chat、包装成见、在控制台里运行。框架已将函数调用、历史持久化、计划模式以及网页搜索融入到这一个调用内, 你仅需提供“你的agent与别人存在差异的地方”, 也就是指令以及自定义工具。第一篇, 是本文, 关于Build your own claw with Agent系列, 作者是Wes Steyn。示例覆盖了.NET, 同时也覆盖了。第一步构造 Chat从chat起始一切, 它承担着与大模型对话的职责, 你要明确指定端点, 还要确定认证方式, 以及给出模型部署名, 示例所采用的是API。.NETvar endpoint Environment.GetEnvironmentVariable(FOUNDRY_PROJECT_ENDPOINT) ?? throw new InvalidOperationException(FOUNDRY_PROJECT_ENDPOINT is not set.);var deploymentName Environment.GetEnvironmentVariable(FOUNDRY_MODEL) ?? gpt-5.4;IChatClient chatClient new AIProjectClient(new Uri(endpoint), new DefaultAzureCredential) .GetProjectOpenAIClient .GetResponsesClient .AsIChatClient(deploymentName);client FoundryChatClient(credentialAzureCliCredential)POINT是和你相关的、作为项目端点的东西, 其属于模型部署名就像gpt - 5.4这种。在认证这一方面, 要是处于本地开发阶段, 使用al.NET或者就可以了, 而一旦到了生产环境, 那就应当将其替换为ntial。采用之时, 仅仅就是示意呈现而已——能够跟任意的chat情形融会在一块儿: 比方说Azure这个事项而言, 不管是怎样的表现均可达到。借仗于.NET以及相关内容, 着重去明白每一种客户端架构形式的构建方法。第二步包装成在有了chat之后, 将其进行包裹, 往里面注入两样东西, 一样是agent的指令, 另一样是一个自定义工具。指令指令告诉 agent 它是做什么的。示例里是一个理财助手你是个人理财和投资助手。当被问到股票时用 get_stock_price 工具查询当前价格用网页搜索获取最新消息、财报或分析师评论。工作风格- 永远用工具验证数据不要依赖记忆。股价在变。- 引用网页来源时在文中标注。- 把用户的关注列表保存在 watchlist.md 文件中查看列表时读取增删时更新。自定义工具函数是一种凭模型能够予以调用的工具, 在此处呈现出一个状况 , 框架依据函数签名和通过参数进行的描述自行生成 JSON:.NET[Description(Gets the latest (delayed, illustrative) stock price for a ticker symbol.)]public static StockQuote GetStockPrice( [Description(The stock ticker symbol, e.g. MSFT or AAPL.)] string symbol){ return new StockQuote(symbol.ToUpperInvariant, price, USD, DateTimeOffset.UtcNow);}public static AIFunction CreateGetStockPriceTool AIFunctionFactory.Create(GetStockPrice, get_stock_price);def get_stock_price( symbol: Annotated[str, The stock ticker symbol, e.g. MSFT or AAPL.],) - dict[str, object]: Get the latest (delayed, illustrative) stock price for a ticker symbol. return {symbol: ticker, price: round(price, 2), currency: USD, as_of: ...}示例所运用的乃是内存之中的模拟数据, 并不需要外部的依赖, 于真实场景之下将其换上行情 API 便可以了。组装指令和工具都准备好之后一行代码创建 agent.NETAIAgent agent chatClient.AsHarnessAgent(new HarnessAgentOptions{ ChatOptions new ChatOptions { Instructions instructions, Tools [StockTools.CreateGetStockPriceTool()], },});agent create_harness_agent( clientclient, agent_instructionsFINANCE_INSTRUCTIONS, toolsget_stock_price,)这一回要调用的内容有着: 函数调用, 有关每次进行服务调用时的历史持久化, 针对用于计划的这一项以及也针对该项, 还有网页搜索这一方面, 这些全部都是默认处于开启状态的, 并且每一项都是能够进行单独配置的。这就是为啥网页搜索以及计划能够“毫无依据就可使用”。你未曾编写哪怕一行网页搜索代码, 而是默认额外附带了一个托管的网页搜索工具。问上一句“Any news on NVDA?”, 一经开启便开始运作。同样地, 鉴于其内在涵含了以及, 在plan模式之下讲出“my and some to add”, agent便会自动地输出计划、撰写todo列表, 而后切换至模式予以执行。第三步在 中运行进入到最终步骤, 将 agent 交到交互式控制台那儿。此控制台属于流式终端 UI, 其内部设置有 /todos 、 /mode 、 /exit 这些命令, 输出会依据模式进行着色青色的情况是 , 绿色的情形是。.NETawait HarnessConsole.RunAgentAsync( agent, userPrompt: Ask about a stock or say review my watchlist to get started., new HarnessConsoleOptions { /* observers command handlers */ });await run_agent_async( agent, sessionagent.create_session, observersbuild_observers_with_planning(agent), initial_modeplan, title Finance Assistant,)运行命令# .NETcd dotnetdotnet run --project samples/02-agents/Harness/BuildYourOwnClaw/Claw_Step01_MeetYourClaw# Pythonuv run python/samples/02-agents/harness/build_your_own_claw/claw_step01_meet_your_claw.py推荐按这个顺序试试1. 切入这种模式, 它会脱离原本默认的那种名叫plan的模式, 从而便捷地去寻觅那些并不需要经由计划的内容的具体线索。2. 微软公司股票的价格是多少呢 —— 去查看人工智能代理调用你所具备的工具。3. 有没有关于英伟达公司的任何消息呢? ——去瞧它自行进行的网页搜索行为。4. 把微软、英伟达以及标准普尔500指数交易所交易基金添加到我的观察名单里——去瞧它撰写文件留存记忆。5. 将模式切换为plan, 从而去开展复杂的、多达多步骤的任务。6. 需把我和一些内容去增添上去, 要看它进行先规划, 接着提问澄清, 最终切换到模式执行, 需输入 /todos 去查看 todo 列表, 输入 /mode 去查看当前模式。保存与恢复会话控制台能够支持将会话的整体部分持久存储至磁盘。于此的底层原理是: 把对象该对象涵盖对话方面有着的过去经历以及上下文的提供者所有状态按照规定序列转化成为JSON格式, 没错。就此。· /- my-.json , 这一操作是用于将当前进行之中的会话内容, 涵盖了记忆部分, 保存至文件里边的行为。• /exit 重新启动——回到新的空会话。• /- my-.json ——从磁盘恢复保存的会话。输入“/mode”, 接着询问“Whats on my?” , 让agent依据恢复的记忆进行回答, 不用再次输入。Plan 模式的原理搞不清楚为何处于plan模式之际, agent会去问问题还会请求批准, 然而在另一模式下却是直接着手干活。对此的答案存在于结构化输出那里。存在着两种内置模式, 其一为plan此乃默认模式 , 其二暂未明确完整模式名称。控制台于这两种模式之下, 其行为表现存在差异。在未明确完整模式下, 模型输出普通类型文本, 以此直接致力于相关任务。而处于plan模块模式时 , 控制台借助于预先设定的JSON格式要求 , 促使模型输出具备结构化特征的响应内容 , 而非随意的自由文本形式:// 控制台的 planning observer 中仅在 plan 模式下options.ResponseFormat ChatResponseFormat.ForJsonSchema;这个 把模型输出限制为两种形态之一澄清: 模型没法确定你究竟想要什么后, 会返回一个或者多个问题。每个问题能够带上 可选项, 控制台会将它们渲染成可选择的项目也能够自由去输入。批准: 在模型具备计划之后, 返回一条内容, 其作为计划摘要。控制台将此渲染成提示, 提示内容为批准并切换到 模式, 若你不点头, 那么就不会执行。引发计划模式之所以会有“想法”的缘由是这样的: agent首先要着手收集信息, 接着进行计划展示, 俟你予以批准之后方会进入且按照todo列表去施行, 类型于两种语言版本的控制台示范里皆存在完整的源码, 你能够实行复制操作并依据自身的用户体验情况作出调改, 其中包含不同类别问题, 审批工序更为丰富繁杂。按需关闭功能所有默认开启的功能, 具体包括todos, 还包括agent modes, 以及网页搜索, 还有文件记忆, 另外有文件访问, 也有工具审批, 这些都能够单独进行关闭。要是某个功能并不契合你的场景, 仅仅一个选项便可以将其关闭。.NETAIAgent agent chatClient.AsHarnessAgent(new HarnessAgentOptions{ DisableTodoProvider true, DisableWebSearch true, ChatOptions new ChatOptions { Instructions instructions, Tools [/* ... */] },});agent create_harness_agent( clientclient, agent_instructionsFINANCE_INSTRUCTIONS, toolsget_stock_price, disable_todoTrue, disable_web_searchTrue,)常见的, .NET 开关, 有 ider, 还有其他一些, 对应着另外一些, 分别是, 这些和那些。拆开来用这些构建块不依赖把这些都给你连起来了, 然而每个功能都是独自的, 并非相互关联的那种。网页搜索仅仅是一个 tool , 模式以及 todos 各自都是平常的类型 ——你能够只选取你所需要的那一部分 , 添加到任何一个 agent 上面 , 用不着将完整的一套套上去 , 是这种情况。— ..AI — ..AI — ..AI功能 .NET网页搜索.计划模式fromTodo 列表from

相关新闻

带着5个人跑通14天MVP挑战:我是如何用AI工具矩阵干掉团队协作损耗的?

带着5个人跑通14天MVP挑战:我是如何用AI工具矩阵干掉团队协作损耗的?

在职场受超级个体理念席卷之际, 这位产品经理选了条更务实之路, 那便是把全栈思维植入传统团队。历经 14 天极限实验, 5 人小队借助 AI 工具矩阵做完了 1200 样本测试, 削减 90%会议文档, 使得销售培训周期由两周陡然降至三天。这场组织变革证实: 真正的竞争力并非在于逃离公司…

2026/7/28 9:39:44 阅读更多 →
终极QMCDecode音频解密指南:快速免费解锁QQ音乐加密文件

终极QMCDecode音频解密指南:快速免费解锁QQ音乐加密文件

终极QMCDecode音频解密指南:快速免费解锁QQ音乐加密文件 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认…

2026/7/28 9:39:44 阅读更多 →
QMCDecode:Mac用户的QQ音乐格式解密终极指南

QMCDecode:Mac用户的QQ音乐格式解密终极指南

QMCDecode:Mac用户的QQ音乐格式解密终极指南 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载目录,默认转换结果存…

2026/7/28 9:39:44 阅读更多 →

最新新闻

专业干货!AI写专著工具推荐,快速生成20万字专著,开启写作新体验

专业干货!AI写专著工具推荐,快速生成20万字专著,开启写作新体验

写专著的困扰与AI工具的出现 对于很多学者来说,写学术专著最大的难题就是“时间不够”和“任务太多”之间的矛盾。写一本专著往往需要花费三到五年的时间,甚至更久,而研究者平时还得兼顾教学、科研项目和各种学术活动。于是,真正…

2026/7/28 9:50:48 阅读更多 →
从工具到平台:three.js 编辑器的演进逻辑

从工具到平台:three.js 编辑器的演进逻辑

从工具到平台:three.js 编辑器的演进逻辑 本文围绕 three.js 编辑器(一款基于 Three.js 的 AI 驱动可视化低代码编辑器)展开。 🌐 在线预览:https://z2586300277.github.io/threejs-editor/📦 GitHub 开源仓…

2026/7/28 9:50:48 阅读更多 →
Linux零基础入门:从核心概念到实战命令的完整学习路径

Linux零基础入门:从核心概念到实战命令的完整学习路径

很多开发者第一次接触 Linux 时,面对黑乎乎的终端和复杂的命令,常常感到无从下手,甚至产生畏惧心理。这种感受我完全理解,因为我也曾经历过。但请相信,Linux 远没有想象中那么难,它更像一个逻辑清晰、功能强…

2026/7/28 9:50:48 阅读更多 →
2026年AI写作助手市场格局与核心技术解析

2026年AI写作助手市场格局与核心技术解析

1. 2026届AI写作助手市场格局解析 2026年的AI写作助手市场已经形成了明显的分层格局,头部产品在功能深度和垂直场景适配度上拉开了显著差距。经过对全球37款主流产品的横向评测,我们发现当前市场呈现三个显著特征: 首先是技术架构的趋同化&a…

2026/7/28 9:50:48 阅读更多 →
Vue+Python构建民生捐赠众筹系统实战

Vue+Python构建民生捐赠众筹系统实战

1. 项目概述:VuePython民生援助捐赠众筹系统去年参与某公益组织技术升级项目时,我负责开发了一套基于Vue前端和Python后端的民生援助捐赠众筹平台。这个系统最终实现了日均2000的捐赠流水处理,帮助30余家公益机构完成了数字化升级。这类系统的…

2026/7/28 9:50:48 阅读更多 →
行空板灯光控制全攻略:从RGB灯到WS2812B灯带的Python与Mind+实践

行空板灯光控制全攻略:从RGB灯到WS2812B灯带的Python与Mind+实践

1. 从“点灯”开始:为什么行空板是创客入门的绝佳选择如果你对编程、硬件交互或者智能设备感兴趣,但又觉得Arduino、树莓派这些名字听起来有点“硬核”,那么“行空板”可能就是你一直在找的那个有趣又友好的入口。我第一次接触行空板&#xf…

2026/7/28 9:49:48 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻