Production-grade conversational AI platform with 13 intelligence engines, reinforcement learning, voice synthesis, and autonomous model improvement for Telegram
33 tools with consistent naming (verb_noun pattern) and basic descriptions, but critical gaps in schema completeness and parameter documentation. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization). Input schemas present but parameters lack type definitions in many cases, e.g., get_dialogs has 'limit' with type 'integer' but no min/max constraints; send_message has 'chat_id' accepting ['integer','string'] but no guidance on when to use which. No output schemas documented. Error handling absent, tools return raw API responses without recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk stratification (READ_ONLY, WRITE, DESTRUCTIVE). Parameter descriptions are minimal (avg ~30 chars vs 72 char baseline). No pagination guidance for list tools (get_dialogs, get_chat_members, get_blocked_users). Security concern: no evidence of secret injection for Telegram credentials.
Add a user to a group
Ban a user from a group
Block a user
Delete the photo of a group or channel
Delete a message from a chat
Demote an admin to regular member
Download media from a message
No output schemas documented. LLMs cannot plan downstream tool calls or extract required fields (e.g., does get_dialogs return dialog_id, chat_id, or both?). Breaks tool composition.
Parameter descriptions are minimal (avg 30 chars vs 72 char baseline). E.g., 'limit' lacks min/max constraints; 'chat_id' accepts integer|string but no guidance on when to use which. Ambiguous for LLM parameter selection.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk stratification. LLMs cannot distinguish safe reads from destructive writes without explicit hints.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
Edit a previously sent message
Forward a message to another chat
Get list of blocked users
Get detailed information about a chat or channel
Get members of a group or channel
Get common chats between the bot and a user
Get list of recent conversations/dialogs
Get information about a user, chat, or channel
Get information about the currently authenticated user
Get reactions on a message
Get messages from a specific chat
Get profile photos of a user
Get the online status of a user
Mark all messages in a chat as read
Pin a message in a chat
Promote a user to admin in a group
Add a reaction emoji to a message
Remove a user from a group
Search for messages in a chat
Send a message to a chat
Unblock a previously blocked user
Unpin a message in a chat
Update the description of a group or channel
Update the title of a group or channel
Upload a new photo for a group or channel
Upload and send media to a chat
List tools (get_dialogs, get_chat_members, get_blocked_users) lack pagination guidance. No limit constraints, no total_count or next_cursor in documented output. Large result sets risk context window exhaustion.
No error handling guidance. Tools return raw API responses without recovery hints. E.g., 'User not found' should suggest 'Try search_users() with a partial name.' Agents cannot self-correct.