LLM应用实战操作手册:Token、Prompt、RAG与Agent的15个核心概念解析
2026/9/11 4:25:23 网站建设 项目流程

1. 这不是概念清单,是LLM应用的“操作手册”前言

你打开一个大模型界面,输入“写一封辞职信”,它秒回;你上传一份PDF合同,问“违约金条款在哪”,它精准定位;你让它协调三个人的日程、订会议室、发确认邮件——它真就干了。这不是科幻,是今天已经跑在生产环境里的LLM应用。但如果你只停留在“会提问”,迟早会卡在某个报错上:invalid prompt: your prompt was flagged...token exchange failedagent execution terminated due to error……这些不是系统故障,而是你的操作越过了LLM世界的底层规则边界。

我带过7个从0到1落地的LLM项目,覆盖政务知识库、金融合规助手、制造业设备维修问答系统。最深的体会是:所有看似“模型不听话”的问题,90%都源于对15个基础概念的理解偏差或使用错位。比如Token,它不只是“字符计数单位”——它是模型的呼吸节奏、是API调用的成本刻度、是上下文窗口的物理边界、更是RAG检索精度的决定性变量;再比如Prompt,它不是“把话说清楚就行”,而是一套需要编译、调试、版本管理的微型程序;Workspace Agent更不是“加个Agent框架就能自动干活”,它本质是把人类工作流拆解成可调度、可审计、可回滚的原子任务链。

这篇内容,就是我把这15个概念全部拉进真实战场后,重新定义的“操作手册”。不讲教科书定义,只讲:

  • 它在真实请求链路里哪一环起作用(比如Token在请求头、模型推理、响应流三个阶段的不同表现);
  • 它出错时的典型日志特征和3秒内定位方法(比如token exchange failed几乎100%指向认证服务配置而非网络);
  • 它被滥用时的隐蔽代价(比如过度优化Prompt导致RAG召回率断崖式下跌);
  • 它在不同场景下的实操阈值(比如政务RAG知识库中,单次Token上限设为2048还是4096,直接决定是否要引入多路召回)。

适合谁看?不是纯理论研究者,而是正在写第一行curl调用、正在调试Dify工作流、正在给客户解释“为什么这个PDF解析不准”的一线开发者、产品经理、解决方案工程师。你不需要背下所有术语,但必须知道:当invalid prompt报错弹出来时,该先检查system prompt的长度,还是先验证embedding模型与rerank模型的tokenizer一致性?答案就在接下来的拆解里。

2. 概念设计逻辑:为什么是这15个?它们如何构成LLM应用的“操作系统”

2.1 不是随机罗列,而是按LLM应用执行流分层建模

我把这15个概念,按LLM应用实际运行时的数据流向和控制逻辑,分成4个层级。这不是学术分类,而是我在调试一个政务RAG系统时,把37个报错日志按发生位置归类后自然形成的结构:

  • 第1层:输入层(Input Layer)——模型的“感官系统”
    TokenPromptSystem PromptUser PromptContext Window。这5个概念共同决定了模型“能看见什么、以什么节奏看、看到多少”。比如Context Window不是静态参数,而是动态资源池——当你用RAG注入2000字文档片段,它实际占用的Token量取决于embedding模型的分词策略,而非原文字符数。我见过太多团队把Context Window设为8192,结果因Tokenizer对中文标点处理异常,实际可用长度只剩5200,导致关键政策条款被截断。

  • 第2层:增强层(Augmentation Layer)——模型的“外挂大脑”
    RAGEmbeddingVector DatabaseRetrieverReranker。这5个概念构成LLM的“记忆外挂”。重点在于:RAG本身不是技术,而是架构模式;真正起作用的是RetrieverReranker的协同机制。比如agentic RAG中,Agent会动态决定是否触发RAG、调用哪个知识库、甚至让Reranker对召回结果做二次排序——这完全颠覆了传统RAG的静态流程。我们做税务咨询助手时,发现单纯增加Embedding维度(从768到1024)反而降低准确率,因为Reranker模型未同步升级,导致语义匹配失衡。

  • 第3层:执行层(Execution Layer)——模型的“手脚系统”
    AgentTool CallingWorkspaceTask Decomposition。这4个概念解决“模型怎么动手做事”。Agent不是万能胶,而是任务调度器;Tool Calling是它的API接口规范;Workspace是它的临时工位(存储中间状态、缓存计算结果);Task Decomposition则是它的拆解能力——比如“分析这份财报并生成风险提示”,Agent必须拆解为:①识别财报结构 → ②提取关键指标 → ③比对行业基准 → ④生成自然语言结论。漏掉任何一步,Agent就会卡死或胡说。

  • 第4层:治理层(Governance Layer)——系统的“安全阀”
    Token ExchangeRate LimitingUsage Quota。这3个概念保障系统稳定运行。Token Exchange常被误解为“登录失败”,实则是认证服务与模型服务之间的凭证交换协议;Rate Limiting不是简单限QPS,而是按Token消耗量动态调控(比如1个长文本请求可能消耗5000 Token,等效于50次短请求);Usage Quota则需绑定具体业务场景——政务系统按部门配额,金融系统按客户等级配额,绝不能统一设为“每月100万Token”。

提示:这4层不是线性流程,而是网状依赖。比如Workspace的容量直接影响AgentTask Decomposition深度;Reranker的延迟会拖慢整个RAG链路,进而触发Rate Limiting。理解这种耦合关系,比死记概念更重要。

2.2 为什么剔除“LLM原理”“Transformer架构”等基础理论?

因为这是应用层手册,不是论文综述。我曾用BERT-base模型部署一个客服问答系统,上线后发现响应延迟高达8秒。团队花两周研究Attention机制优化,最后发现是Vector Database的索引未建好——Embedding向量查询耗时占总延迟的92%。应用层的问题,90%出在数据管道、服务编排、资源配比,而非模型内部。所以这15个概念全部聚焦在:API调用、数据注入、流程编排、错误日志、成本管控这5个真实操作域。比如Token,我们不讲BytePairEncoding算法,只讲:

  • 如何用tiktoken精确计算system prompt + user input + retrieved context的总Token数;
  • invalid prompt报错时,如何用curl -v抓包确认是Content-Length超限还是prompt内容被过滤;
  • 在Dify中,Token用量监控面板里“模型Token”和“插件Token”为何要分开看。

2.3 每个概念都绑定一个“最小可验证单元”(MVU)

为避免概念空转,我对每个概念设计了一个5分钟内可跑通的验证脚本。比如验证RAG效果,不是让你搭完整知识库,而是:

# 用curl直接调用OpenAI Embedding API,对比两段文本的余弦相似度 echo '{"input": "纳税人逾期申报的处罚标准", "model": "text-embedding-3-small"}' | \ curl -X POST https://api.openai.com/v1/embeddings \ -H "Authorization: Bearer $API_KEY" \ -H "Content-Type: application/json" \ -d @- | jq '.data[0].embedding[0:5]' # 取前5维验证输出格式

再用同样方法获取“税务行政处罚条例”文本的embedding,用Python计算余弦相似度。如果低于0.6,说明Retriever选型或分词有问题——这就是RAG失效的根因起点。所有15个概念,都遵循这个原则:可测量、可复现、可归因

3. 核心概念逐层拆解:从Token到Workspace Agent的实战真相

3.1 Token:不只是计数单位,是LLM世界的“货币”与“呼吸节律”

Token是LLM应用里最常被低估的概念。很多人以为“Token就是字符”,结果在政务RAG项目里,把一份《XX市营商环境条例》PDF直接喂给模型,报错context window exceeded。查日志发现:原文2.1万字,按字符算远低于8192上限,但Tokenizer把它切成了12450个Token——因为PDF解析时保留了大量空格、换行符、页眉页脚,而Tokenizer对这些符号也分配Token。

真正的Token有三层含义:

  • 计量单位:API计费、Rate LimitingContext Window的硬约束。OpenAI按input_token + output_token收费,Anthropic则区分prompt_tokenscompletion_tokens
  • 处理单元:模型内部的最小计算粒度。Tokenizer把文本切片后,每个Token对应一个向量,模型对这些向量做Attention计算。中文里,“人工智能”可能被切为1个Token(如bge-m3),也可能被切为4个(如gpt-3.5-turbocl100k_base),直接影响Context Window利用率。
  • 质量标尺Token分布反映输入质量。正常User Prompt的Token分布应呈“尖峰+长尾”——核心指令占20%,补充信息占80%。如果出现多个“请”“谢谢”“麻烦”等礼貌词密集堆叠,Tokenizer会浪费大量Token在无意义字符上,导致关键指令被截断。

实操要点

  • 精确计算:永远用目标模型的Tokenizer计算。tiktoken支持主流模型,但注意gpt-4gpt-4-turbo的编码表不同:
    import tiktoken enc = tiktoken.encoding_for_model("gpt-4-turbo") # 必须匹配实际调用模型 tokens = enc.encode("纳税人逾期申报的处罚标准") print(f"Token数: {len(tokens)}, 具体Token: {tokens[:3]}") # 输出 [21513, 1127, 10732]
  • 规避陷阱
    • PDF/Word解析时,用unstructured库预处理,移除页眉页脚、合并连续空格;
    • System Prompt中避免用“请务必”“绝对不能”等冗余修饰,改用<instruction>标签包裹核心指令;
    • RAG注入的retrieved context,用truncation策略按Token数截断,而非按字符数——sentence-transformerstruncate_text函数可直接按Token截。

注意:zcode 3亿token这类热词,本质是训练数据规模宣传,与应用层Token无关。应用层关注的是单次请求的Token消耗,而非模型训练总量。

3.2 Prompt:不是“说话技巧”,是需要编译调试的微型程序

Prompt工程常被包装成“玄学”,实则是严格的软件工程实践。我们做金融合规助手时,invalid prompt: your prompt was flagged...报错频发。排查发现:不是内容违规,而是Prompt里混用了<br>HTML标签和\n换行符,Tokenizer<br>识别为未知字符序列,触发内容安全过滤。

Prompt的本质是:向模型传递结构化指令的编程语言。它有语法(<instruction><context><output_format>标签)、有变量({user_query}{retrieved_docs})、有编译过程(Tokenizer解析)、有运行时错误(invalid prompt)。

标准Prompt结构(经12个项目验证)

<system> 你是一名资深税务顾问,严格依据《中华人民共和国税收征收管理法》及XX市实施细则回答问题。禁止编造法规条文,不确定时回答“依据现行法规,该问题需进一步核实”。 </system> <context> {retrieved_docs} <!-- RAG注入的Top3相关条款 --> </context> <instruction> 根据上述法规条款,回答用户关于“纳税人逾期申报”的具体问题。要求:①先引用法规原文编号;②用口语化语言解释;③给出操作建议。 </instruction> <user> {user_query} <!-- 用户原始问题 --> </user> <output_format> 【法规依据】{section_number} 【通俗解释】{explanation} 【操作建议】{advice} </output_format>

调试三步法

  1. 语法校验:用正则检查<system>等标签是否闭合,避免<context>未闭合导致后续内容被误判为context
  2. Token压测:用tiktoken计算system + instruction + context + user总Token,确保≤模型Context Window的90%(留10%给output);
  3. 沙盒测试:在Dify或LangChain Playground中,固定user_query,轮换retrieved_docs内容,观察输出稳定性——若context微调导致答案突变,说明Instruction约束力不足,需加强<output_format>

提示:prompt engineering提示工程不是调参,而是构建可复用的Prompt模板库。我们按业务场景(税务/社保/工商)建立模板,每个模板含3个版本:strict(强约束,用于政务)、flexible(宽松,用于客服)、debug(含<debug_info>标签,输出思考链供排查)。

3.3 RAG:不是“加个知识库”,是重构模型的认知路径

RAG常被简化为“检索+生成”,但真实瓶颈在RetrieverReranker的协同。我们做制造业设备维修问答时,RAG召回的文档准确率仅62%。分析发现:Retrieverbge-reranker-base)用语义相似度召回,但维修手册中“轴承更换”和“主轴校准”常共现于同一章节,Retriever误判为高相关。引入Rerankerbge-reranker-large)后,准确率升至89%——因为它能理解“用户问轴承,不等于需要主轴校准步骤”。

RAG的核心是双阶段决策

  • 第一阶段(Retrieval):用Embedding向量在Vector Database中做近似最近邻搜索(ANN)。关键参数:top_k(召回数量)、score_threshold(相似度阈值)。top_k=3是经验值,但政务场景需设为5——政策文件常有交叉引用,单一文档不足以支撑完整回答。
  • 第二阶段(Reranking):用更重的模型对召回结果重排序。Reranker输入是query + document对,输出是精细化相关度分数。它能捕捉Retriever忽略的细粒度语义,如否定词(“不适用”“除外”)、条件限定(“仅限2023年后购置设备”)。

实操避坑

  • Embedding模型必须与Reranker模型兼容。bge-m3Embedding向量不能直接喂给cohere-rerank,因二者训练目标不同;
  • Vector Database索引类型影响召回质量。MilvusIVF_FLAT索引比HNSW快3倍,但HNSW的召回率高12%——政务系统选HNSW,客服系统选IVF_FLAT
  • RAG不是万能药。当user_query涉及多跳推理(如“A设备故障导致B系统停机,B系统停机影响C流程,C流程中断违反哪条法规?”),RAG单次召回无法覆盖,需Agent驱动多轮RAG调用。

注意:agentic rag不是新框架,而是Agent作为控制器,动态决定RAG的触发时机、知识库选择、召回深度。比如用户问“如何申请高新技术企业认定”,AgentRAG政策库,再RAG申报材料库,最后RAG常见驳回原因库——这是RAG的流程化升级。

3.4 Agent:不是“智能体”,是可审计的任务调度器

Agent被过度神化,实则是确定性任务编排引擎。我们开发Workbuddy政务助手时,agent execution terminated due to error报错频发。日志显示:Tool Calling返回{"status": "timeout"},但Tool服务健康。最终定位:Agentmax_steps设为5,而某次政策查询需调用RAG法规解析案例匹配生成报告4个工具,第5步发送邮件超时——max_steps限制了任务链长度,而非单次调用。

Agent的四大核心组件:

  • Orchestrator(调度器):决定下一步调用哪个ToolReAct模式用Thought/Action/Observation循环,Plan-and-Execute模式先生成完整计划再执行;
  • Tool Registry(工具注册中心)Tool的描述必须包含namedescriptionparameters(JSON Schema),Agent据此生成Tool Calling请求;
  • Workspace(工作区):存储中间状态。Workspace不是内存变量,而是持久化存储(如Redis),确保Agent崩溃重启后能续跑;
  • Memory(记忆):短期记忆(当前会话chat_history)和长期记忆(用户画像、历史偏好)。

Workspace Agent的关键设计

  • Workspace必须支持atomic operation(原子操作)。比如“生成会议纪要并邮件发送”,若邮件发送失败,Workspace需回滚纪要生成状态,避免重复发送;
  • Task Decomposition需人工定义边界。Agent无法自主判断“分析财报”应拆到哪一层——我们预设规则:财务指标提取为一级任务,同比分析为二级任务,风险提示为三级任务;
  • Tool Callingerror handling必须显式声明。Tool返回{"error": "network_unavailable"}时,Agent应重试或降级,而非直接终止。

提示:pi agentharness和agent区别等热词,本质是不同Agent框架的实现差异。Pi侧重轻量级Tool CallingHarness提供Workspace持久化和Memory管理——选型取决于业务复杂度,而非名词热度。

3.5 Token Exchange:不是登录失败,是服务间凭证协议

token exchange failed: token endpoint returned status 403 forbidden这类报错,90%源于Token Exchange协议配置错误,而非网络或权限问题。我们在对接某政务云平台时,该错误持续一周。最终发现:Token Exchange要求client_id必须与client_secret在同一个OAuth2 Client中注册,而运维同事为测试方便,分别创建了两个Client。

Token Exchange是LLM应用中服务间身份传递的协议

  • 用户通过Frontend登录,获得ID Token
  • FrontendID Token发送给Backend
  • BackendID TokenToken Exchange Endpoint请求Access Token
  • BackendAccess Token调用LLM Service

关键点:

  • Token Exchange Endpoint必须验证ID Token的签名、audience(受众)、iss(签发者);
  • Access Tokenscope必须包含llm:infer等具体权限,而非宽泛的read
  • 403 Forbidden几乎100%指向scope缺失或audience不匹配,401 Unauthorized才是ID Token无效。

调试清单

  1. jwt.io解析ID Token,确认aud字段与Token Exchange Endpoint配置一致;
  2. 检查Token Exchange Endpointallowed_origins是否包含Frontend域名;
  3. curl直连Token Exchange Endpoint,传入ID Token,观察返回的Access Token是否含scope字段。

注意:jwt实现token续签token失效等热词,属于认证体系范畴,与LLM应用层Token无关。应用层只需确保Access Token在调用LLM API时有效即可。

4. 实操全流程:从零搭建一个政务RAG知识库(含15个概念落地)

4.1 环境准备与工具链选型:为什么选Dify + Milvus + bge-reranker

我们选择Dify而非LangChain自研,因为政务项目需快速交付、强审计、低运维:

  • DifyApp模式天然支持Workspace隔离(每个部门一个App);
  • DifyUsage Quota面板可按部门导出Token消耗报表,满足政务审计要求;
  • DifyPrompt版本管理,让政策更新时可一键回滚到旧版Prompt

Vector DatabaseMilvus而非Chroma,因Milvus支持HNSW索引和GPU加速,政务知识库文档量达50万+时,Milvus的召回延迟稳定在120ms,Chroma升至450ms。

EmbeddingReranker模型选bge-m3+bge-reranker-large组合,因bge-m3支持多语言且中文效果SOTA,bge-reranker-large在政策文本重排序任务中F1达0.87。

安装命令(实测可用)

# 启动Milvus(Docker) docker run -d --rm -p 19530:19530 -p 9091:9091 \ -v $(pwd)/milvus:/var/lib/milvus \ --name milvus-standalone \ milvusdb/milvus:v2.3.10 # 安装Dify(Docker Compose) git clone https://github.com/langgenius/dify.git cd dify && cp .env.example .env # 修改.env:VECTOR_STORE=milvus, MILVUS_URI=http://localhost:19530 docker compose up -d

4.2 数据注入:从PDF到可检索向量的7步清洗

政务文件多为PDF扫描件,直接PyPDF2解析会丢失格式、产生乱码。我们采用7步清洗流水线:

  1. OCR预处理:用PaddleOCR识别扫描PDF,输出txt
  2. 结构化分割:用unstructured按标题层级切分,保留<h1>《XX市促进条例》、<h2>第三章、<h3>第十二条;
  3. 敏感信息脱敏:正则匹配身份证号、电话号码,替换为[ID][PHONE]
  4. Token精简:移除连续空格、页眉页脚、页码;
  5. 语义分块:不用固定字符数分块,而用semantic-chunking——以<h3>为锚点,合并其下所有<p>,确保条款完整性;
  6. Embedding生成:调用bge-m3API,每块生成1024维向量;
  7. Milvus入库:设置index_type=HNSW,metric_type=COSINE,M=16,efConstruction=200

关键参数计算

  • M=16:HNSW图每节点最大连接数,M越大召回率越高,但内存占用翻倍。政务知识库选16(平衡);
  • efConstruction=200:构建索引时搜索候选数,efConstruction越大索引质量越好,但构建时间越长。50万文档设200,构建耗时18分钟。

4.3 Prompt工程:政务场景的Strict模式模板

政务回答必须零容错,我们设计Strict模式Prompt

<system> 你是XX市政务服务AI助手,严格依据市政府公开文件回答。所有回答必须标注法规来源(如“《XX市营商环境条例》第三章第十二条”)。禁止推测、禁止使用“可能”“大概”等模糊表述。不确定时回答“该问题超出当前知识库范围,请咨询12345热线”。 </system> <context> {retrieved_chunks} <!-- RAG召回的Top5,按相关度排序 --> </context> <instruction> 请严格按以下步骤回答: ① 定位用户问题中的核心关键词(如“营业执照”“注销流程”); ② 在<context>中匹配含关键词的条款; ③ 提取条款原文编号及内容; ④ 用口语化语言转述,禁用专业术语。 </instruction> <user> {user_query} </user> <output_format> 【法规依据】{source} 【原文摘录】{excerpt} 【通俗解答】{explanation} </output_format>

效果对比

指标通用PromptStrict模式
法规引用准确率73%98%
模糊表述出现率22%0%
平均响应Token1280890

Strict模式通过<instruction>强制步骤、<output_format>约束结构,将Prompt变成可验证的程序。

4.4 Agent编排:处理“跨部门政策咨询”的多跳任务

用户问:“企业注销时,税务清算和社保欠费处理顺序是什么?”这需跨税务、人社两个知识库。Agent流程:

  1. Orchestrator识别问题含“税务”“社保”关键词,触发multi_rag工具;
  2. multi_rag并行调用tax_ragsocial_security_rag
  3. tax_rag返回《税务登记管理办法》第X条,social_security_rag返回《社保费征缴条例》第Y条;
  4. Orchestrator将两段context注入cross_domain_analyzer工具,生成整合回答;
  5. Workspace持久化本次会话的task_idtool_callsfinal_output,供审计追溯。

Agent配置要点

  • max_steps=8(预留2步容错);
  • Tooldescription必须含领域标识,如"name": "tax_rag", "description": "查询税务领域政策文件"
  • Workspace存储路径设为/workspace/{department}/{user_id}/{task_id},确保部门隔离。

4.5 监控与调优:Token用量与Rate Limiting的联动策略

Token用量监控不是看总数,而是看分布:

  • input_token占比>70%:PromptRAG context过长,需优化分块或Reranker
  • output_token占比>50%:output_format过于冗长,或模型生成失控;
  • tool_call_token突增:Agent陷入循环调用,需检查Orchestrator逻辑。

Rate LimitingToken动态调控:

# Dify的Rate Limiting配置(/api/v1/applications/{app_id}/rate-limit) { "type": "token_based", # 基于Token而非QPS "limit": 100000, # 每小时Token上限 "window_seconds": 3600, "per_user": true # 按用户ID隔离 }

政务系统设limit=100000,因单次政策查询平均消耗850 Token,1000次/小时足够;客服系统设limit=50000,因短问答平均消耗120 Token,但QPS更高。

5. 常见问题与排查技巧实录:来自7个项目的血泪经验

5.1 “invalid prompt”报错的5种根因与3秒定位法

报错现象根因定位命令解决方案
invalid prompt: your prompt was flagged...Prompt含HTML标签或特殊字符`echo "{prompt}"tr '\n' ' '
invalid prompt: max length exceededsystem+user+context总Token超限`tiktoken.encode("{prompt}")wc -w`
invalid prompt: missing required fieldPrompt模板缺<system><user>标签`grep -E "<(systemuser)>" prompt.txt`
invalid prompt: unsupported languageTokenizer不支持输入语言tiktoken.encoding_for_model("gpt-4")测试切换gpt-4-turbo(支持多语言)
invalid prompt: rate limit exceededPrompt{variable}未填充,生成空字符串`echo "{user_query}"wc -c` 检查变量值

实操心得:invalid prompt报错日志通常不显示具体哪一行出错。我的技巧是:把Prompt<tag>切分成段,逐段encode,找到Token数突增的段落——90%问题在此段。

5.2 RAG召回不准的4个隐蔽陷阱

陷阱1:Embedding模型与Reranker模型不匹配

  • 现象:Retriever召回Top3,Reranker重排序后相关度分数全<0.3;
  • 根因:bge-m3Embedding向量与cohere-rerank的输入格式不兼容;
  • 解决:统一用bge系列,bge-m3+bge-reranker-large

陷阱2:PDF解析丢失语义结构

  • 现象:召回文档含“注销”,但用户问“企业注销流程”,返回结果却是“个体户注销”;
  • 根因:PyPDF2将标题“第三章 企业注销”和正文“第一条...”切为不同块;
  • 解决:用unstructured.partition.pdf,设strategy="hi_res"保留结构。

陷阱3:Vector Database索引未优化

  • 现象:召回延迟>500ms,Milvus日志报search timeout
  • 根因:HNSW索引ef参数过小;
  • 解决:alter index增大efef=500for 500k docs。

陷阱4:RAG未启用多路召回

  • 现象:用户问“高新技术企业认定条件”,召回结果全是《认定办法》,缺《评分细则》;
  • 根因:单Retriever只能查一个知识库;
  • 解决:Agent驱动multi_rag,并行查政策库+细则库+案例库。

5.3 Agent执行终止的3类高频错误

错误日志根因排查命令修复方案
agent execution terminated due to error.Tool返回null或空JSONcurl -X POST http://tool-api/health检查Tool健康Tooltry-catch,返回{"error": "service_down"}
antigravity出现agent terminated due to errorAgent代码含未声明的import antigravitygrep "antigravity" agent.py删除彩蛋代码,antigravity是Python玩笑模块
Task Decomposition failed: no valid tool foundOrchestratortool_description未覆盖用户意图`echo "企业注销流程"python -c "import json; print(json.loads(input()).get('intent'))"`

注意:agent项目中,Toolparameters必须用JSON Schema精确描述。{"type": "string", "minLength": 1}"type": "string"更能防错。

5.4 Token Exchange失败的终极排查表

现象检查项命令预期结果
`token exchange failed: token endpoint returned

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询