--- title: "Dialectic Endpoint" description: "An endpoint for easily reasoning about your users" icon: "comments" --- > This guide goes over automatic insights generated by Honcho. An example > of this being used can be found in [Curation Buddy](https://github.com/vintrocode/curation-buddy) Honcho will do automatic reasoning for you to derive facts about users and allow your own agents to use them to reason about the user's needs. There are two aspects to this: 1. Automatic Fact Derivation 2. Dialectic Endpoint ## Automatic Fact Derivation When you are saving conversations in sessions and messages via Honcho an automatic callback is run that will reason about the conversations and store facts in a `collection` named **Honcho**. This is a reserved `collection` specifically for the backend Honcho agent to interact with. These facts are derived asynchonously and automatically as your users interact with your agents. ## Dialectic Endpoint You can make use the automatically derived facts in the `Honcho` collection directly by querying the documents stored in it, but an alternative is to use the *Dialectic Endpoint`. What this is, is an endpoint that allows you to talk to an agent that can automatically take the collection into their context and reason about the users with you. This chat interface is exposed via the `Sessions` object. Belows is some example code on how this works. ```python from honcho import Honcho honcho = Honcho() # Create or get an existing App app = honcho.apps.get_or_create(name="demo-app") # create or get user user = honcho.apps.users.get_or_create(app_id=app.id, name="demo-user") # create a new session session = honcho.apps.users.session.create(app_id=app.id, user_id=user.id) # Talk to the dialectic agent to reason about their needs answer = honcho.apps.users.session.chat(app_id=app.id, user_id=user.id, session_id=session.id, query="What is the user's favorite way of completing the task") ```