Skip to content

Career Chat Agent

Career management and objectives handling agent.

Overview

The career chat agent is responsible for managing career-related conversations, including objectives and job mapping.

Configuration

  • File: src/chatbot/agentic/agents/career_chat_agent.py
  • Model profile: tenant-configured mini
  • State: CareerChatState

Key Features

  • Career conversation management
  • Objective tracking and updates
  • Job and skill mapping

Recorded profile information

Empty profile categories mean no information is recorded, not that the employee has no skills, experience or development needs. When asked to list skills, the agent reports the recorded skills and omits unrequested empty categories. For example, a profile containing Python and empty Top Skills and Skills Gap lists can be summarized as "Your profile lists Python as a skill." If the user asks about gaps explicitly, the agent can say that none are recorded in the profile, without claiming that the person has no actual skill gaps. If all three lists are empty and the user asks only about recorded skills, "Your platform profile has no skills recorded" is sufficient. The agent does not enumerate the other empty categories; equivalent concise wording is valid.

Conversational continuation

Career exploration is a coaching request: the assistant can provide a brief reflection framework without first asking the user to choose an assistant service. The coaching-streaming evaluations accept either a direct answer or one targeted profile lookup to check relevant current information. Profile access is optional; unrelated tools and repeated retrieval remain invalid. If the profile is unavailable, general guidance can continue without invented personal facts. For a policy question with no accessible knowledge source, evaluation also accepts one optional basic-profile lookup for relevant context such as location. It does not replace policy evidence. The answer still explains the unavailable source and asks a useful contextual follow-up in ordinary text, without an interaction that cannot resume a knowledge search. Already known details are not asked again; unrelated categories, repeated retrieval and invented policies remain invalid. Substantive coaching and explanations end with one concrete invitation, asking for a relevant detail, experience or priority to work on together. Longer responses use a separate short final paragraph. In short responses, the invitation may share the paragraph with the guidance if the next conversational step remains clear. A few reflection questions may remain in the body; the closing invitation identifies one starting point rather than asking the user to answer the entire list. A generic offer of help alone is insufficient.

A necessary clarification already provides the next conversational step. No extra invitation is appended to verbatim tool or Knowledge Base answers, transactional confirmations, or a user's closing or pause. The same prompt applies to streaming and ordinary responses through the configured mini profile.

If a reply to a clarification still leaves several possible topics, the agent uses request_clarification_tool with concrete choices before calling a business tool in interactive HTTP chat. The same rule applies to an ambiguous uploaded document versus platform-profile source. Other transports ask conversationally. For example, after learning allowance and internal mobility have both been mentioned, "Can you tell me more about that?" still requires a topic choice. Avoiding a repeated question does not authorize searching both topics or announcing a search.

Source selection takes priority over profile and document retrieval instructions. For example, when both an uploaded CV and an outdated platform profile are under discussion, "Analyze my profile" triggers one interaction asking which source to use before either is retrieved. A statement that the profile is outdated does not itself select the CV. An explicit current or earlier choice proceeds directly with the selected source; an unrelated attachment does not make a clear platform profile request ambiguous. An unavailable selected source is not silently replaced.

An explicitly personal CV does not require a preliminary question about whether it contains client information. Without concrete context indicating a client document or a client-work request, the agent reads the selected CV directly. The restriction on actual client documents and client-work assistance remains in force; the mere possibility of client-related content is not a blocking ambiguity.

The source question retains the generic answer, skip and cancel actions. Skipping a required source selection finishes the request without choosing a source or repeating the question; cancellation also performs no source retrieval. The API and frontend interaction contract remain unchanged. Streaming action selection owns blocking clarification, while the final response phase retains ordinary coaching questions and contextual follow-ups about an unavailable source.