Skip to main content
Glama

live_session_complete

Finalize a live teaching session after the learner declares it closed. Writes required summary, teacher reflection, and next-action hook, with optional evaluation attached.

Instructions

收课——Live 收尾的一次写作动作 (一次判决原则). REFLECT 三段全部必填, 缺任一即拒收: summary (她这节课学了什么——短判词, 不复述课堂过程) / teacher_reflection (薄弱环节, 直白不吹捧) / next_action (下次课的钩子, 具体到下一步该练什么). 这三段学习者会在课文页直接读到——写成给她看的人话, 内部 id (tr_/evt_/snap_ 等) 一律不进正文; 要给判词锚证据, 填 evaluation.evidence_refs (那才是机器引用通道, 服务端验 id 存在与同 pair 归属)。id 只有一个归宿: evidence_refs (2026-07-26 口径收窄——agent_observation 已在学习者折叠区可见, 不再是纯内账, 故原"写内账或 evidence_refs"的二选一作废)。 可选 evaluation 随行——同一次调用把这场的现场评估一并落库 (等价于紧接着调 record_live_evaluation, 一场一评, 已有场评时不覆盖), 收课+场评从此是一次动作, 不必分两笔写两段长文. status → completed, awaiting_role → none, ended_at 只在首次完成时打. 幂等: session 已是 completed 时重复调用不再改 session, 原样回执 "已于 <首次 ended_at> 完成, 本次为幂等重放, 未改动", ended_at 保留首次值 (带 evaluation 且该场还没有场评时, 场评仍会补写). 收课握手: 调用前确认——学习者最后一题已单独判过 (对错+点评自成回合), 且她已明确表态收课; 顶着未判的消息、或没等她点头就 complete, 违反 live-teaching 红线. 下课铃机器门禁: 本场必须已有学习者收课宣告 (learner_close_declared_at, 她在 Live 房内亲手按的下课铃)——未宣告时本工具 CONFLICT 拒收官; 若她已口头表示结束, 请引导其按下 Live 房内的下课铃后再收官 (铃响会追加 live.learner_close_declared 事件, live_wait/live_pending 都看得见). cancel 不受此门 (取消≠收官).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
summaryYes必填, 非空——她这节课学了什么: 短判词, 不复述过程。**学习者在课文页直接读这一段**: 写人话不写机器词, 内部 id 不进正文——需要锚到具体对话条目时, 把 id 填进 evaluation.evidence_refs (机器引用通道), 判词本身保持可读。
evaluationNo可选——收课同笔写入这场的现场评估 (一次判决原则: 收课+场评一次动作)。字段与 record_live_evaluation 相同 (live_session_id 自动取本场)。该场已有场评时幂等返回既有那条, 不覆盖。
session_idYes
next_actionYes必填, 非空——下次课的钩子, 具体到下一步该练什么。**学习者在课文页直接读这一段**: 写人话, 内部 id 不进正文 (要锚证据填 evaluation.evidence_refs)。
idempotency_keyNo可选。幂等键 (建议 uuid) —— 同一 key 重放此调用返回首次结果, 不重复写入. 网络重试/断线重连时带上同一个 key, 而不是猜"上次到底写没写".
teacher_reflectionYes必填, 非空——薄弱环节, 直白不吹捧。**学习者在课文页直接读这一段**: 写人话, 内部 id 不进正文 (要锚证据填 evaluation.evidence_refs)。
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully discloses behavioral traits: idempotency ('session 已是 completed 时重复调用不再改 session...回执...'), status transitions ('status → completed, awaiting_role → none, ended_at 只在首次完成时打'), evaluation overwrite semantics ('已有场评时不覆盖'), and conflict behavior. It even explains historical rule changes (2026-07-26 口径收窄), ensuring the agent knows exactly what side effects to expect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a dense, single-paragraph wall of text, but it is front-loaded with the core purpose and every sentence carries critical operational information (required fields, learner visibility, ID policy, idempotency, preconditions, gate). It could be improved with bullets or section headers, but there is little fluff; the historical note about 2026-07-26 is slightly meta but clarifies a rule change, so a 4 is appropriate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (stateful session completion, optional nested evaluation, idempotency, hard preconditions) and lack of both annotations and an output schema, the description is remarkably complete. It covers success behavior, failure modes (CONFLICT), idempotent replay details, side effects on session fields, and how to verify prerequisites. The description fully equips an agent to invoke the tool correctly and know what to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is high (83%), so the baseline is 3, but the description adds significant parameter-level meaning beyond the schema: it emphasizes that all three REFLECT fields are mandatory and rejection occurs if any is missing, clarifies that internal IDs must never appear in the text and only belong in evaluation.evidence_refs, and explains the evaluation object's relationship to record_live_evaluation. This goes beyond the schema's descriptions, warranting a 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with '收课——Live 收尾的一次写作动作' (closing a session—a single writing action at the end of Live), which clearly identifies the verb (complete/finalize), resource (live session), and purpose. It also distinguishes from siblings by noting 'cancel 不受此门 (取消≠收官)' and explicitly equates the optional evaluation to a separate call to record_live_evaluation, making the tool's unique role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use guidance: it lists prerequisites ('调用前确认——学习者最后一题已单独判过...且她已明确表态收课'), a hard gate ('必须已有学习者收课宣告...未宣告时本工具 CONFLICT 拒收官'), and exclusion ('cancel 不受此门'). It also tells the agent what to do if the learner has only verbally ended (guide them to press the bell), and references alternative tools like record_live_evaluation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sf-shenfeng/learn-shell'

If you have feedback or need assistance with the MCP directory API, please join our Discord server