Live data from Hacker News

Bottery – A conversational agent prototyping platform

github.com

1–10 of 75 posts

Re: Bottery – A conversational agent prototyping platform

#2
> (This is not an official Google product)

It appears that Google's policy is that all open source personal projects be hosted under its GitHub account. Thus, I think "Google open sources" is a bit misleading; that implies that it's an official project being used by Google, whereas this just looks like a personal project being hosted by Google due to their requirements.

Re: Bottery – A conversational agent prototyping platform

#3
Creating the rules for it reminds me a little bit of writing a text adventure game from days gone by:

    ...
    name: {
      onEnter: "'What do you want to name your kitten?'",
      exits: "'*' ->respond_to_name name=INPUT",
    },
    respond_to_name: {
      onEnterSay: "The kitten purrs happily, I guess it likes the name #/name#!",
    },
    ...
The readme for it is nice and detailed which I always appreciate and it's turned me onto http://tracery.io/, which I'd not heard of but looks like a lot of fun ("A super-simple tool and language to generate text").

Re: Bottery – A conversational agent prototyping platform

#4
post #2

> (This is not an official Google product) It appears that Google's policy is that all open source personal projects be hosted under its GitHub account. Thus, I think "Google open sources" is a bit misleading; that implies that it's an official project being used by Google, whereas this just looks like a personal project being hosted by Google due to their requirements.

I don't think so. They've released their internal guidelines here: https://opensource.google.com/docs/iarc/

In this case, the person seems to have opted for the easier "go/releasing" route where Google retains the copyright. But that doesn't seem to strictly mandate using GitHub either.

Re: Bottery – A conversational agent prototyping platform

#6

Creating the rules for it reminds me a little bit of writing a text adventure game from days gone by: ... name: { onEnter: "'What do you want to name your kitten?'", exits: "'*' ->respond_to_name name=INPUT", }, respond_to_name: { onEnterSay: "The kitten purrs happily, I guess it likes the name #/name#!", }, ... The readme for it is nice and detailed which I always appreciate and it's turned me onto http://tracery.io…

Well, the README directly mentions Twine, which is an interactive fiction authoring system. Although I believe it is further to the “branching story” end of the spectrum than things like Inform and TADS.

Re: Bottery – A conversational agent prototyping platform

#7
post #5

It's fun using state machines, perfect for bot-making. In learning how to make a Messenger bot, state machine appeared very quickly as the thing to do. Thinking in those terms I would think would be a great way to teach programming.

State machines are a great place to start, but are pretty confining for users. If you've asked a user for some info, they may reasonably want to ask you a question rather than provide that info.

You can often get away with a state machine, but it is definitely not the path to natural conversations.

Re: Bottery – A conversational agent prototyping platform

#9
This is extremely similar to BotSON (https://hubtype.github.io/botSON), but it looks a bit more complex (disclaimer: I'm one of the authors of BotSON). I encourage you to try it and reach me out with comments at eric at hubtype dot com. I'd love to hear some feedback from the HN community =)

Re: Bottery – A conversational agent prototyping platform

#10
Last year, we had built almost the same thing. It's Open Source but unfortunately, haven't added any documentation (will do when I get time) - https://github.com/yak-ai/wild-yak

Lessons learnt:

- Works much better than AI driven bots at the moment

- Don't pretend to do intelligent things. Be just a dumb textbot.

- Force people into selecting options as much as you can

- When accepting data as text, give an example of what they should type

- Fancy Cards and Carousels are crappy UX. Stick to text.

- Super powerful when exposed to semi-technical users. Basically CLI for non-computer folks.

- An effective UI pattern for desktop usecases is to have a messenger pane on the left (or right), and a larger details window next to it. eg: You could say- tickets to Tokyo, and the right pane would display a bunch of options.

Post reply on HN