You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,6 +23,7 @@ Unlike many agent frameworks that only track the chat history with LLMs in text,
23
23
24
24
25
25
## 🆕 News
26
+
- 📅2025-01-16: TaskWeaver has been enhanced with an experimental role called [Recepta](https://microsoft.github.io/TaskWeaver/blog/reasoning) for its reasoning power.🧠
26
27
- 📅2024-12-23: TaskWeaver has been integrated with the [AgentOps](https://microsoft.github.io/TaskWeaver/docs/observability) for better observability and monitoring.🔍
27
28
- 📅2024-09-13: We introduce the shared memory to store information that is shared between the roles in TaskWeaver. Please check the [memory](https://microsoft.github.io/TaskWeaver/docs/memory) for more details.🧠
28
29
- 📅2024-09-13: We have enhanced the experience feature by allowing static and dynamic experience selection. Please check the [experience](https://microsoft.github.io/TaskWeaver/blog/experience) for more details.📚
@@ -31,7 +32,7 @@ Unlike many agent frameworks that only track the chat history with LLMs in text,
31
32
- 📅2024-03-28: TaskWeaver now offers all-in-one Docker image, providing a convenient one-stop experience for users. Please check the [docker](https://microsoft.github.io/TaskWeaver/docs/usage/docker) for more details.🐳
32
33
- 📅2024-03-27: TaskWeaver now switches to `container` mode by default for code execution. Please check the [code execution](https://microsoft.github.io/TaskWeaver/docs/code_execution) for more details.🐳
33
34
- 📅2024-03-07: TaskWeaver now supports configuration of different LLMs for various components, such as the Planner and CodeInterpreter. Please check the [multi-llm](https://microsoft.github.io/TaskWeaver/docs/llms/multi-llm) for more details.🔗
34
-
-📅2024-03-04: TaskWeaver now supports a [container](https://microsoft.github.io/TaskWeaver/docs/code_execution) mode, which provides a more secure environment for code execution.🐳
35
+
<!-- - 📅2024-03-04: TaskWeaver now supports a [container](https://microsoft.github.io/TaskWeaver/docs/code_execution) mode, which provides a more secure environment for code execution.🐳-->
35
36
<!-- - 📅2024-02-28: TaskWeaver now offers a [CLI-only](https://microsoft.github.io/TaskWeaver/docs/advanced/cli_only) mode, enabling users to interact seamlessly with the Command Line Interface (CLI) using natural language.📟 -->
36
37
<!-- - 📅2024-02-01: TaskWeaver now has a plugin [document_retriever](https://github.com/microsoft/TaskWeaver/blob/main/project/plugins/README.md#document_retriever) for RAG based on a knowledge base.📚 -->
37
38
<!-- - 📅2024-01-30: TaskWeaver introduces a new plugin-only mode that securely generates calls to specified plugins without producing extraneous code.🪡 -->
@@ -54,7 +55,7 @@ Unlike many agent frameworks that only track the chat history with LLMs in text,
54
55
-[x]**Code verification** - TaskWeaver is designed to verify the generated code before execution. It can detect potential issues in the generated code and provide suggestions to fix them.
55
56
-[x]**Easy to use** - TaskWeaver is easy to use with sample plugins, examples and tutorials to help you get started. TaskWeaver offers an open-box experience, allowing users to run it immediately after installation.
56
57
-[x]**Easy to debug** - TaskWeaver is easy to debug with detailed and transparent logs to help you understand the entire process, including LLM prompts, the code generation, and execution process.
57
-
-[x]**Security consideration** - TaskWeaver supports a basic session management to keep different users' data separate. The code execution is separated into different processes to avoid mutal interference.
58
+
-[x]**Security consideration** - TaskWeaver supports a basic session management to keep different users' data separate. The code execution is separated into different processes to avoid mutual interference.
58
59
-[x]**Easy extension** - TaskWeaver is easy to extend to accomplish more complex tasks with multiple agents as the plugins.
please follow the instructions below to complete the task:
8
+
9
+
# Task Instructions
10
+
## Step 1: Extract Employee Data
11
+
Extract the following information from the employee summary:
12
+
- `Employee ID`
13
+
- `Department`
14
+
- `Project Code`
15
+
- `Role`
16
+
- `Manager`
17
+
- `Location`
18
+
19
+
### Employee Summary
20
+
On April 10, 2025, a review was conducted for an employee with ID `E12345`. The employee is part of the `Development` department and is currently assigned to project code `"X987"`. The role held is `"Software Engineer"` under the supervision of manager `"J. Doe."` The primary work location is `"Remote."`
21
+
22
+
## Step 2: Validate the Role
23
+
- Confirm if the role is recognized among the following: Software Engineer, Data Analyst, Project Manager, DevOps Specialist, QA Tester.
24
+
- Check if the role is one of the recognized roles.
25
+
26
+
## Step 3: Construct SQL Query
27
+
Prepare and print the SQL query using the extracted details:
Thought: I can read and comprehend the employee summary to extract the required information.
44
+
Result: the `Employee ID` is `E12345`, the `Department` is `Development`, the `Project Code` is `X987`, the `Role` is `Software Engineer`, the `Manager` is `J. Doe`, and the `Location` is `Remote`.
45
+
send_from: Planner
46
+
send_to: Recepta
47
+
attachment_list:
48
+
- type: plan_reasoning
49
+
content: |-
50
+
The first step is to extract the following information from the employee summary: `Employee ID`, `Department`, `Project Code`, `Role`, `Manager`, `Location`.
51
+
- type: init_plan
52
+
content: |-
53
+
1. extract the following information from the employee summary: `Employee ID`, `Department`, `Project Code`, `Role`, `Manager`, `Location`
54
+
2. validate the role <interactively depends on 1>
55
+
3. construct and print the SQL query using the extracted details <interactively depends on 1>
56
+
4. check the execution result and report the result to the user <interactively depends on 1 and 3>
57
+
- type: plan
58
+
content: |-
59
+
1. extract information from the employee summary
60
+
2. validate the role
61
+
3. construct SQL query using the extracted details
62
+
4. report the result to the user
63
+
- type: current_plan_step
64
+
content: 1. extract information from the employee summary
65
+
- type: stop
66
+
content: InProcess
67
+
- message: Got it! Please go ahead.
68
+
send_from: Recepta
69
+
send_to: Planner
70
+
attachment_list:
71
+
- message: |-
72
+
Thought: I can verify if the role is one of the recognized roles with my pattern matching capability.
73
+
Thought: The recognized roles are `Software Engineer, Data Analyst, Project Manager, DevOps Specialist, QA Tester`.
74
+
Result: The role is `Software Engineer`, which is recognized.
75
+
send_from: Planner
76
+
send_to: Recepta
77
+
attachment_list:
78
+
- type: plan_reasoning
79
+
content: |-
80
+
I have extracted the information from the employee summary. The next step is to verify if the role is one of the recognized roles.
81
+
- type: init_plan
82
+
content: |-
83
+
1. extract the following information from the employee summary: `Employee ID`, `Department`, `Project Code`, `Role`, `Manager`, `Location`
84
+
2. validate the role <interactively depends on 1>
85
+
3. construct and print the SQL query using the extracted details <interactively depends on 1>
86
+
4. check the execution result and report the result to the user <interactively depends on 1 and 3>
87
+
- type: plan
88
+
content: |-
89
+
1. extract information from the employee summary
90
+
2. validate the role
91
+
3. construct SQL query using the extracted details
92
+
4. report the result to the user
93
+
- type: current_plan_step
94
+
content: 2. validate the role
95
+
- type: stop
96
+
content: InProcess
97
+
- message: Got it! Please go ahead.
98
+
send_from: Recepta
99
+
send_to: Planner
100
+
attachment_list:
101
+
- message: |-
102
+
The role is `Software Engineer`, which is recognized.
103
+
104
+
Here is the SQL query using the extracted details:
- Recepta is responsible for helping the Planner to record the reasoning process.
5
+
- When the Planner is reasoning and do not involve any Workers, it must send a message to Recepta to record the reasoning process.
6
+
- When Planner needs to reason in the middle of the task and is not ready to talk to the User, it can send a message to `Recepta` to record the reasoning process and result. The message should be formatted as "Thought 1: reasoning...\nThought 2: reasoning...\n...Result: result...".
7
+
- The reasoning result should be insights or conclusion derived for the task step, NOT a plan or a set of instructions for further action.
0 commit comments