新闻详情

新闻详情

首页 / 资讯中心 / 详情

DeepSeek-Agent-Harness-2026终极指南-第9章第44节-核心工具集开发-工具返回值设计:结构化与token经济学

发布时间:2026/10/2 8:22:41来源:尧图网络
DeepSeek-Agent-Harness-2026终极指南-第9章第44节-核心工具集开发-工具返回值设计:结构化与token经济学
DeepSeek Agent Harness 2026终极指南 - 第9章第44节 工具返回值设计结构化与token经济学第40-43节我们做了文件、bash、检索、联网四件套Agent已经能读改写代码、跑命令、找代码、查文档。但工具返回值的设计还有很多讲究——返回太多占上下文返回太少模型看不懂。这节讲工具返回值设计结构化格式、token经济学、返回值如何影响模型决策。这是工具开发的最后一公里。本文导航为什么返回值设计很重要结构化返回值成功/失败统一格式超大输出截断策略返回值如何影响模型决策实证对比好返回值 vs 坏返回值小结为什么返回值设计很重要工具返回值是模型理解工具执行结果的唯一途径。设计不好模型会误解结果返回成功模型不知道成功了什么浪费token返回1万字模型看不完上下文爆炸决策错误返回信息不全模型做出错误判断好的返回值设计结构化成功/失败统一格式模型容易解析精简只返回必要信息节省token明确告诉模型发生了什么、下一步该做什么结构化返回值成功/失败统一格式很多工具返回的是纯字符串如成功、“失败”。模型很难判断是成功还是失败。解决方案统一结构化格式。tooldefsome_tool(param:str)-str:工具描述try:# 执行逻辑resultdo_something(param)# 成功返回结构化信息returnf成功 - 操作{param}- 结果{result}- 下一步可以继续执行其他操作exceptExceptionase:# 失败返回错误信息和建议returnf失败 - 操作{param}- 错误{str(e)}- 建议检查参数是否正确或尝试其他方法关键点明确标识成功/失败开头写成功“或失败”包含关键信息操作、结果/错误、下一步建议格式化输出用换行、列表方便模型解析超大输出截断策略有些工具返回大量数据read_file读大文件grep搜索大量匹配web_fetch抓取长网页如果不截断会占满上下文窗口。截断策略MAX_OUTPUT4000# 最大输出字符数deftruncate_output(output:str,max_length:intMAX_OUTPUT)-str:截断超长输出iflen(output)max_length:returnoutput# 截断并提示truncatedoutput[:max_length]returnf{truncated}\n\n[输出已截断共{len(output)}字符已显示前{max_length}字符]关键点默认4000字符约1000-2000 token对模型够用提示总长度让模型知道还有多少内容没看到可选参数允许调用方指定max_length返回值如何影响模型决策返回值不仅告诉模型发生了什么还影响模型下一步做什么。案例1文件读取坏返回值def add(a, b): return a b模型不知道这是哪个文件、第几行。好返回值文件test_math.py 行号1-3 内容 1: def add(a, b): 2: return a b 3: 下一步可以用edit_file修改这个函数模型知道这是test_math.py的1-3行可以用edit_file修改案例2命令执行坏返回值1 passed in 0.01s模型不知道命令是否成功。好返回值命令pytest test_math.py -v 状态成功返回码 0 输出 1 passed in 0.01s 下一步测试通过可以继续开发其他功能模型知道命令成功返回码0测试通过可以继续开发实证对比好返回值 vs 坏返回值我们做一个实验让Agent修改一个有bug的函数。实验设置test_math.py里有个bugadd(0, 0)应该返回0但测试失败让Agent修复bug坏返回值版本工具返回test_math.py::test_add FAILED AssertionError: assert 1 0Agent反应看到FAILED知道测试失败看到assert 1 0不知道是哪行代码错了可能盲目修改代码好返回值版本工具返回命令pytest test_math.py -v 状态失败返回码 1 输出 test_math.py::test_add FAILED 失败详情 文件test_math.py 函数test_add 行号8 错误AssertionError: assert add(0, 0) 0 实际值1 期望值0 建议检查add函数在a0, b0时的返回值Agent反应知道是test_math.py第8行知道是add(0, 0)返回了1而不是0精准定位bug快速修复结论好返回值让Agent决策更准确、更高效。小结返回值设计是工具开发的最后一公里设计不好模型误解、浪费token、决策错误。结构化返回值成功/失败统一格式包含操作、结果/错误、下一步建议。超大输出截断默认4000字符提示总长度允许调用方指定max_length。返回值影响模型决策好返回值让模型精准定位问题坏返回值让模型盲目猜测。实证对比好返回值包含文件、行号、错误详情、建议坏返回值只有简单错误信息。设计原则明确、精简、结构化、可操作。DeepPilot v0.4工具返回值设计完成——工具开发从能用升级到好用。下节预告工具返回值设计好了但还有一个问题——模型怎么知道该用哪个工具你让Agent查一下天气它怎么知道要用get_weather而不是web_search下一节讲工具描述工程怎么写工具描述让模型用对工具。这是工具开发的提示词工程。如果觉得本文对你有帮助欢迎点赞、收藏、关注三连本系列持续更新中关注不迷路~
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

OpenShell终端效率工具:从快捷指令到会话管理的一站式配置指南 2026/10/2 9:06:37

OpenShell终端效率工具:从快捷指令到会话管理的一站式配置指南

最近这段时间,我身边好几个同事都在聊OpenShell这个开源终端工具,起初我以为是某个国外新出的命令行框架,真正花了一个周末把配置跑起来之后,才意识到这东西的价值被严重低估了。它不是要把 bash、zsh 或者 PowerShell 干掉&#…

阅读更多 →
浏览器取证神器hindsight:从Chrome历史到已删除记录的完整解析指南 2026/10/2 9:06:37

浏览器取证神器hindsight:从Chrome历史到已删除记录的完整解析指南

做浏览器取证这些年,我见过太多“当初要是早点看历史记录就好了”的案子。hindsight这个工具,说白了就是给数字取证的一剂后悔药——它专门用来解析Chrome系浏览器留下的各种痕迹,从浏览历史、下载记录到缓存、Cookie、本地存储,甚…

阅读更多 →
单元测试六大陷阱与Vue实战:从稳定维护到LLM辅助生成新玩法 2026/10/2 9:06:37

单元测试六大陷阱与Vue实战:从稳定维护到LLM辅助生成新玩法

单元测试这件事,圈子里讨论了很多年,但真正能把它做好的团队并不多。很多项目一开始信誓旦旦“以后所有核心逻辑都要覆盖测试”,结果跑了几个月之后,测试套件变成了一堆改需求就爆、跑起来就红、没人敢动的历史包袱。我见过不少团…

阅读更多 →
Java实现Agent工作流流程引擎:状态轮转与流式输出实战 2026/10/2 9:06:36

Java实现Agent工作流流程引擎:状态轮转与流式输出实战

先说下背景。上个月在公司接了个AI客服Agent的活,需求听着不复杂:用户提问进来,先做意图识别,命中“查订单”就去调订单接口,拿到物流信息再丢给大模型润色成一句人话返回。四步流程嘛,串起来就完了。我第一…

阅读更多 →
掌握Git提交记录与分支模型,提升团队协作效率 2026/10/2 9:06:36

掌握Git提交记录与分支模型,提升团队协作效率

很多人第一次接触 Git,都是因为“代码要备份”“要跟别人协作”,但用着用着就会发现,Git 真正的价值一半藏在提交记录里,另一半藏在分支模型里。提交记录是你项目的病历本,每一次 commit 都在回答“这段代码是什么时候…

阅读更多 →
Agent Skills 实战:SKILL.md 编写、触发机制与技能链式调用 2026/10/2 9:06:30

Agent Skills 实战:SKILL.md 编写、触发机制与技能链式调用

1. 从“skills”这个热词说起:它到底是什么,为什么突然火了最近几个月,不管是在技术社区还是各种开发者群里,“skills”这个词出现的频率高得离谱。很多人第一次看到“Claude Skills”或者“SKILL.md”的时候,第一反应…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉