Matt Low
8ddac2f820
An agent is currently a name given to a system prompt and a set of tools which the agent has access to. This resolves the previous issue of the set of configured tools being available in *all* contexts, which wasn't always desired. Tools are now only available when an agent is explicitly requested using the `-a/--agent` flag. Agents are expected to be expanded on: the concept of task-specilized agents (e.g. coding), the ability to define a set of files an agent should always have access to for RAG purposes, etc. Other changes: - Removes the "tools" top-level config structure (though this is expected to come back along with the abillity to define custom tools). - Renamed `pkg/agent` to `pkg/agents`
30 lines
1.5 KiB
Markdown
30 lines
1.5 KiB
Markdown
# TODO
|
|
|
|
- [x] Strip anthropic XML function call scheme from content, to reconstruct
|
|
when calling anthropic?
|
|
- [x] `dir_tree` tool
|
|
- [x] Implement native Anthropic API tool calling
|
|
- [x] Agents - a name given to a system prompt + set of available tools +
|
|
potentially other relevent data (e.g. external service credentials, files for
|
|
RAG, etc), which the user explicitly selects (e.g. `lmcli chat --agent
|
|
code-helper`, `lmcli chat -a financier`).
|
|
- [ ] Specialized agents which have integrations beyond basic tool calling,
|
|
e.g. a coding agent which bakes in efficient code context management
|
|
(only the current state of relevant files get shown to the model in the
|
|
system prompt, rather than having them in the conversation messages)
|
|
- [ ] Agents may have some form of long term memory management (key-value?
|
|
natural lang?).
|
|
- [ ] Support for arbitrary external script tools
|
|
- [ ] Search - RAG driven search of existing conversation "hey, remind me of
|
|
the conversation we had six months ago about X")
|
|
- [ ] Conversation categorization - model driven category creation and
|
|
conversation classification
|
|
|
|
## UI
|
|
- [x] Prettify/normalize tool_call and tool_result outputs so they can be
|
|
shown/optionally hidden in `lmcli view` and `lmcli chat`
|
|
- [ ] User confirmation before calling (some?) tools
|
|
- [ ] Conversation deletion in conversations view
|
|
- [ ] Message deletion, Ctrl+D to delete a message and attach its children to
|
|
its parent, Ctrl+Shift+D to delete a message and its descendents
|