[PR #869] [MERGED] add enhancing_function_agent strategy. #1230

Closed
opened 2026-02-22 17:51:56 -05:00 by yindo · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/langgenius/dify-plugins/pull/869
Author: @GraySilver
Created: 7/6/2025
Status: Merged
Merged: 7/7/2025
Merged by: @crazywoola

Base: mainHead: main


📝 Commits (1)

  • 05904b0 add enhancing_function_agent strategy.

📊 Changes

1 file changed (+0 additions, -0 deletions)

View changed files

allenyzx/enhancing_function_agent/enhancing_function_agent.difypkg (+0 -0)

📄 Description

Plugin Submission Form

1. Metadata

2. Submission Type

  • New plugin submission
  • Version update for existing plugin

3. Description

A Practical Agent Strategy, partially referencing the logic from EASYTOOL: Enhancing LLM-based Agents with Concise Tool Instruction. Code implementation is based on Microsoft's EASYTOOL

Features:

Task Planning

Decomposes complex user queries into independently executable atomic subtasks. Generates structured task lists ({"Tasks": [...]}) via LLM, each containing:

  1. Naturally described atomic task;
  2. Unique task ID identifier;
  3. Ensured task integrity and self-consistency.

Task Topology

Constructs a logical dependency graph among tasks:

  1. Analyzes task execution order and dependencies;
  2. Outputs topological structure in [{"task":..., "id":..., "dep":[...]}] format;
  3. Supports multi-level dependency handling (list/string/integer format conversion);
  4. Built-in error retry mechanism (max 5 attempts).

Choose Tool

Matches optimal tools for subtasks:

  1. Dynamically selects tools based on descriptions (tool_dic) and task requirements;
  2. Outputs results in [{"ID": XX}] format;
  3. Filters out used tools to avoid duplication;
  4. Ensures stability via error retry mechanism.

Tool Check

Intelligently determines if tool invocation is required:

  1. Realtime detection (mandatory for time-sensitive data);
  2. Data retrieval detection (needs for structured data like IDs/locations/rankings);
  3. External resource detection (requires database/web search).
    Outputs decision basis as {"Reason":..., "Choice":"Yes/No"}.

4. Checklist

  • I have read and followed the Publish to Dify Marketplace guidelines
  • I have read and comply with the Plugin Developer Agreement
  • I confirm my plugin works properly on both Dify Community Edition and Cloud Version
  • I confirm my plugin has been thoroughly tested for completeness and functionality
  • My plugin brings new value to Dify

5. Documentation Checklist

Please confirm that your plugin README includes all necessary information:

  • Step-by-step setup instructions
  • Detailed usage instructions
  • All required APIs and credentials are clearly listed
  • Connection requirements and configuration details
  • Link to the repository for the plugin source code

6. Privacy Protection Information

Based on Dify Plugin Privacy Protection Guidelines:

Data Collection

Privacy Policy

  • I confirm that I have prepared and included a privacy policy in my plugin package based on the Plugin Privacy Protection Guidelines

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/langgenius/dify-plugins/pull/869 **Author:** [@GraySilver](https://github.com/GraySilver) **Created:** 7/6/2025 **Status:** ✅ Merged **Merged:** 7/7/2025 **Merged by:** [@crazywoola](https://github.com/crazywoola) **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (1) - [`05904b0`](https://github.com/langgenius/dify-plugins/commit/05904b0f6144782f6c35bf4c8c02827786d66914) add enhancing_function_agent strategy. ### 📊 Changes **1 file changed** (+0 additions, -0 deletions) <details> <summary>View changed files</summary> ➕ `allenyzx/enhancing_function_agent/enhancing_function_agent.difypkg` (+0 -0) </details> ### 📄 Description # Plugin Submission Form ## 1. Metadata <!-- Please provide the following metadata of your plugin to make it easier for the reviewer to check the changes. - Plugin Author : The author of the plugin which is defined in your manifest.yaml - Plugin Name : The name of the plugin which is defined in your manifest.yaml - Repository URL: The URL of the repository where the source code of your plugin is hosted --> - **Plugin Author**: allenyzx - **Plugin Name**: 0.0.1 - **Repository URL**: https://github.com/GraySilver/enhancing_function_agent ## 2. Submission Type - [x] New plugin submission - [ ] Version update for existing plugin ## 3. Description <!-- Please briefly describe the purpose of the new plugin or the updates made to the existing plugin --> **A Practical Agent Strategy**, partially referencing the logic from [EASYTOOL: Enhancing LLM-based Agents with Concise Tool Instruction](https://arxiv.org/pdf/2401.06201). Code implementation is based on Microsoft's [EASYTOOL](https://github.com/microsoft/JARVIS/tree/main/easytool) ### Features: #### **Task Planning** Decomposes complex user queries into independently executable **atomic subtasks**. Generates structured task lists (`{"Tasks": [...]}`) via LLM, each containing: 1. Naturally described atomic task; 2. Unique task ID identifier; 3. Ensured task integrity and self-consistency. #### **Task Topology** Constructs a logical dependency graph among tasks: 1. Analyzes task execution order and dependencies; 2. Outputs topological structure in `[{"task":..., "id":..., "dep":[...]}]` format; 3. Supports multi-level dependency handling (list/string/integer format conversion); 4. Built-in error retry mechanism (max 5 attempts). #### **Choose Tool** Matches optimal tools for subtasks: 1. Dynamically selects tools based on descriptions (`tool_dic`) and task requirements; 2. Outputs results in `[{"ID": XX}]` format; 3. Filters out used tools to avoid duplication; 4. Ensures stability via error retry mechanism. #### **Tool Check** Intelligently determines if tool invocation is required: 1. **Realtime detection** (mandatory for time-sensitive data); 2. **Data retrieval detection** (needs for structured data like IDs/locations/rankings); 3. **External resource detection** (requires database/web search). Outputs decision basis as `{"Reason":..., "Choice":"Yes/No"}`. ## 4. Checklist - [x] I have read and followed the Publish to Dify Marketplace guidelines - [x] I have read and comply with the Plugin Developer Agreement - [x] I confirm my plugin works properly on both Dify Community Edition and Cloud Version - [x] I confirm my plugin has been thoroughly tested for completeness and functionality - [x] My plugin brings new value to Dify ## 5. Documentation Checklist Please confirm that your plugin README includes all necessary information: - [x] Step-by-step setup instructions - [x] Detailed usage instructions - [x] All required APIs and credentials are clearly listed - [x] Connection requirements and configuration details - [x] Link to the repository for the plugin source code ## 6. Privacy Protection Information Based on Dify Plugin Privacy Protection [Guidelines](https://docs.dify.ai/plugins/publish-plugins/publish-to-dify-marketplace/plugin-privacy-protection-guidelines): ### Data Collection <!-- Does your plugin collect any user personal data? If yes, please list what types of user personal data are being collected according to the Plugin Privacy Protection Guidelines (for example: Email address, IP address, Age, etc) --> ### Privacy Policy - [x] I confirm that I have prepared and included a privacy policy in my plugin package based on the Plugin Privacy Protection Guidelines --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
yindo added the pull-request label 2026-02-22 17:51:56 -05:00
yindo closed this issue 2026-02-22 17:51:56 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: langgenius/dify-plugins#1230