v0.4.0-alpha
aiola-lab/draxv0.4.0-alphaJan 29, 2025by paulosalem
AI Summary
This alpha release introduces significant structural and functional enhancements to the agent simulation framework. Key improvements include deeper persona specifications, JSON support for agent definitions, and the introduction of reusable 'fragments' and logical propositions. The release warns that API changes may require updates to existing code.
Key Highlights
- Personas now feature deeper specifications including personality traits, preferences, beliefs, and more.
- TinyPerson agents can be defined as JSON files and loaded via `TinyPerson.load_specification()`.
- Introduction of 'fragments' to allow the reuse of persona elements across different agents.
- New LLM-based logical Propositions to facilitate monitoring of agent behavior.
- New Intervention class to allow specification of event-based modifications to simulations.
Breaking Changes
- API has changed in some places, likely breaking some existing programs.
New Features
- Enhanced persona structure with traits, beliefs, and preferences.
- JSON file support for defining and loading TinyPerson agents.
- Reusable persona fragments for code efficiency.
- LLM-based logical Propositions for behavior monitoring.
- Event-based Intervention capabilities.
- Improved submodule organization with dedicated folders.
Full Release Notes
## What's new **[2025-01-29] Release 0.4.0 with various improvements. Some highlights:** - Personas have deeper specifications now, including personality traits, preferences, beliefs, and more. It is likely we'll further expand this in the future. - `TinyPerson`s can now be defined as JSON files as well, and loaded via the `TinyPerson.load_specification()`, for greater convenience. After loading the JSON file, you can still modify the agent programmatically. See the [examples/agents/](./examples/agents/) folder for examples. - Introduces the concept of *fragments* to allow the reuse of persona elements across different agents. See the [examples/fragments/](./examples/fragments/) folder for examples, and the notebook [Political Compass (customizing agents with fragments)](<./examples/Political Compass (customizing agents with fragments).ipynb>) for a demonstration. - Introduces LLM-based logical `Proposition`s, to facilitate the monitoring of agent behavior. - Introduces `Intervention`s, to allow the specification of event-based modifications to the simulation. - Submodules have their own folders now, to allow better organization and growth. **Note: this will likely break some existing programs, as the API has changed in some places.** ## PRs from the community and the core team * allow configuration of Azure OpenAI embedding model by @ewheeler in https://github.com/microsoft/TinyTroupe/pull/59 * Fix spelling and grammatical errors by @terrchen in https://github.com/microsoft/TinyTroupe/pull/19 * Change to use de facto standard for dotenv sample by @webysther in https://github.com/microsoft/TinyTroupe/pull/22 * fix typo, call `semantic_memory` method of agent not self by @ewheeler in https://github.com/microsoft/TinyTroupe/pull/57 * docs: update README.md by @eltociear in https://github.com/microsoft/TinyTroupe/pull/24 * Add `matplotlib` to dependencies by @RektPunk in https://github.com/microsoft/TinyTroupe/pull/33 * variable typo #18 fixed by @rahimbaig28 in https://github.com/microsoft/TinyTroupe/pull/25 * also retry aux_act_once upon TypeError by @ewheeler in https://github.com/microsoft/TinyTroupe/pull/58 * Adds deeper persona structure, including fragments. by @paulosalem in https://github.com/microsoft/TinyTroupe/pull/86 * Merges latest development version into main. by @paulosalem in https://github.com/microsoft/TinyTroupe/pull/90 ## New Contributors * @ewheeler made their first contribution in https://github.com/microsoft/TinyTroupe/pull/59 * @terrchen made their first contribution in https://github.com/microsoft/TinyTroupe/pull/19 * @webysther made their first contribution in https://github.com/microsoft/TinyTroupe/pull/22 * @eltociear made their first contribution in https://github.com/microsoft/TinyTroupe/pull/24 * @RektPunk made their first contribution in https://github.com/microsoft/TinyTroupe/pull/33 * @rahimbaig28 made their first contribution in https://github.com/microsoft/TinyTroupe/pull/25 **Full Changelog**: https://github.com/microsoft/TinyTroupe/compare/v0.3.1-alpha...v0.4.0-alpha