I recently discovered AutoGen, and more recently discovered the blog post "AutoGen's Teachable Agents":
https://microsoft.github.io/autogen/blog/2023/10/26/TeachableAgent#example-1---learning-user-info
I am very interested in exploring this capability. I am in the midst of creating a software development crew of agents. Currently I have 4 agents defined, a product owner, frontend dev, backend dev, and a db administrator. Right now, my LLM config is used by all agents, mainly using the new llama3 model (for now, my coding agents will likely get switched to a coding agent).
What I want to explore, and maybe get some feedback/code on is, how can I "teach" my agents from documents that I have stored on my local drive, outside of using a userproxyagent to communicate manually with it? I have separate folders for each agent that contain documents (like PDFs, HTMLs, and TXTs) that contain valuable, doman-specific knowledge about best practises, code examples, and all sorts of good information. For example, the frontend developer folder has 15 books on things like HTML, CSS, React, Svelte, etc. The backend folder has lots of docs on Golang, Python, Node, etc.
I like the idea of "Teachable" agents over RAG agents for this purpose because I want each agent to "learn" the material in the documents I'm providing to become "experts" on the material. I am not simply asking questions or commands of the agent like a typical QA pipeline that RAG offers as a sort of "one shot" deal. I may be off point here, but it seems like "teaching" the agents the material to store in their database to reference makes more sense when it comes to applying its knowledge during its responses/generations.
Let me provide you with the code (attached txt file) as I have it thus far (windows 10, Python 3.11), and maybe someone smarter than I can maybe help to finish it off to get the agent to "learn" what I'm feeding it?
Teachable Agent Architecture