Repository navigation
Replies: 5 comments
|
Some questions I thinkt he chatbot should answer:
|
|
Looping in the FAQ document we built: https://docs.google.com/document/d/1ofcEbVGJOL7CMxcH4FV0toveoZTANGQEyvTbxcs8i2g/edit?tab=t.0 |
|
I think there is an interesting product/architecture question underneath this proposal: are we building a chatbot that answers Tasking Manager questions, or a conversational interface to Tasking Manager itself? Looking at the questions already proposed, I think the latter could eventually be much more useful. The questions seem to fall into different categories: That suggests that RAG should probably be only one source of truth, rather than the architecture around which everything is built. A possible conceptual model: A few things I think are worth defining early1. Authoritative source For every representative question, define where the answer should come from. For example:
This could become part of the evaluation framework rather than evaluating only whether the generated answer sounds good. 2. Identity and authorization Several proposed questions are user-specific. If the assistant can answer "What task do I currently have locked?" or "What teams am I part of?", it needs to understand the user's identity and inherit the appropriate authorization boundaries from Tasking Manager. I think this is an important architectural concern to establish early rather than adding permissions after the chatbot is built. 3. Freshness and provenance There is a big difference between:
and:
The first can use relatively static documentation. The second requires current state. It may therefore be useful for the assistant to distinguish static knowledge, current state, historical information, and derived data, and retain enough provenance/freshness information to avoid presenting stale data as current. 4. Answering vs taking actions Another question I'd clarify early is whether the first version is strictly read-only, or whether the long-term goal includes actions such as opening/locking tasks, joining projects, or requesting help. I would probably keep the initial version read-only and treat actions as a separate capability with explicit confirmation and stronger authorization requirements. 5. Recommendations Questions such as "Which projects match my skill level?" or "Recommend a project based on what I usually map" sound like normal chatbot questions, but they actually require explicit criteria. It may be better to: rather than allowing the LLM to invent the recommendation logic. Evaluation could therefore start with a simple matrixThat would give the project a clearer definition of "grounded" than retrieval accuracy alone. To me, the interesting long-term opportunity is therefore not simply:
but:
The RAG implementation can then evolve underneath that product model rather than defining the product model itself. |
|
I just wanted to weigh in here as I've been working on a JOSM plugin called the HOT Project Companion. There are a lot of features within this, but one which might be interesting (and relevant to this discussion), is a chatbot of sorts that users can ask questions, and it scans the project instructions and finds the answer for them. Obviously, I'm still working on it, but this seemed relevant! :) I'm sure I could also develop it further to include things outside of the project instructions! |
|
One idea I'd like to propose is an AI-assisted review of project instructions before publishing. Rather than having AI write the instructions from scratch or give them a "quality score", it could act as a second reviewer to flag potential gaps that may cause mapper confusion. For example:
Why Guidance Quality MattersRecent discussion on the HOT QA/C Working Group highlights how incomplete instructions directly affect the entire workflow:
Implementation Approach: AI-Assisted Review vs. Curated Wiki CatalogueTo implement better project guidance, we have two complementary approaches to consider: Option A: Grounded AI-Assisted QAInstead of asking a generic AI model whether the text "looks good," the review is grounded in Tasking Manager's accumulated experience, such as:
Example output:
Format: A lightweight MVP provides: We should avoid a numerical score (e.g., "Your instructions are 72% complete"), as instruction quality is contextual and numerical scores create false precision. The project creator remains fully responsible for accepting, editing, or dismissing suggestions. Option B: Curated Wiki/OSM Project CatalogueInstead of feeding raw project data directly into an AI model, we create a curated catalogue of high-quality project examples on the HOT TM Wiki or OSM pages.
Long-Term Feedback LoopBoth approaches feed into a valuable feedback loop: SummaryRather than framing this as "AI-generated project instructions," we should frame it as:
This creates a smaller, more defensible starting point that reduces mapper friction, improves data quality, and supports project creators without taking away human decision-making. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Tasking Manager Chat Assistant
Goal
A chat assistant that answers Tasking Manager questions in natural language, for every role: mappers, validators, project managers, and admins. It works as a Retrieval Augmented Generation (RAG) assistant: answers are grounded in a curated knowledge base, and if the knowledge base doesn't cover something, the assistant should say it doesn't know rather than guess. It should also decline malicious or out of scope requests.
Knowledge base
A corpus built from multiple sources:
Tasking Manager docs, the LearnOSM guides, OSM wiki pages, and the FAQ corpus are already written in natural language, so they should index cleanly. Frontend UI strings and backend docstrings and error messages are also being included, but they're a less reliable source. They're terse fragments written for a different purpose, like labeling a button or documenting a function, rather than composed as an answer to a question. Indexed raw, they may retrieve on keyword overlap but read badly. They likely need a rewrite or enrichment pass, for example expanding "Task is locked for mapping" into a fuller sentence with context, before embedding.
Retrieval and orchestration
Guardrails and evaluation
Challenge
The assistant is only as good as the knowledge base and its ability to retrieve the right information. The hardest part is deciding what end users actually need. A mapper needs to know how to filter tasks to map, not how authentication works. On top of that, creating the knowledge base and keeping it updated and in sync is its own ongoing effort, since the sources span multiple repos with different release cycles, so docs, UI strings, and backend messages can drift out of step with each other.
Open questions
Credits to @ajitstha42 for drafting the discussion and tagging along for the implementation of the feature.
All reactions