Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions docs/decisions/0001-agent-run-response.md
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ public string? ModelId { get; set; }
```

- **PROS**: Agent response types can evolve separately. Types can still resemble MEAI response types to ensure a fimilar experience for developers.
- **CONS**: No automatic inheritence of new properties from MEAI. (this might also be a pro)
- **CONS**: No automatic inheritance of new properties from MEAI. (this might also be a pro)

## Long Running Processes Options

Expand Down Expand Up @@ -355,7 +355,7 @@ public class ChatFinishReason
```

- **PROS**: Fits well into existing `ChatResponse` design.
- **CONS**: More complex for users to extract the required long running result (can be mitigated with extenion methods)
- **CONS**: More complex for users to extract the required long running result (can be mitigated with extension methods)

### Option 2: Add another property on responses for AgentRun

Expand Down
2 changes: 1 addition & 1 deletion docs/decisions/0008-python-subpackages.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ The goal is to design a subpackage structure for the Python agent framework that
- makes developer package management more complex, because that meta-extra will include both GA and non-GA packages, so during dev they could use that, but then during prod they have to figure out which one they actually need and make a change in their dependencies, leading to mismatches between dev and prod.
6. Make all imports happen from `agent_framework.connectors` (or from two or three groups `agent_framework.chat_clients`, `agent_framework.context_providers`, or something similar) while the underlying code comes from different packages.
* Pros:
- best developer experience, since all imports are from the same place and it is easy to find what you need, and we can raise a meaningfull error with which extra to install.
- best developer experience, since all imports are from the same place and it is easy to find what you need, and we can raise a meaningful error with which extra to install.
- easier for users to find and install the right package.
* Cons:
- larger overhead in maintaining the `__init__.py` files that do the lazy loading and error handling.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -646,7 +646,7 @@ agent = client.create_agent(

There are two ways we can do this:
1. Before writing to storage in `after_run`, compaction is called on the new messages,
combined with: a new `compact` method, that reads the full history, calls the compaction strategy with the full history, then writes the compacted result back to storage (also requires a `overwrite` flag on the `save_messages` method). This makes removing old messages from storage a explicit action that the user initiaties instead of being implicitly triggered by `after_run` writes, but it also means compaction strategies only see new messages instead of the full history (unless they read it themselves), the `compact` method could then also have a override for the strategy to use (and/or the tokenizer in case of Variant E1/E2/F1/F2).
combined with: a new `compact` method, that reads the full history, calls the compaction strategy with the full history, then writes the compacted result back to storage (also requires a `overwrite` flag on the `save_messages` method). This makes removing old messages from storage a explicit action that the user initiates instead of being implicitly triggered by `after_run` writes, but it also means compaction strategies only see new messages instead of the full history (unless they read it themselves), the `compact` method could then also have a override for the strategy to use (and/or the tokenizer in case of Variant E1/E2/F1/F2).

```python
class HistoryProvider(ContextProvider):
Expand Down
Loading